CN104166558A - 固件码载入方法、存储器控制器与存储器存储装置 - Google Patents
固件码载入方法、存储器控制器与存储器存储装置 Download PDFInfo
- Publication number
- CN104166558A CN104166558A CN201310182217.4A CN201310182217A CN104166558A CN 104166558 A CN104166558 A CN 104166558A CN 201310182217 A CN201310182217 A CN 201310182217A CN 104166558 A CN104166558 A CN 104166558A
- Authority
- CN
- China
- Prior art keywords
- firmware code
- memory
- copy
- section
- code copy
- 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
Links
Landscapes
- Read Only Memory (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种固件码载入方法、存储器控制器与存储器存储装置,用于从存储器存储装置的可复写式非易失性存储器模块中载入固件码。本方法包括:获取在第一存储器部中存储对应此固件码的第一部分的第一部分固件码副本的存储地址;并且获取在第二存储器部中存储对应次固件码的第二部分的第二部分固件码副本的存储地址。本方法还包括:使用平行模式或交错模式分别地从第一与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器。基于上述,本方法可有效地缩短载入固件码所需的时间。
Description
技术领域
本发明是有关于一种固件码载入方法,且特别有关于固件码载入方法、存储器控制器与存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,促使消费者对存储媒体的需求也急遽增加。由于可复写式非易失性存储器(rewritable non-volatilememory)具有数据非易失性、低耗电、体积小、无机械结构且读写速度快等特性,最适合用在便携式电子产品,例如手机、个人数字助理与笔记本电脑等。因此,近年来,快闪存储器产业成为电子产业中相当热门的一环。
传统上,快闪存储器存储装置的快闪存储器控制器的固件码会存储在快闪存储器控制器内的程序可编程只读存储器(因此一般是无法被修改的),并且在快闪存储器控制器运作时被载入快闪存储器控制器内的静态随机存取存储器(Static Random Access Memory,简称SRAM)中来执行。然而,基于固件码的大小和复杂度越趋增加且改版速度加快,使得固件码也必须能够被更新/修改。为缩小存储装置的尺寸并且方便更新/修改固件码,目前发展出的设计中,技术已经能够将固件码直接存储在存储器存储装置的快闪存储器模块中,并且于快闪存储器存储装置启动时,固件码会被载入至存储器控制器的静态随机存取存储器中。因此,在无需额外配置程序可编程只读存储器的情况下,存储器存储装置的尺寸可有效地被缩小并且其制造成本可有效地被降低。
然而,从快闪存储器模块中读取固件码,会延长快闪存储器存储装置上电后完成初始化所需的时间。特别是,在快闪存储器存储装置作为电子装置(例如,电脑)的主要存储媒体的例子中,使用者会希望电子装置开机所需的时间越短越好。因此,有需要发展一种能够快速载入固件码的方法。
发明内容
本发明提供一种固件码载入方法、存储器控制器与存储器存储装置,其能够快速地载入固件码,缩短电子装置启动的时间。
本发明实施例提出一种固件码载入方法,用于从存储器存储装置的可复写式非易失性存储器模块中载入运行此存储器存储装置的固件码,其中此固件码至少具有多个区段,并且可复写式非易失性存储器模块至少具有第一存储器部与第二存储器部。本固件码载入方法包括:获取在第一存储器部中存储对应该些区段的第一部分的第一部分固件码副本的存储地址;并且获取在第二存储器部中存储对应此些区段的第二部分的第二部分固件码副本的存储地址。本固件码载入方法还包括:使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器。
在本发明的一范例实施例中,上述固件码载入方法还包括:将对应此些区段的第一部分的第一部分固件码副本存储至第一存储器部中;以及将对应此些区段的第二部分的第二部分固件码副本存储至第二存储器部中。
在本发明的一范例实施例中,上述将对应此些区段的第一部分的第一部分固件码副本存储至第一存储器部中的步骤包括:复制整个固件码以产生具有上述第一部分固件码副本的第一固件码副本并且将此第一固件码副本存储至第一存储器部中,其中第一固件码副本具有相同于此些区段的多个区段副本。并且,上述将对应此些区段的第二部分的第二部分固件码副本存储至第二存储器部中的步骤包括:复制整个固件码以产生具有第二部分固件码副本的第二固件码副本并且将此第二固件码副本存储至第二存储器部中,其中第二固件码副本具有相同于此些区段的多个区段副本。
在本发明的一范例实施例中,上述使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器的步骤包括:从第一存储器部的第一实体程序化单元中读取第一固件码副本的区段副本中的第一区段副本,同时从第二存储器部的第二实体程序化单元中读取第二固件码副本的区段副本中的第二区段副本,其中第一区段副本是对应固件码的区段之中的第一区段,第二区段副本是对应固件码的区段之中的第二区段,并且在固件码中第二区段是接续第一区段。
在本发明的一范例实施例中,上述使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至该缓冲存储器的步骤包括:从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本,其中上述固件码的区段的第一部分为连续的多个区段并且上述固件码的区段的第二部分为连续的多个区段。
在本发明的一范例实施例中,上述从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本的步骤包括:下达缓存读取指令以从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时下达缓存读取指令以从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本。
在本发明的一范例实施例中,上述固件码载入方法还包括:将第一存储器部与第二存储器部的实体抹除单元逻辑地至少分组为数据区、闲置区与系统区。数据区的实体抹除单元存储来自于主机系统的使用者数据,闲置区的实体抹除单元替换数据区的实体抹除单元来存储更新使用者数据,系统区的实体抹除单元存储系统数据且系统区的实体抹除单元无法被主机系统来存取。
在本发明的一范例实施例中,上述将第一固件码副本存储至第一存储器部中的步骤包括将第一固件码副本存储至属于第一存储器部且属于系统区的至少一实体抹除单元中,并且上述将第二固件码副本存储至第二存储器部中的步骤包括:将第二固件码副本存储至属于第二存储器部且属于系统区的至少一实体抹除单元中。
在本发明的一范例实施例中,上述固件码载入方法还包括:将对应上述区段的第一部分的第三部分固件码副本存储至第一存储器部中;以及将对应上述区段的第二部分的第四部分固件码副本存储至第二存储器部中,其中第三部分固件码副本相同于第一部分固件码副本且第四部分固件码副本相同于第二部分固件码副本。
本发明范例实施例提出一种存储器控制器,用于从存储器存储装置的可复写式非易失性存储器模块载入固件码。本存储器控制器包括主机接口、存储器接口、缓冲存储器与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块,其中可复写式非易失性存储器模块至少具有第一存储器部与第二存储器部,上述固件码具有多个区段,对应此些区段的第一部分的第一部分固件码副本被存储至第一存储器部中,并且对应此些区段的第二部分的第二部分固件码副本被存储至第二存储器部中。存储器管理电路电性连接至主机接口、存储器接口与缓冲存储器。存储器管理电路用以在存储器存储装置上电时,获取在第一存储器部中存储第一部分固件码副本的存储地址,获取在第二存储器部中存储第二部分固件码副本的存储地址并且使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器。
在本发明的一范例实施例中,整个固件码会被复制以产生具有第一部分固件码副本的第一固件码副本,第一固件码副本会被存储至第一存储器部中,并且第一固件码副本具有相同于上述区段的多个区段副本。
在本发明的一范例实施例中,整个固件码会被复制以产生具有第二部分固件码副本的第二固件码副本,第二固件码副本会被存储至第二存储器部中,并且第二固件码副本具有相同于上述区段的多个区段副本。
在本发明的一范例实施例中,在所述使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器的运作中,存储器管理电路从第一存储器部的第一实体程序化单元中读取第一固件码副本的区段副本中的第一区段副本,同时从第二存储器部的第二实体程序化单元中读取第二固件码副本的区段副本中的第二区段副本。在此,第一区段副本是对应固件码的区段之中的第一区段,第二区段副本是对应固件码的该些区段之中的第二区段,并且在固件码中第二区段是接续第一区段。
在本发明的一范例实施例中,在上述使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器的运作中,存储器管理电路从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本。在此,固件码的区段的第一部分为连续的多个区段并且固件码的区段的第二部分为连续的多个区段。
在本发明的一范例实施例中,在所述从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本的运作中,存储器管理电路下达缓存读取指令以从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时下达缓存读取指令以从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本。
在本发明的一范例实施例中,上述存储器管理电路还用以将该第一存储器部与该第二存储器部的实体抹除单元逻辑地至少分组为数据区、闲置区与系统区。数据区的实体抹除单元存储来自于主机系统的使用者数据,闲置区的实体抹除单元替换数据区的实体抹除单元来存储更新使用者数据,系统区的实体抹除单元存储系统数据且系统区的实体抹除单元无法被主机系统来存取。
在本发明的一范例实施例中,上述第一固件码副本是被存储在属于第一存储器部且属于系统区的至少一实体抹除单元中,并且上述第二固件码副本是被存储在属于第二存储器部且属于系统区的至少一实体抹除单元中。
在本发明的一范例实施例中,对应此些区段的第一部分的第三部分固件码副本被存储至第一存储器部中并且此第三部分固件码副本相同于第一部分固件码副本。此外,对应此些区段的第二部分的第四部分固件码副本被存储至第二存储器部中并且第四部分固件码副本相同于第二部分固件码副本。
本发明范例实施例提出一种存储器存储装置,其包括连接器、可复写式非易失性存储器模块与存储器控制器。连接器用以电性连接至主机系统。可复写式非易失性存储器模块至少具有第一存储器部与第二存储器部。存储器控制器具有缓冲存储器且电性连接至连接器与可复写式非易失性存储器模块。存储器控制器用以从可复写式非易失性存储器模块载入固件码至缓冲存储器,其中此固件码具有多个区段,对应此些区段的第一部分的第一部分固件码副本被存储至第一存储器部中,并且对应此些区段的第二部分的第二部分固件码副本被存储至第二存储器部中。再者,存储器控制器在存储器存储装置上电时,获取在第一存储器部中存储第一部分固件码副本的存储地址,获取在第二存储器部中存储第二部分固件码副本的存储地址并且使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器。
在本发明的一范例实施例中,在所述使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器的运作中,存储器控制器从第一存储器部的第一实体程序化单元中读取第一固件码副本的区段副本中的第一区段副本,同时从第二存储器部的第二实体程序化单元中读取第二固件码副本的区段副本中的第二区段副本。在此,第一区段副本是对应固件码的区段之中的第一区段,第二区段副本是对应固件码的该些区段之中的第二区段,并且在固件码中第二区段是接续第一区段。
在本发明的一范例实施例中,在上述使用平行模式或交错模式分别地从第一存储器部与第二存储器部中载入第一部分固件码副本与第二部分固件码副本至缓冲存储器的运作中,存储器控制器从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本。在此,固件码的区段的第一部分为连续的多个区段并且固件码的区段的第二部分为连续的多个区段。
在本发明的一范例实施例中,在所述从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本的运作中,存储器控制器下达缓存读取指令以从第一存储器部中读取第一部分固件码副本的区段副本之中的其中一个区段副本,同时下达缓存读取指令以从第二存储器部中读取第二部分固件码副本的区段副本之中的其中一个区段副本。
在本发明的一范例实施例中,上述存储器控制器还用以将该第一存储器部与该第二存储器部的实体抹除单元逻辑地至少分组为数据区、闲置区与系统区。数据区的实体抹除单元存储来自于主机系统的使用者数据,闲置区的实体抹除单元替换数据区的实体抹除单元来存储更新使用者数据,系统区的实体抹除单元存储系统数据且系统区的实体抹除单元无法被主机系统来存取。
基于上述,本范例实施例的固件码载入方法、存储器控制器与存储器存储装置能够有效地提升载入固件码的速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据第一范例实施例所示出的主机系统与存储器存储装置的示意图;
图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据第一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据第一范例实施例所示出的存储器控制器的概要方块图;
图6是根据一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图;
图7与8是根据第一范例实施例所示出的存储固件码的固件码副本于可复写式非易失性存储器模块的示意图;
图9是根据第一范例实施例所示出的载入固件码的示意图;
图10是根据另一范例实施例所示出的载入固件码的示意图;
图11是根据第一范例实施例所示出的固件码载入方法的流程图;
图12与13是根据第二范例实施例所示出的存储固件码的固件码副本于可复写式非易失性存储器模块的示意图;
图14与15是根据另一范例实施例所示出的存储固件码的固件码副本于可复写式非易失性存储器模块的示意图;
图16是根据第二范例实施例所示出的载入固件码的示意图;
图17是根据第二范例实施例所示出的固件码载入方法的流程图。
附图标记说明:
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:可复写式非易失性存储器模块;
172:第一存储器部;
174:第二存储器部;
182:第一数据输入/输出总线;
184:第二数据输入/输出总线;
304(0)~304(R)、306(0)~306(R):实体抹除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:电源管理电路;
210:缓冲存储器;
212:错误检查与校正电路;
402:存储区;
412:数据区;
414:闲置区;
404:系统区;
406:取代区;
710:第一固件码副本;
720:第二固件码副本;
S1101、S1103、S1105:固件码载入方法的步骤;
750:第一部分固件码副本;
760:第二部分固件码副本;
S1701、S1703、S1705:固件码载入方法的步骤。
具体实施方式
第一范例实施例
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据第一范例实施例所示出的主机系统与存储器存储装置的示意图。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output,简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccess memory,简称RAM)1104、系统总线1108与数据传输接口1110。图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的优盘1212、记忆卡1214或固态硬盘(Solid State Drive,简称SSD)1216等的可复写式非易失性存储器存储装置。
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图4是根据第一范例实施例所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
在本范例实施例中,连接器102是兼容于通用串行总线(Universal SerialBus,简称USB)标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,简称IEEE)1394标准、高速外设互联接口(Peripheral ComponentInterconnect Express,简称PCI Express)标准、串行高级技术附件(SerialAdvanced Technology Attachment,简称SATA)标准、安全数码(Secure Digital,简称SD)接口标准、超高速一代(Ultra High Speed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、记忆棒(Memory Stick,简称MS)接口标准、多媒体存储卡(Multi Media Card,简称MMC)接口标准、崁入式多媒体存储卡(Embedded Multimedia Card,简称eMMC)接口标准、通用快闪存储器(Universal Flash Storage,简称UFS)接口标准、小型快闪(Compact Flash,简称CF)接口标准、集成磁盘电子接口(Integrated DeviceElectronics,简称IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以存储主机系统1000所写入的数据。在本范例实施例中,可复写式非易失性存储器模块106包括第一存储器部172与第二存储器部174,其中第一存储器部172具有实体抹除单元304(0)~304(R)并且第二存储器部174具有实体抹除单元306(0)~306(R)。每一实体抹除单元分别具有复数个实体程序化单元,并且属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。例如,每一实体抹除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体抹除单元也可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,复数个存储器部可在一存储器晶粒中或每一存储器晶粒即为一存储器部,亦或复数个存储器晶粒为一存储器部。实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的记忆胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据位元区与冗余位元区。数据位元区包含多个实体存取地址用以存储使用者的数据,而冗余位元区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据位元区中会包含4个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据位元区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,一存储器部为一存储器晶粒,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块106为多阶记忆胞(Multi Level Cell,简称MLC)NAND型快闪存储器模块,即一个记忆胞中可存储至少2个比特数据。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶记忆胞(Single Level Cell,简称SLC)NAND型快闪存储器模块、复数阶记忆胞(Trinary Level Cell,简称TLC)NAND型快闪存储器模块、其他快闪存储器模块或其他具有相同特性的存储器模块。
值得一提的是,尽管在本范例实施例中,是以包括两个存储器晶粒的可复写式非易失性存储器模块106来进行说明,但本发明不限于此。在本发明另一范例实施例中,可复写式非易失性存储器模块106可包括更多存储器晶粒。
在本范例实施例中,存储器控制器104是独立地通过第一数据输入/输出总线182传送数据至第一存储器部172或从第一存储器部172接收数据,并且独立地通过第二数据输入/输出总线184传送数据至第二存储器部174或从第二存储器部174接收数据。特别是,由于第一存储器部172与第二存储器部174是分别地通过独立的数据输入/输出总线电性连接至存储器控制器104,因此,存储器控制器104可以平行模式(parallel mode)来存取第一存储器部172与第二存储器部174,以提升存取速度。例如,存储器控制器104可通过第一数据输入/输出总线182与第二数据输入/输出总线184同时传送读取指令给第一存储器部172与第二存储器部174并同时从第一存储器部172与第二存储器部174接收数据。
值得一提的是,尽管在本范例实施例中,第一存储器部172与第二存储器部174是分别地通过独立的数据输入/输出总线电性连接至存储器控制器104,但本发明不限于此。在本发明另一范例实施例中,第一存储器部172与第二存储器部174也可共同通过一个数据输入/输出总线电性连接至存储器控制器104。特别是,在第一存储器部172与第二存储器部174是共同通过一个数据输入/输出总线电性连接至存储器控制器104的例子中,存储器控制器104可以交错模式(interleave mode)来存取第一存储器部172与第二存储器部174,以提升存取速度。具体来说,从实体程序化单元中读取数据的程序可区分为数据传输(transfer)以及数据读取(read)两个部分。具体来说,当欲从存储器晶粒的实体程序化单元中读取数据时,存储器控制器104首先会下达指令给存储器晶粒。之后,存储器晶粒会进行数据读取以将欲读取的数据放置于缓冲区内。并且在存储器晶粒完成资取读取后,数据会从缓冲区中传输给存储器控制器104。当从实体程序化单元中读取数据期间,存储器晶粒是处于一忙碌(busy)状态。因此,在第一存储器部172与第二存储器部174是共同通过一个数据输入/输出总线电性连接至存储器控制器104的例子中,存储器控制器104可使用交错模式,以利用其中一个存储器晶粒正执行数据读取间通过数据输入/输出总线从另一个存储器晶粒中传输数据。
图5是根据第一范例实施例所示出的存储器控制器的概要方块图。必须了解的是,图5所示的存储器控制器的结构仅为一范例,本发明不以此为限。
请参照图5,存储器控制器104包括存储器管理电路202、主机接口204、存储器接口206与电源管理电路208。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运行此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,记忆胞管理电路用以管理可复写式非易失性存储器模块106的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是兼容于USB标准。然而,必须了解的是本发明不限于此,主机接口204也可以是兼容于PATA标准、IEEE1394标准、PCI Express标准、SATA标准、SD标准、UHS-I接口标准、UHS-II接口标准、MS标准、MMC标准、eMMC接口标准、UFS接口标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
电源管理电路208是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。例如,电源管理电路208包括锁相回路(未示出),用以产生用于存储器控制器104与可复写式非易失性存储器模块106的工作时脉。也就是说,可复写式非易失性存储器控制器104与存储器模块106会依据锁相回路所产生的工作时脉来作动。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器210以及错误检查与校正电路212。
缓冲存储器210是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,简称ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图6是根据一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的实体抹除单元的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图6,存储器控制器104(或存储器管理电路202)会将第一存储器部172的实体抹除单元304(0)~304(R)与第二存储器部174的实体抹除单元306(0)~306(R)逻辑地分组为存储区402、系统区404与取代区406。
逻辑上属于存储区402的实体抹除单元是用以存储主机系统1000所写入的数据。也就是说,存储器控制器104(或存储器管理电路202)会使用分组为存储区402的实体抹除单元来实际地存储主机系统1000所写入的数据。更详细来说,存储器控制器104(或存储器管理电路202)会将存储区402分组为数据区412与闲置区414,其中数据区412的实体抹除单元(也称为数据实体抹除单元)是已存储数据的实体抹除单元,而闲置区414的实体抹除单元(也称为闲置实体抹除单元)是用以替换数据区412的实体抹除单元。因此,闲置区414的实体抹除单元为空或可使用的实体抹除单元,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区414中的实体抹除单元已被执行抹除运作,或者当闲置区414中的实体抹除单元被提取用于存储数据之前所提取的实体抹除单元会被执行抹除运作。因此,闲置区414的实体抹除单元为可被使用的实体抹除单元。具体来说,当一个实体抹除单元从闲置区414中被选择来存储有效数据时,此实体抹除单元会被关联至数据区412。并且,存储器控制器104(或存储器管理电路202)会对在数据区412中所有实体程序化单元所存储的数据皆为无效数据的实体抹除单元执行抹除操作,并且将抹除后的实体抹除单元关联至闲置区414,由此实体抹除单元可轮替地来存储主机系统1000所写入的数据。
逻辑上属于系统区404的实体抹除单元是用以记录系统数据,其中此系统数据包括关于存储器晶片的制造商与型号、存储器晶片的实体抹除单元数、每一实体抹除单元的实体程序化单元数、运行存储器存储装置100的固件码等。
逻辑上属于取代区406中的实体抹除单元是替代实体抹除单元。例如,可复写式非易失性存储器模块106于出厂时会预留4%的实体抹除单元作为更换使用。也就是说,当数据区412、闲置区414与系统区404中的实体抹除单元损毁时,预留于取代区406中的实体抹除单元是用以取代损坏的实体抹除单元(即,坏实体抹除单元(bad physical erasing unit))。因此,倘若取代区406中仍存有正常的实体抹除单元且发生实体抹除单元损毁时,存储器控制器104会从取代区406中提取正常的实体抹除单元来更换损毁的实体抹除单元。倘若取代区406中无正常的实体抹除单元且发生实体抹除单元损毁时,则存储器控制器104会将整个存储器存储装置100宣告为写入保护(write protect)状态,而无法再写入数据。
特别是,存储区402、系统区404与取代区406的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置100的运作中,实体抹除单元关联至存储区402、系统区404与取代区406的分组关系会动态地变动。例如,当存储区402中的实体抹除单元损坏而被取代区406的实体抹除单元取代时,则原本取代区406的实体抹除单元会被关联至存储区402。
如上所述,数据区412与闲置区414的实体抹除单元是以轮替方式来存储主机系统1000所写入的数据。在本范例实施例中,存储器控制器104(或存储器管理电路202)会配置逻辑地址给主机系统1000以进行数据的存取。
每个逻辑地址是由数个扇区(sector)所组成。在本范例实施例中,每一逻辑地址是由4个扇区所组成。但本发明不限于此,在本发明另一范例实施例中,逻辑地址也可是由8个扇区所组成或是由16个扇区所组成。例如,存储器控制器104(或存储器管理电路202)会维护逻辑地址-实体地址映射表来记录逻辑地址与实体程序化单元之间的映射关系。也就是说,已写入有效数据的实体程序化单元会映射至对应的逻辑地址。基于上述,当主机系统1000欲在扇区中存取数据时,存储器控制器104(或存储器管理电路202)会确认此扇区所属的逻辑地址,并且在此逻辑地址所映射的实体程序化单元中来存取数据。
在本范例实施例中,用以运行存储器存储装置100的固件码会被存储在系统区404的实体抹除单元中,并且当存储器存储装置100上电时,存储器控制器104(或存储器管理电路202)会从系统区404的实体抹除单元中将固件码载入至缓冲存储器210来执行以启动存储器存储装置100。
在本范例实施例中,系统区404的两个实体抹除单元会被选取以存储固件码。特别是,用以存储固件码的实体抹除单元是分别属于不同的存储器晶粒。具体来说,在存储器存储装置100的生产过程中,用以运行存储器存储装置100的固件码会预先存放至一开卡装置或者一周边存储装置中,并且在进行开卡程序或此存储器存储装置100运行的过程中,多个固件码副本会根据所预先存放的固件码来产生并且写入至不同的实体抹除单元、存储器部或存储器晶粒中。在一范例实施例中,存储器存储装置100可仅存储多个固件码副本或同时存储有固件码正本与多个固件码副本,且在将固件码载入至缓冲存储器210的运作中,该固件码正本可不被读取,以确保存储器存储装置100保有一正确的版本,在另一范例实施例中,固件码正本或与多个固件码副本皆至少有部份会被读取并载入至缓冲存储器210。在另一范例实施例中,当一固件码副本发生无法校正的错误比特时,存储器存储装置100会由固件码正本或另一固件码副本再复制一份固件码副本以取代此具有无法校正的错误比特的固件码副本。
图7与8是根据第一范例实施例所示出的存储固件码的固件码副本于可复写式非易失性存储器模块的示意图。为了方便说明,在此假设需要6个实体程序化单元来存储固件码。
请参照图7与8,第一固件码副本710会通过复制用以控制存储器存储装置100的整体运作的固件码来产生,并且系统区404中的实体抹除单元304(N+1)会被用来存储第一固件码副本710。此外,第二固件码副本720会通过复制用以控制存储器存储装置100的整体运作的固件码来产生,并且系统区404中的实体抹除单元306(N+1)会被用来存储第二固件码副本720。
在本范例实施例中,可复写式非易失性存储器模块106中存放有对应用以控制存储器存储装置100的整体运作的固件码的两个固件码副本。然而,必须了解的是,在本发明另一范例实施例中,可复写式非易失性存储器模块106中可存放有对应用以控制存储器存储装置100的整体运作的固件码的更多个固件码副本。此外,尽管在本发明范例实施例中,一个固件码副本是通过使用1个实体抹除单元来存储,然而,本发明不限于此,用以存储固件码副本的实体抹除单元的个数会根据固件码副本的大小而有所不同。
第一固件码副本710包括6个区段副本(即,区段副本1A~区段副本6A),并且第一固件码副本710的区段副本是相同于用以控制存储器存储装置100的整体运作的固件码的区段。类似地,第二固件码副本720也包括6个区段副本(即,区段副本1B~区段副本6B),并且第二固件码副本的区段副本是相同于用以控制存储器存储装置100的整体运作的固件码的区段。也就是说,第一固件码副本的区段副本1A~区段副本6A是分别地相同于第二固件码副本的区段副本1B~区段副本6B。
在本范例实施例中,第一固件码副本710与第二固件码副本720是分别存储在配置独立数据输入/输出总线的存储器晶粒(即,第一存储器部172与第二存储器部174)中。特别是,当存储器存储装置100上电时,存储器控制器104(或存储器管理电路202)会获取在第一存储器部中存储对应第一固件码副本的存储地址,获取在第二存储器部中存储对应第二部分固件码副本的存储地址并且以平行模式通过第一数据输入/输出总线182与第二数据输入/输出总线184从第一存储器部172与第二存储器部174分别地载入固件码副本的不同部分,由此缩短载入固件码所需的时间。
图9是根据第一范例实施例所示出的载入固件码的示意图。
请参照图9,首先,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本1A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本2B载入至缓冲存储器210中。之后,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本3A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本4B载入至缓冲存储器210中。最后,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本5A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本6B载入至缓冲存储器210中,由此,完成固件码的载入。在此例子中,对应固件码的区段副本会被依序地被载入至缓冲存储器210中。也就是说,从第一存储器部172所载入的区段副本(统称为第一部分固件码副本)与从第二存储器部174所载入的区段副本(统称为第二部分固件码副本)是被交错排列。特别是,第一存储器部172与第二存储器部174是通过第一数据输入/输出总线182与第二数据输入/输出总线184分别地电性连接至存储器控制器104,因此,存储器控制器104(或存储器管理电路202)可以平行模式同时下达读取指令来同步读取。基于上述,区段副本1A与区段副本2B是被同步从可复写式非易失性存储器模块106载入至缓冲存储器210;区段副本3A与区段副本4B是被同步从可复写式非易失性存储器模块106载入至缓冲存储器210;并且区段副本5A与区段副本6B是被同步从可复写式非易失性存储器模块106载入至缓冲存储器210,由此载入固件码的速度可大幅地被提升。
图10是根据另一范例实施例所示出的载入固件码的示意图。
请参照图10,首先,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本1A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本4B载入至缓冲存储器210中。之后,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本2A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本5B载入至缓冲存储器210中。最后,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本3A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本6B载入至缓冲存储器210中,由此,完成固件码的载入。在此例子中,固件码的区段会被分组为连续的第一部分区段与连续的第二部分区段,对应第一部分区段的区段副本是从第一存储器部172中来载入并且对应第一部分区段的区段副本是从第二存储器部174中来载入。也就是说,从第一存储器部172所载入的区段副本(统称为第一部分固件码副本)是连续的并且从第二存储器部174所载入的区段副本(统称为第二部分固件码副本)也是连续的。特别是,在此例子中,由于从第一存储器部172中读取的区段副本是存储于连续的实体地址中并且从第二存储器部174中读取的区段副本是存储于连续的实体地址,因此,除了以平行模式来同步读取之外,存储器控制器104(或存储器管理电路202)还可利用缓存读取指令(cache read command)来更提升读取速度。
图11是根据第一范例实施例所示出的固件码载入方法的流程图。
请参照图11,在步骤S1101中,第一固件码副本710会通过复制固件码来被产生并且所产生的第一固件码副本710会被存储至第一存储器部172中。
在步骤S1103中,第二固件码副本720会通过复制固件码来被产生并且所产生的第二固件码副本720会被存储至第二存储器部174中。
在步骤S1105中,在存储器存储装置100上电时,对应固件码的一部分的区段副本(即,第一部分固件码副本)与对应固件码的另一部分的区段副本(即,第二部分固件码副本)会利用平行模式分别地从第一存储器部172与第二存储器部174中被载入至缓冲存储器210。载入区段副本的方法已配合图9与图10详细描述如上,在此不再重复说明。
第二范例实施例
在第二范例实施例的固件码载入方法也是使用平行模式来从多个存储器晶粒中载入对应的区段,其与第一范例实施例的差异之处在于,第二范例实施例的第一存储器部与第二存储器部分别仅存储有对应部分的固件码的固件码副本。以下将使用第一范例实施例的硬件元件来说明第二范例实施例。
图12与13是根据第二范例实施例所示出的存储固件码的固件码副本于可复写式非易失性存储器模块的示意图。为了方便说明,在此假设需要6个实体程序化单元来存储固件码。
请参照图12与13,第一部分固件码副本750会通过复制用以控制存储器存储装置100的整体运作的固件码的一局部来产生,并且系统区404中的实体抹除单元304(N+1)会被用来存储第一部分固件码副本750。此外,第二部分固件码副本760会通过复制用以控制存储器存储装置100的整体运作的固件码的另一局部来产生,并且系统区404中的实体抹除单元306(N+1)会被用来存储第二部分固件码副本760。
在本范例实施例中,可复写式非易失性存储器模块106仅存放有一份第一部分固件码副本750与一份第二部分固件码副本760,然,本发明不限于此。例如,在另一范例实施例中,图14与15是根据另一范例实施例所示出的存储固件码的固件码副本于可复写式非易失性存储器模块的示意图。如图14与15所示,实体抹除单元304(N+1)可存储两份第一部分固件码副本750,并且实体抹除单元306(N+1)可存储两份第二部分固件码副本760,由此避免因记忆胞损毁而遗失固件码。
类似地,在本范例实施例中,在存储器存储装置100上电时,存储器控制器104(或存储器管理电路202)会先扫描可复写式非易失性存储器模块106,用以获取在第一存储器部中存储对应第一部分固件码副本750的存储地址,及获取在第二存储器部中存储第二部分固件码副本760的存储地址,此等存储地址可先存储于缓冲存储器210。当要载入固件码时,存储器控制器104可利用平行模式分别地从第一存储器部172与第二存储器部174中将第一部分固件码副本750与第二部分固件码副本760载入至缓冲存储器210。
图16是根据第二范例实施例所示出的载入固件码的示意图。
请参照图16,首先,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本1A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本4B载入至缓冲存储器210中。之后,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本2A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本5B载入至缓冲存储器210中。最后,存储器控制器104(或存储器管理电路202)会从第一存储器部172的实体抹出单元304(N+1)中将区段副本3A载入至缓冲存储器210,同时从第二存储器部174的实体抹出单元306(N+1)中将区段副本6B载入至缓冲存储器210中,由此,完成固件码的载入。也就是说,第一部分固件码副本的区段副本是从第一存储器部172被载入,而第二部分固件码副本的区段副本是从第二存储器部174被载入。特别是,第一存储器部172与第二存储器部174是通过第一数据输入/输出总线182与第二数据输入/输出总线184分别地电性连接至存储器控制器104,因此,存储器控制器104(或存储器管理电路202)可以平行模式同时下达缓存读取指令来同步读取。基于上述,区段副本1A与区段副本2B是被同步从可复写式非易失性存储器模块106载入至缓冲存储器210;区段副本3A与区段副本4B是被同步从可复写式非易失性存储器模块106载入至缓冲存储器210;并且区段副本5A与区段副本6B是被同步从可复写式非易失性存储器模块106载入至缓冲存储器210,由此载入固件码的速度可大幅地被提升。
图17是根据第二范例实施例所示出的固件码载入方法的流程图。
请参照图17,在步骤S1701中,第一部分固件码副本750会通过复制固件码的一局部来被产生并且所产生的第一部分固件码副本750会被存储至第一存储器部172中。
在步骤S1703中,第二部分固件码副本760会通过复制固件码的另一局部来被产生并且所产生的第二部分固件码副本760会被存储至第二存储器部174中。
在步骤S1705中,在存储器存储装置100上电时,第一部分固件码副本750与第二部分固件码副本760会利用平行模式分别地从第一存储器部172与第二存储器部174中被载入至缓冲存储器210。载入区段副本的方法已配合图11详细描述如上,在此不再重复说明。
综上所述,上述范例实施例的固件码载入机制是通过将多个固件码或局部固件码的备份存储于多个存储器晶粒中并且通过平行读取来缩短载入固件码所需的时间。基于上述,此些范例实施例的固件码载入方法及使用此方法的存储器控制器与存储器存储装置能够有效地提升载入固件码的速度。特别是,在存储器存储装置用作为电脑的主要硬盘的应用中,此些范例实施例的固件码载入方法及使用此方法的存储器控制器与存储器存储装置能够有效地缩短开机所需的时间。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (22)
1.一种固件码载入方法,用于从一存储器存储装置的一可复写式非易失性存储器模块中载入运行该存储器存储装置的一固件码,其特征在于,该固件码至少具有多个区段,该可复写式非易失性存储器模块至少具有一第一存储器部与一第二存储器部,该固件码载入方法包括:
获取在该第一存储器部中存储对应该些区段的一第一部分的一第一部分固件码副本的一存储地址;
获取在该第二存储器部中存储对应该些区段的一第二部分的一第二部分固件码副本的一存储地址;以及
使用一平行模式或一交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至一缓冲存储器。
2.根据权利要求1所述的固件码载入方法,其特征在于,还包括:
将对应该些区段的该第一部分的该第一部分固件码副本存储至该第一存储器部中;以及
将对应该些区段的该第二部分的该第二部分固件码副本存储至该第二存储器部中。
3.根据权利要求2所述的固件码载入方法,其特征在于,上述将对应该些区段的该第一部分的该第一部分固件码副本存储至该第一存储器部中的步骤包括:复制整个该固件码以产生一第一固件码副本并且将该第一固件码副本存储至该第一存储器部中,其中该第一固件码副本具有相同于该些区段的多个区段副本,其中该第一固件码副本具有该第一部分固件码副本,
其中上述将对应该些区段的该第二部分的该第二部分固件码副本存储至该第二存储器部中的步骤包括:复制整个该固件码以产生一第二固件码副本并且将该第二固件码副本存储至该第二存储器部中,其中该第二固件码副本具有相同于该些区段的多个区段副本,其中该第二固件码副本具有该第二部分固件码副本。
4.根据权利要求3所述的固件码载入方法,其特征在于,所述使用该平行模式或该交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至该缓冲存储器的步骤包括:
从该第一存储器部的一第一实体程序化单元中读取该第一固件码副本的该些区段副本中的一第一区段副本,同时从该第二存储器部的一第二实体程序化单元中读取该第二固件码副本的该些区段副本中的一第二区段副本,
其中该第一区段副本是对应该固件码的该些区段之中的一第一区段,该第二区段副本是对应该固件码的该些区段之中的一第二区段,并且在该固件码中该第二区段是接续该第一区段。
5.根据权利要求3所述的固件码载入方法,其特征在于,所述使用该平行模式或该交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至该缓冲存储器的步骤包括:
从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本,
其中该固件码的该些区段的该第一部分为连续的多个区段并且该固件码的该些区段的该第二部分为连续的多个区段。
6.根据权利要求5所述的固件码载入方法,其特征在于,所述从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本的步骤包括:
下达一缓存读取指令以从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时下达该缓存读取指令以从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本。
7.根据权利要求3所述的固件码载入方法,其特征在于,还包括:
将该第一存储器部与该第二存储器部的实体抹除单元逻辑地至少分组为一数据区、一闲置区与一系统区,
其中该数据区的实体抹除单元存储来自于一主机系统的一使用者数据,该闲置区的实体抹除单元替换该数据区的实体抹除单元来存储一更新使用者数据,并且该系统区的实体抹除单元用以存储一系统数据且该系统区的实体抹除单元无法被该主机系统来存取,
其中上述将该第一固件码副本存储至该第一存储器部中的步骤包括:将该第一固件码副本存储至属于该第一存储器部且属于该系统区的至少一实体抹除单元中,
其中上述将该第二固件码副本存储至该第二存储器部中的步骤包括:将该第二固件码副本存储至属于该第二存储器部且属于该系统区的至少一实体抹除单元中。
8.根据权利要求2所述的固件码载入方法,其特征在于,还包括:
将对应该些区段的该第一部分的一第三部分固件码副本存储至该第一存储器部中,其中该第三部分固件码副本相同于该第一部分固件码副本;以及
将对应该些区段的该第二部分的一第四部分固件码副本存储至该第二存储器部中,其中该第四部分固件码副本相同于该第二部分固件码副本。
9.一种存储器控制器,用于从一存储器存储装置的一可复写式非易失性存储器模块载入一固件码,其特征在于,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块至少具有一第一存储器部与一第二存储器部,该固件码具有多个区段,对应该些区段的一第一部分的一第一部分固件码副本被存储至该第一存储器部中,并且对应该些区段的一第二部分的一第二部分固件码副本被存储至该第二存储器部中;
一缓冲存储器;以及
一存储器管理电路,电性连接至该主机接口、该存储器接口与该缓冲存储器,其中该存储器管理电路用以在该存储器存储装置上电时,获取在该第一存储器部中存储对应该些区段的该第一部分的该第一部分固件码副本的一存储地址,获取在该第二存储器部中存储对应该些区段的该第二部分的该第二部分固件码副本的一存储地址并且使用一平行模式或一交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至该缓冲存储器。
10.根据权利要求9所述的存储器控制器,其特征在于,整个该固件码会被复制以产生一第一固件码副本,该第一固件码副本会被存储至该第一存储器部中,并且该第一固件码副本具有相同于该些区段的多个区段副本,其中该第一固件码副本具有该第一部分固件码副本,
其中整个该固件码会被复制以产生一第二固件码副本,该第二固件码副本会被存储至该第二存储器部中,并且该第二固件码副本具有相同于该些区段的多个区段副本,其中该第二固件码副本具有该第二部分固件码副本。
11.根据权利要求10所述的存储器控制器,其特征在于,在所述使用该平行模式或该交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至该缓冲存储器的运作中,该存储器管理电路从该第一存储器部的一第一实体程序化单元中读取该第一固件码副本的该些区段副本中的一第一区段副本,同时从该第二存储器部的一第二实体程序化单元中读取该第二固件码副本的该些区段副本中的一第二区段副本,
其中该第一区段副本是对应该固件码的该些区段之中的一第一区段,该第二区段副本是对应该固件码的该些区段之中的一第二区段,并且在该固件码中该第二区段是接续该第一区段。
12.根据权利要求10所述的存储器控制器,其特征在于,在所述使用该平行模式或该交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至该缓冲存储器的运作中,该存储器管理电路从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本,
其中该固件码的该些区段的该第一部分为连续的多个区段并且该固件码的该些区段的该第二部分为连续的多个区段。
13.根据权利要求12所述的存储器控制器,其特征在于,在所述从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本的运作中,该存储器管理电路下达一缓存读取指令以从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时下达该缓存读取指令以从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本。
14.根据权利要求10所述的存储器控制器,其特征在于,该存储器管理电路还用以将该第一存储器部与该第二存储器部的实体抹除单元逻辑地至少分组为一数据区、一闲置区与一系统区,
其中该数据区的实体抹除单元存储来自于一主机系统的一使用者数据,该闲置区的实体抹除单元替换该数据区的实体抹除单元来存储一更新使用者数据,该系统区的实体抹除单元存储一系统数据且该系统区的实体抹除单元无法被该主机系统来存取,
其中上述该第一固件码副本是被存储在属于该第一存储器部且属于该系统区的至少一实体抹除单元中,
其中上述该第二固件码副本是被存储在属于该第二存储器部且属于该系统区的至少一实体抹除单元中。
15.根据权利要求9所述的存储器控制器,其特征在于,对应该些区段的该第一部分的一第三部分固件码副本被存储至该第一存储器部中并且该第三部分固件码副本相同于该第一部分固件码副本,
其中对应该些区段的该第二部分的一第四部分固件码副本被存储至该第二存储器部中并且该第四部分固件码副本相同于该第二部分固件码副本。
16.一种存储器存储装置,其特征在于,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,至少具有一第一存储器部与一第二存储器部;以及
一存储器控制器,具有一缓冲存储器且电性连接至该连接器与该可复写式非易失性存储器模块,
其中该存储器控制器用以从该可复写式非易失性存储器模块载入一固件码至该缓冲存储器,其中该固件码具有多个区段,对应该些区段的一第一部分的一第一部分固件码副本被存储至该第一存储器部中,并且对应该些区段的一第二部分的一第二部分固件码副本被存储至该第二存储器部中,
其中该存储器控制器在该存储器存储装置上电时,获取在该第一存储器部中存储对应该些区段的该第一部分的该第一部分固件码副本的一存储地址,获取在该第二存储器部中存储对应该些区段的该第二部分的该第二部分固件码副本的一存储地址并且使用一平行模式或一交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至该缓冲存储器。
17.根据权利要求16所述的存储器存储装置,其特征在于,整个该固件码会被复制以产生一第一固件码副本,该第一固件码副本会被存储至该第一存储器部中,并且该第一固件码副本具有相同于该些区段的多个区段副本,其中该第一固件码副本具有该第一部分固件码副本,
其中整个该固件码会被复制以产生一第二固件码副本,该第二固件码副本会被存储至该第二存储器部中,并且该第二固件码副本具有相同于该些区段的多个区段副本,其中该第二固件码副本具有该第二部分固件码副本。
18.根据权利要求17所述的存储器存储装置,其特征在于,在所述使用该平行模式或该交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至该缓冲存储器的运作中,该存储器控制器从该第一存储器部的一第一实体程序化单元中读取该第一固件码副本的该些区段副本中的一第一区段副本,同时从该第二存储器部的一第二实体程序化单元中读取该第二固件码副本的该些区段副本中的一第二区段副本,
其中该第一区段副本是对应该固件码的该些区段之中的一第一区段,该第二区段副本是对应该固件码的该些区段之中的一第二区段,并且在该固件码中该第二区段是接续该第一区段。
19.根据权利要求17所述的存储器存储装置,其特征在于,在所述使用该平行模式或该交错模式分别地从该第一存储器部与该第二存储器部中载入该第一部分固件码副本与该第二部分固件码副本至该缓冲存储器的运作中,该存储器控制器从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本,
其中该固件码的该些区段的该第一部分为连续的多个区段并且该固件码的该些区段的该第二部分为连续的多个区段。
20.根据权利要求19所述的存储器存储装置,其特征在于,在所述从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本的运作中,该存储器控制器下达一缓存读取指令以从该第一存储器部中读取该第一部分固件码副本的该些区段副本之中的其中一个区段副本,同时下达该缓存读取指令以从该第二存储器部中读取该第二部分固件码副本的该些区段副本之中的其中一个区段副本。
21.根据权利要求17所述的存储器存储装置,其特征在于,该存储器控制器还用以将该第一存储器部与该第二存储器部的实体抹除单元逻辑地至少分组为一数据区、一闲置区与一系统区,
其中该数据区的实体抹除单元存储来自于一主机系统的一使用者数据,该闲置区的实体抹除单元替换该数据区的实体抹除单元来存储一更新使用者数据,该系统区的实体抹除单元存储一系统数据且该系统区的实体抹除单元无法被该主机系统来存取,
其中上述该第一固件码副本是被存储在属于该第一存储器部且属于该系统区的至少一实体抹除单元中,
其中上述该第二固件码副本是被存储在属于该第二存储器部且属于该系统区的至少一实体抹除单元中。
22.根据权利要求16所述的存储器存储装置,其特征在于,对应该些区段的该第一部分的一第三部分固件码副本被存储至该第一存储器部中并且该第三部分固件码副本相同于该第一部分固件码副本,
其中将对应该些区段的该第二部分的一第四部分固件码副本被存储至该第二存储器部中并且该第四部分固件码副本相同于该第二部分固件码副本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310182217.4A CN104166558B (zh) | 2013-05-16 | 2013-05-16 | 固件码载入方法、存储器控制器与存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310182217.4A CN104166558B (zh) | 2013-05-16 | 2013-05-16 | 固件码载入方法、存储器控制器与存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104166558A true CN104166558A (zh) | 2014-11-26 |
CN104166558B CN104166558B (zh) | 2018-06-15 |
Family
ID=51910392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310182217.4A Active CN104166558B (zh) | 2013-05-16 | 2013-05-16 | 固件码载入方法、存储器控制器与存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104166558B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731674A (zh) * | 2015-02-02 | 2015-06-24 | 北京忆恒创源科技有限公司 | 使用mlc nvm存储电子系统固件的方法与设备 |
CN105868046A (zh) * | 2015-01-22 | 2016-08-17 | 深圳市硅格半导体有限公司 | 存储装置中管理、写入及加载固件代码的方法 |
CN114416147A (zh) * | 2022-01-21 | 2022-04-29 | 深圳宏芯宇电子股份有限公司 | 固件载入方法、存储器及计算机可读存储介质 |
CN114510438A (zh) * | 2022-02-25 | 2022-05-17 | 深圳宏芯宇电子股份有限公司 | 装置控制方法与移动存储装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510689A (zh) * | 2002-12-26 | 2004-07-07 | 丽台科技股份有限公司 | 闪存的数据写入与读取方法及电路 |
US20060064538A1 (en) * | 2004-09-22 | 2006-03-23 | Kabushiki Kaisha Toshiba | Memory controller, memory device and control method for the memory controller |
CN101494086A (zh) * | 2008-01-24 | 2009-07-29 | 群联电子股份有限公司 | 快闪存储器储存装置、快闪存储器控制器及其切换方法 |
CN101996140A (zh) * | 2009-08-12 | 2011-03-30 | 群联电子股份有限公司 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
CN102800357A (zh) * | 2011-05-27 | 2012-11-28 | 群联电子股份有限公司 | 程序码载入与存取方法、存储器控制器与存储器储存装置 |
-
2013
- 2013-05-16 CN CN201310182217.4A patent/CN104166558B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510689A (zh) * | 2002-12-26 | 2004-07-07 | 丽台科技股份有限公司 | 闪存的数据写入与读取方法及电路 |
US20060064538A1 (en) * | 2004-09-22 | 2006-03-23 | Kabushiki Kaisha Toshiba | Memory controller, memory device and control method for the memory controller |
CN101494086A (zh) * | 2008-01-24 | 2009-07-29 | 群联电子股份有限公司 | 快闪存储器储存装置、快闪存储器控制器及其切换方法 |
CN101996140A (zh) * | 2009-08-12 | 2011-03-30 | 群联电子股份有限公司 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
CN102800357A (zh) * | 2011-05-27 | 2012-11-28 | 群联电子股份有限公司 | 程序码载入与存取方法、存储器控制器与存储器储存装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868046A (zh) * | 2015-01-22 | 2016-08-17 | 深圳市硅格半导体有限公司 | 存储装置中管理、写入及加载固件代码的方法 |
CN105868046B (zh) * | 2015-01-22 | 2018-11-13 | 深圳市硅格半导体有限公司 | 存储装置中管理、写入及加载固件代码的方法 |
CN104731674A (zh) * | 2015-02-02 | 2015-06-24 | 北京忆恒创源科技有限公司 | 使用mlc nvm存储电子系统固件的方法与设备 |
CN114416147A (zh) * | 2022-01-21 | 2022-04-29 | 深圳宏芯宇电子股份有限公司 | 固件载入方法、存储器及计算机可读存储介质 |
CN114510438A (zh) * | 2022-02-25 | 2022-05-17 | 深圳宏芯宇电子股份有限公司 | 装置控制方法与移动存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104166558B (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9122498B2 (en) | Firmware code loading method, memory controller and memory storage apparatus | |
CN104102585A (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
CN104679437A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104765568A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN104732153A (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN103377129A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103544115A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN103593296A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103678162A (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN104166558A (zh) | 固件码载入方法、存储器控制器与存储器存储装置 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103577344A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103984635A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102467459B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |