CN102646448B - 用于非易失性内存的数据写入方法、控制器与储存装置 - Google Patents

用于非易失性内存的数据写入方法、控制器与储存装置 Download PDF

Info

Publication number
CN102646448B
CN102646448B CN201110041979.3A CN201110041979A CN102646448B CN 102646448 B CN102646448 B CN 102646448B CN 201110041979 A CN201110041979 A CN 201110041979A CN 102646448 B CN102646448 B CN 102646448B
Authority
CN
China
Prior art keywords
page
data
logical
write
block
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.)
Active
Application number
CN201110041979.3A
Other languages
English (en)
Other versions
CN102646448A (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 CN201110041979.3A priority Critical patent/CN102646448B/zh
Publication of CN102646448A publication Critical patent/CN102646448A/zh
Application granted granted Critical
Publication of CN102646448B publication Critical patent/CN102646448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Read Only Memory (AREA)

Abstract

本发明公开了一种用于非易失性内存的数据写入方法、控制器与储存装置,其中这些实体区块被分组为多个实体单元。本方法包括根据主机系统所传送的指令与工作频率切换内存储存装置的速度模式为第一速度模式或第二速度模式。本方法也包括,当速度模式为第一速度模式时,选择第一写入模式来将此数据写入至这些实体单元中。本方法还包括,当速度模式为第二速度模式时,选择第二写入模式来将此数据写入至这些实体单元中。基此,本方法可有效地缩短执行来自于主机系统的写入指令的时间。

Description

用于非易失性内存的数据写入方法、控制器与储存装置
技术领域
本发明是有关于一种用于可复写式非易失性内存模块的数据写入方法及使用此方法的内存控制器与内存储存装置。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性内存(rewritablenon-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记型计算机。固态硬盘就是一种以闪存作为储存媒体的储存装置。因此,近年闪存产业成为电子产业中相当热门的一环。
闪存储存系统具有多个实体区块(physical block),且每一实体区块具有多个实体页面(physical page),其中在实体区块中写入数据时必须依据实体页面的顺序依序地写入数据。此外,已被写入数据的实体页面必需先被抹除后才能再次用于写入数据。特别是,实体区块为抹除的最小单位,并且实体页面为程序化(也称写入)的最小单元。因此,在闪存储存系统的管理中,实体区块会被区分为数据区与闲置区。
数据区的实体区块是用以储存主机系统所储存的数据。具体来说,内存管理电路会将主机系统所存取的逻辑存取地址转换为逻辑区块的逻辑页面并且将逻辑区块的逻辑页面映像至数据区的实体区块的实体页面。也就是说,闪存模块的管理上数据区的实体区块是被视为已被使用的实体区块(例如,已储存主机系统所写入的数据)。例如,内存管理电路会使用逻辑区块-实体区块映像表来记载逻辑区块与数据区的实体区块的映像关系,其中逻辑区块中的逻辑页面是依序的对应所映像的实体区块的实体页面。
闲置区的实体区块是用以轮替数据区中的实体区块。具体来说,如上所述,已写入数据的实体区块必须被抹除后才可再次用于写入数据,而闲置区的实体区块是被设计用于写入更新数据以替换原先映像逻辑区块的实体区块。基此,在闲置区中的实体区块为空或可使用的区块,即无记录数据或标记为已没用的无效数据。特别是,在闪存储存系统是由多个闪存子模块所组成的例子中,属于不同闪存子模块的实体区块会被分组为多个实体单元并且闪存模块的管理会以实体单元为单位,由此提升数据存取的速度。具体来说,一个实体单元是由属于不同闪存子模块的多个实体区块所组成,因此,位于不同闪存子模块的实体区块可以平行或交错方式来写入数据,由此可大幅提升写入数据的速度。
如上所述,由数据区的实体单元与闲置区的实体单元是以轮替方式来以储存主机系统所写入的数据。为了能够让主机系统能够顺利地存取以轮替方式储存数据的实体单元,闪存储存系统会提供逻辑单元并且将主机系统所存取的逻辑存取地址对应至这些逻辑单元内的逻辑区块的逻辑页面。具体来说,闪存储存系统会将主机所存取的逻辑存取地址转换至对应的逻辑单元,并且通过在逻辑单元-实体单元映像表(logical unit-physical unitmapping table)中记录与更新逻辑单元与数据区的实体单元之间的映像关系来反映实体单元的轮替。所以,主机仅需依据逻辑存取地址进行存取,而闪存储存系统会依据逻辑单元-实体单元映像表在所映像的实体单元上进行数据的读取或写入。
具体来说,当主机系统欲将数据储存于一逻辑存取地址时,闪存储存系统的控制电路会识别此逻辑存取地址所属的逻辑单元,从闲置区中提取一实体单元并且将新数据会写入至从闲置区中提取的实体单元(也称为子实体单元),以替换原先映像此逻辑单元的实体单元(也称为母实体单元)。在此,一个逻辑单元映像母实体单元和子实体单元的运作称为开启母子区块。之后,当主机系统欲写入数据至另一个逻辑单元时,闪存储存系统必须进行数据合并程序,以将目前映像母实体单元和子实体单元的逻辑单元的有效数据合并(即,将属于此逻辑单元的数据都合并至一个实体单元中)。
例如,在数据合并过程中,闪存储存系统会将母实体单元内的有效数据复制到子实体单元,并且将此逻辑单元重新映像至子实体单元(即,此子实体单元将被关联至数据区)。此外,闪存储存系统会将原本数据区的母实体单元进行抹除并关联至闲置区。
随着一个逻辑单元的容量越来越大并且主机系统频繁地仅更新一个逻辑单元的前面部分逻辑页面的数据时,闪存储存系统必须花费很长的时间来进行上述数据合并程序以执行下一个写入指令,由此,会造成延迟执行写入指令的时间并且闪存储存系统的效能低落。因此,如何缩短执行写入指令所需的时间,是此领域技术人员所致力的目标。
发明内容
本发明提供一种数据写入方法、控制器与内存储存装置,其能够根据不同的数据传输速度模式来使用不同的数据写入模式,以缩短执行写入指令的时间。
本发明提出一种数据写入方法,用于写入数据至内存储存装置的可复写式非易失性内存模块,可复写式非易失性内存模块包括多个实体区块,每一实体区块具有依序排列的多个实体页面并且这些实体区块被分组为多个实体单元。本数据写入方法包括配置多个逻辑单元以映像部分的这些实体单元,其中每一逻辑单元具有多个逻辑页面,并且这些逻辑单元之中的一第一逻辑单元原始地映像这些实体单元之中的一第一实体单元。本数据写入方法也包括接收来自一主机系统的一指令,依据此指令取得一工作频率并且根据此工作频率切换对应此内存储存装置的速度模式为一第一速度模式或一第二速度模式。本数据写入方法也包括,当速度模式为第一速度模式时,选择第一写入模式来将此数据写入至这些实体单元之中的一第二实体单元。本数据写入方法还包括,当速度模式为第二速度模式时,选择第二写入模式来将此数据写入至这些实体单元之中的第二实体单元。
在本发明的一实施例中,上述的第一速度模式为预设速度模式(DefaultSpeed Mode)并且第二速度模式为超高速模式(Ultra High Speed Mode)。
在本发明的一实施例中,上述的数据写入方法还包括:将此数据整理成多个页面数据,其中这些页面数据属于上述第一逻辑单元。在上述第一写入模式中,这些页面数据被写入至第二实体单元的实体区块中的其中一个实体区块的实体页面中。此外,在第二写入模式中,这些页面数据被写入至第二实体单元的实体区块之中的多个实体区块的实体页面中。
在本发明的一实施例中,上述的第二实体单元是由这些实体区块之中的第一实体区块、第二实体区块、第三实体区块与第四实体区块所组成。上述的选择第一写入模式来将数据写入至第二实体单元中的步骤包括:将这些页面数据之中属于该第一逻辑单元的一第零逻辑页面的页面数据写入至第一实体区块的第零实体页面中;将这些页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至第二实体区块的第零实体页面;将属于第一逻辑单元的第m逻辑页面的页面数据从第一实体单元中搬移至第三实体区块的第零实体页面;以及将属于第一逻辑单元的第(m+1)逻辑页面的页面数据从第一实体单元中搬移至第四实体区块的第零实体页面,其中m是根据式(1)计算:
m=K/2+1                                    (1)
其中K表示第一逻辑单元的逻辑页面的数目。
在本发明的一实施例中,上述的第二实体单元是由这些实体区块之中的第一实体区块、第二实体区块、第三实体区块与第四实体区块所组成。上述的选择第二写入模式来将数据写入至第二实体单元中的步骤包括:将这些页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面;将这些页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至第二实体区块的第零实体页面;将这些页面数据之中属于第一逻辑单元的第二逻辑页面的页面数据写入至第三实体区块的第零实体页面;以及将这些页面数据之中属于第一逻辑单元的第三逻辑页面的页面数据写入至第四实体区块的第零实体页面。
在本发明的一实施例中,上述的第二实体单元是由这些实体区块之中的第一实体区块与第二实体区块所组成。上述的选择第一写入模式来将数据写入至第二实体单元中的步骤包括:将这些页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面;以及将属于此第一逻辑单元的第m逻辑页面的页面数据从第一实体单元中搬移至第二实体区块的第零实体页面,其中m是根据式(1)计算:
m=K/2+1                                        (1)
其中K表示第一逻辑单元的逻辑页面的数目。
在本发明的一实施例中,上述的第二实体单元是由这些实体区块之中的第一实体区块与第二实体区块所组成。上述的选择第二写入模式来将数据写入至第二实体单元中的步骤包括:将这些页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面;以及将这些页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至第二实体区块的第零实体页面。
在本发明的一实施例中,上述的根据工作频率切换对应内存储存装置的速度模式为第一速度模式或第二速度模式的步骤包括:标记一标注,以记录对应速度模式为第一速度模式或第二速度模式。
本发明范例实施例提出一种内存控制器,用于控一可复写式非易失性内存模块,其中此可复写式非易失性内存模块具有多个实体区块,并且每一实体区块具有依序排列的多个实体页面。本内存控制器包括主机接口、内存接口与内存管理电路。主机接口用以耦接至主机系统并且接收一数据。内存接口用以耦接至可复写式非易失性内存模块。内存管理电路耦接至主机接口与内存接口,并且将所述实体区块分组为多个实体单元并且配置多个逻辑单元以映像部分的实体单元,其中每一逻辑单元具有多个逻辑页面,并且所述逻辑单元之中的一第一逻辑单元原始地映像所述实体单元之中的一第一实体单元。此外,内存管理电路还用以接收来自主机系统的指令,依据此指令取得工作频率并且根据此工作频率切换对应主机接口的速度模式为一第一速度模式或一第二速度模式。另外,当速度模式为第一速度模式时,内存管理电路选择第一写入模式来将上述数据写入至所述实体单元之中的第二实体单元。再者,当速度模式为第二速度模式时,内存管理电路选择第二写入模式来将上述数据写入至所述实体单元之中的第二实体单元。
在本发明的一实施例中,上述的内存管理电路还用以将上述数据整理成多个页面数据,其中所述页面数据属于第一逻辑单元。在上述第一写入模式中,内存管理电路将所述页面数据写入至第二实体单元的实体区块之中的其中一个实体区块的实体页面中。在上述第二写入模式中,内存管理电路将所述页面数据写入至第二实体单元的实体区块之中的多个实体区块的实体页面中。在本发明的一实施例中,上述的第二实体单元是由所述实体区块之中的第一实体区块、第二实体区块、第三实体区块与第四实体区块所组成。在上述第一写入模式中,内存管理电路将所述页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面,将所述页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至此第二实体区块的第零实体页面,将属于第一逻辑单元的第m逻辑页面的页面数据从第一实体单元中搬移至第三实体区块的第零实体页面并且将属于第一逻辑单元的第(m+1)逻辑页面的页面数据从第一实体单元中搬移至第四实体区块的第零实体页面,其中m是根据式(1)计算:
m=K/2+1                                    (1)
其中K表示第一逻辑单元的逻辑页面的数目。
在本发明的一实施例中,上述的第二实体单元是由所述实体区块之中的第一实体区块、第二实体区块、第三实体区块与第四实体区块所组成。在上述第二写入模式中,内存管理电路将所述页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面,将所述页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至第二实体区块的第零实体页面,将所述页面数据之中属于第一逻辑单元的第二逻辑页面的页面数据写入至第三实体区块的第零实体页面并且将所述页面数据之中属于第一逻辑单元的第三逻辑页面的页面数据写入至第四实体区块的第零实体页面。
在本发明的一实施例中,上述的第二实体单元是由所述实体区块之中的第一实体区块与第二实体区块所组成。在上述的第一写入模式中,内存管理电路将所述页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面并且将属于第一逻辑单元的第m逻辑页面的页面数据从第一实体单元中搬移至第二实体区块的第零实体页面,其中m是根据式(1)计算:
m=K/2+1                                        (1)
其中K表示第一逻辑单元的逻辑页面的数目。
在本发明的一实施例中,上述的第二实体单元是由所述实体区块之中的第一实体区块与第二实体区块所组成。在上述的第二写入模式中,内存管理电路将所述页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面并且将所述页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至第二实体区块的第零实体页面。
在本发明的一实施例中,上述的内存管理电路标记一标记,以记录上述的速度模式为第一速度模式或第二速度模式。
本发明范例实施例提出一种内存储存装置,其包括连接器、可复写式非易失性内存模块与内存控制器。连接器用以耦接至主机系统并且接收数据。可复写式非易失性内存模块具有多个实体区块,其中每一实体区块具有依序排列的多个实体页面。内存控制器耦接至连接器与可复写式非易失性内存模块。内存控制器用以将所述实体区块分组为多个实体单元并且配置多个逻辑单元以映像部分的实体单元,其中每一逻辑单元具有多个逻辑页面,并且所述逻辑单元之中的一第一逻辑单元原始地映像所述实体单元之中的一第一实体单元。内存控制器更用接收来自主机系统的一指令,依据此指令取得一工作频率并且根据此工作频率切换对应该连接器的一速度模式为一第一速度模式或一第二速度模式。当速度模式为第一速度模式时,内存控制器选择第一写入模式来将数据写入至所述实体单元之中的第二实体单元。此外,当速度模式为第二速度模式时,内存控制器选择第二写入模式来将数据写入至所述实体单元之中的第二实体单元。在本发明之一实施例中,上述之内存控制器还用以将上述数据整理成多个页面数据,其中所述页面数据属于上述第一逻辑单元。在第一写入模式中,内存控制器将所述页面数据写入至第二实体单元的实体区块之中的其中一个实体区块的实体页面中。此外,在第二写入模式中,内存控制器将上述页面数据写入至第二实体单元的实体区块之中的多个实体区块的实体页面中。
在本发明的一实施例中,上述的第二实体单元是由所述实体区块之中的第一实体区块、第二实体区块、第三实体区块与第四实体区块所组成。在上述第一写入模式中,内存控制器将所述页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面,将所述页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至第二实体区块的第零实体页面,将属于第一逻辑单元的第m逻辑页面的页面数据从第一实体单元中搬移至第三实体区块的第零实体页面并且将属于第一逻辑单元的第(m+1)逻辑页面的页面数据从第一实体单元中搬移至第四实体区块的第零实体页面,其中m是根据式(1)计算:
m=K/2+1                                (1)
其中K表示第一逻辑单元的逻辑页面的数目。
在本发明的一实施例中,上述的第二实体单元是由所述实体区块之中的第一实体区块、第二实体区块、第三实体区块与第四实体区块所组成。在上述第二写入模式中,内存控制器将所述页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面,将所述页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至第二实体区块的第零实体页面,将所述页面数据之中属于第一逻辑单元的第二逻辑页面的页面数据写入至此第三实体区块的第零实体页面并且将所述页面数据之中属于第一逻辑单元的第三逻辑页面的页面数据写入至第四实体区块的第零实体页面。
在本发明之一实施例中,上述之第二实体单元是由所述实体区块之中的第一实体区块与第二实体区块所组成。在上述第一写入模式中,内存控制器将所述页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面并且将属于第一逻辑单元的第m逻辑页面的页面数据从第一实体单元中搬移至第二实体区块的第零实体页面,其中m是根据式(1)计算:
m=K/2+1                                    (1)
其中K表示第一逻辑单元的逻辑页面的数目。
在本发明的一实施例中,上述的第二实体单元是由所述实体区块之中的第一实体区块与第二实体区块所组成。在上述第二写入模式中,内存控制器将所述页面数据之中属于第一逻辑单元的第零逻辑页面的页面数据写入至第一实体区块的第零实体页面并且将所述页面数据之中属于第一逻辑单元的第一逻辑页面的页面数据写入至第二实体区块的第零实体页面。
在本发明的一实施例中,上述的内存控制器标记一标记,以记录对应上述的速度模式为第一速度模式或第二速度模式。
基于上述,本发明实施例的数据写入方法与系统以及内存控制器能够根据不同的数据传输速度模式(例如,预设速度模式与超高速模式)来使用不同的数据写入模式,以缩短执行写入指令的时间并且提升内存储存装置的效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本发明第一实施例所示的主机系统与内存储存装置。
图1B是根据本发明实施例所示的计算机、输入/输出装置与内存储存装置的示意图。
图1C是根据本发明另一实施例所示的主机系统与内存储存装置的示意图。
图2是图1A所示的内存储存装置的概要方块图。
图3是根据本发明第一实施例所示的内存控制器的概要方块图。
图4是根据本发明第一实施例所示的可复写式非易失性内存模块的概要方块图。
图5A、5B与5C是根据本发明第一实施例所示的管理实体区块的示意图。
图6~图8是根据本发明第一实施例所示的写入数据至可复写式非易失性内存模块的范例。
图9是根据本发明第一实施例所示的以第一写入模式执行写入指令的范例。
图10是根据本发明第一实施例所示的以第二写入模式执行写入指令的范例。
图11是根据本发明第一实施例所示的数据写入方法的流程图。
图12是根据本发明第二实施例所示的可复写式非易失性内存模块的内存子模块的示意图。
图13A与13B是根据本发明第二实施例所示的管理实体区块的示意图。
图14是根据本发明第二实施例所示的以第一写入模式执行写入指令的范例。
图15是根据本发明第二实施例所示的以第二写入模式执行写入指令的范例。
结合附图,本发明实施例中附图标记如下:
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:错误检查与校正电路
310、310′:第一内存子模块
320、320′:第二内存子模块
312:第一内存子模块的第一区块面
314:第一内存子模块的第二区块面
316、326:数据总线
322:第二内存子模块的第一区块面
324:第二内存子模块的第二区块面
410(0)~410(N)、420(0)~420(N)、430(0)~430(N)、440(0)~440(N):实体区块
502:系统区
504:数据区
506:闲置区
508:取代区
610(D)~610(R-1):实体单元
710(0)~710(H):逻辑区块
OD0~OD511、UD0~UD323:页面数据
S1101、S1103、S1105、S1107、S1109:数据写入的步骤
610′(D)~610′(R-1):实体单元
710′(0)~710′(H):逻辑单元
具体实施方式
第一实施例
一般而言,内存储存装置(也称,内存储存系统)包括可复写式非易失性内存模块与控制器(也称,控制电路)。通常内存储存装置是与主机系统一起使用,以使主机系统可将数据写入至内存储存装置或从内存储存装置中读取数据。
图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的运作可将数据写入至内存储存装置100或从内存储存装置100中读取数据。例如,内存储存装置100可以是如图1B所示的随身碟1212、记忆卡1214或固态硬盘(Solid State Drive,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是兼容于安全数字(Secure Digital,SD)接口标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,PCI Express)标准、序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准、通用序列总线(Universal Serial Bus,USB)标准、记忆棒(Memory Stick,MS)接口标准、多媒体储存卡(MultiMedia Card,MMC)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其它适合的标准。
内存控制器104用以执行以硬件型式或韧体型式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非易失性内存模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性内存模块106是耦接至内存控制器104,并且用以储存主机系统1000所写入的数据。在本实施例中,可复写式非易失性内存模块106为多阶记忆胞(Multi Level Cell,MLC)NAND闪存模块。然而,本发明不限于此,可复写式非易失性内存模块106也可是单阶记忆胞(SingleLevel Cell,SLC)NAND闪存模块、其它闪存模块或其它具有相同特性的内存模块。
图3是根据本发明第一实施例所示的内存控制器的概要方块图。
请参照图3,内存控制器104包括内存管理电路202、主机接口204与内存接口206。
内存管理电路202用以控制内存控制器104的整体运作。具体来说,内存管理电路202具有多个控制指令,并且在内存储存装置100运作时,这些控制指令会被执行以进行数据的写入、读取与抹除等运作
在本实施例中,内存管理电路202的控制指令是以韧体型式来实作。例如,内存管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且这些控制指令是被烧录至此只读存储器中。当内存储存装置100运作时,这些控制指令会由微处理器单元来执行。
在本发明另一实施例中,内存管理电路202的控制指令也可以程序代码型式储存于可复写式非易失性内存模块106的特定区域(例如,系统区)中。此外,内存管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取内存(未示出)。特别是,此只读存储器具有驱动码段,并且当内存控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性内存模块106中的控制指令加载至内存管理电路202的随机存取内存中。的后,微处理器单元会运转这些控制指令以进行数据的写入、读取与抹除等运作。此外,在本发明另一实施例中,内存管理电路202的控制指令也可以一硬件型式来实作。
主机接口204是耦接至内存管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至内存管理电路202。在本实施例中,主机接口204是兼容于SD标准。然而,必须了解的是本发明不限于此,主机接口204也可以是兼容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SATA标准、MS标准、MMC标准、CF标准、IDE标准或其它适合的数据传输标准。
内存接口206是耦接至内存管理电路202并且用以存取可复写式非易失性内存模块106。也就是说,欲写入至可复写式非易失性内存模块106的数据会经由内存接口206转换为可复写式非易失性内存模块106所能接受的格式。
在本发明一实施例中,内存控制器104还包括缓冲存储器252。缓冲存储器252是耦接至内存管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性内存模块106的数据。
在本发明一实施例中,内存控制器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包括第一内存子模块310与第二内存子模块320。例如,第一内存子模块310与第二内存子模块320分别地为内存晶粒(die)。第一内存子模块310具有第一区块面312与第二区块面314并且第二内存子模块320具有第一区块面322与第二区块面324。第一内存子模块310的第一区块面312具有实体区块410(0)~410(N),第一内存子模块310的第二区块面314具有实体区块420(0)~420(N),第二内存子模块320的第一区块面322具有实体区块430(0)~430(N),并且第二内存子模块320的第二区块面324具有实体区块440(0)~440(N)。
例如,第一内存子模块310与第二内存子模块320是分别地通过独立的数据总线316与数据总线326耦接至内存控制器104。基此,内存管理电路202可以平行(parallel)方式将数据通过数据总线316与数据总线326写入至第一内存子模块310与第二内存子模块320。
然而,必须了解的是,在本发明另一实施例中,第一内存子模块310与第二内存子模块320也可仅通过1个数据总线与内存控制器104耦接。在此,内存管理电路202可以交错(interleave)方式将数据通过单一数据总线写入至第一内存子模块310与第二内存子模块320。
第一内存子模块310与第二内存子模块320的每一实体区块分别具有复数个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。例如,每一实体区块是由128个实体页面所组成。然而,必须了解的是,本发明不限于此,每一实体区块是可由64个实体页面、256个实体页面或其它任意个实体页面所组成。
更详细来说,实体区块为抹除的最小单位。也即,每一实体区块含有最小数目的一并被抹除的记忆胞。实体页面为程序化的最小单元。即,实体页面为写入数据的最小单元。然而,必须了解的是,在本发明另一实施例中,写入数据的最小单位也可以是扇区(Sector)或其它大小。每一实体页面通常包括数据位区D与冗余位区R。数据位区D用以储存使用者的数据,而冗余位区R用以储存系统的数据(例如,错误检查与校正码)。
值得一提的是,虽然本发明实施例是以包括2个内存子模块的可复写式非易失性内存模块106为例来描述,但本发明不限于此。
图5A、5B与5C是根据本发明第一实施例所示的管理实体区块的示意图。
请参照图5A,内存控制器104的内存管理电路202会将实体区块410(0)~410-(N)、420(0)~420-(N)、430(0)~430-(N)与实体区块440(0)~440(N)逻辑地分组为系统区502、数据区504、闲置区506与取代区508。
逻辑上属于系统区502的实体区块是用以记录系统数据。例如,系统数据包括关于可复写式非易失性内存模块的制造商与型号、可复写式非易失性内存模块的实体区块数、每一实体区块的实体页面数等。
逻辑上属于数据区504与闲置区506的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区504的实体区块是被视为已储存数据的实体区块,而闲置区506的实体区块是用以替换数据区504的实体区块。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,内存管理电路202会从闲置区506中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区504的实体区块。
逻辑上属于取代区508中的实体区块是用于坏实体区块取代程序,以取代损坏的实体区块。具体来说,倘若取代区508中仍存有正常的实体区块并且数据区504的实体区块损坏时,内存管理电路202会从取代区508中提取正常的实体区块来更换损坏的实体区块。
请参照图5B,在内存储存装置100被制造完成并初始化地启动时,内存管理电路202会根据内存储存装置100所设计的容量初始地配置数个实体区块(例如,实体区块410(D)~410(F-1)、实体区块420(D)~420(F-1)、实体区块430(D)~430(F-1)与实体区块430(D)~430(F-1))至数据区504,既使这些实体区块并未实际储存数据。
特别是,内存管理电路202会将属于数据区504与闲置区506的实体区块分组为多个实体单元,并且以实体单元为单位来管理实体区块。
例如,数据区504的实体区块410(D)~410(F-1)、实体区块420(D)~420(F-1)、实体区块430(D)~430(F-1)与实体区块440(D)~440(F-1)会被分别地分组为实体单元610(D)~610(F-1)并且闲置区506的实体区块410(F)~410(R-1)、实体区块420(F)~420(R-1)、实体区块430(F)~430(R-1)与实体区块440(F)~440(R-1)会被分别地分组为实体单元610(F)~610(R-1)。
特别是,在本实施例中,由于一个实体单元是由属于两个内存子模块的实体区块所组成,因此,在对实体单元执行程序化时,内存管理电路202可使用平行方式或交错方式将数据写入至第一内存子模块310与第二内存子模块320中,以提升写入速度。此外,在本实施例中,在一个实体单元中属于同一个内存子模块的实体区块是属于不同的区块面,因此,内存管理电路202可使用双页面写入(two plane program)指令,来一起写入属于两个实体页面的数据。
此外,内存管理电路202会配置逻辑单元710(0)~710(H)以映像数据区504的实体单元。在此,内存管理电路202会维护逻辑单元-实体单元映像表(logical unit-physical unit mapping table),以记录逻辑单元710(0)~710(H)与数据区504的实体单元的映像关系。具体来说,当主机系统1000欲存取属于某一逻辑存取地址的数据时,内存管理电路202会根据此逻辑存取地址识别出对应的逻辑页面及此逻辑页面所属的逻辑单元,并且通过逻辑单元-实体单元映像表于所映像的实体单元的实体页面中存取此数据。
经过上述初始化程序之后,内存储存装置100就可接收主机系统1000的写入指令来写入数据。
图6~图8是根据本发明第一实施例所示的写入数据至可复写式非易失性内存模块的范例。
请同时参照图6~图8,例如,在逻辑单元710(0)是映像至实体单元610(D)的映像状态下,当内存控制器104从主机系统1000中接收到写入指令而欲写入数据至属于逻辑单元710(0)的逻辑页面时,内存管理电路202会依据逻辑单元-实体单元映像表识别逻辑单元710(0)目前是映像至实体单元610(D)并且从闲置区504中提取实体单元610(F)作为替换实体单元来轮替实体单元610(D)。然而,当内存管理电路202将新数据写入至子实体单元610(F)的同时,内存管理电路202不会立刻将实体单元610(D)中的所有有效数据搬移至实体单元610(F)而抹除实体单元610(D)。具体来说,内存管理电路202会将实体单元610(D)中欲写入实体页面之前的有效数据(即,实体单元610(D)的第0实体页面与第1实体页面中的数据)复制至实体单元610(F)的第0实体页面与第1实体页面中(如图6所示),并且将新数据写入至实体单元610(F)的第2~4个实体页面中(如图7所示)。此时,内存管理电路202即完成写入的运作。因为实体单元610(D)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将实体单元610(D)中的其它有效数据搬移至实体单元610(F)可能会造成无谓的搬移。此外,数据必须依序地写入至实体区块内的实体页面,因此,内存管理电路202仅会先搬移欲写入实体页面之前的有效数据(即,储存在实体单元610(D)的第0实体页面与第1实体页面中数据),并且暂时不搬移其余有效数据(即,储存在实体单元610(D)的第5~(K-1)实体页面中数据)。
在本实施例中,图6与图7所示的运作称为开启(open)母子区块,并且原实体单元(例如,上述实体单元610(D))称为母实体单元而替换实体单元(例如,上述与实体单元610(F))称为子实体单元。
之后,当需要将实体单元610(D)与实体单元610(F)的数据合并(merge)时,内存管理电路202会将实体单元610(D)与实体单元610(F)的数据整并至一个实体单元,由此提升实体区块的使用效率。在此,合并母子单元的运作称为数据合并程序或关闭(close)母子区块。例如,如图8所示,当进行关闭母子区块时,内存管理电路202会将实体单元610(D)中剩余的有效数据(即,实体单元610(D)的第5~(K-1)实体页面中的数据)复制至替换实体单元610(F)的第5实体页面~第(K-1)实体页面中,然后对实体单元610(D)执行抹除操作并将抹除后的实体单元610(D)关联至闲置区506,同时,将实体单元610(F)关联至数据区504。也就是说,内存管理电路202会在逻辑单元-实体单元映像表中将逻辑单元710(0)重新映像至实体单元610(F)。此外,在本实施例中,内存管理电路202会建立闲置区实体单元表(未示出)来记录目前被关联至闲置区的实体单元。值得一提的是,闲置区504中实体单元的数目是有限的,基此,在内存储存装置100运作期间,开启的母子区块的组数也会受到限制。因此,当内存储存装置100接收到来自于主机系统1000的写入指令时,倘若已开启母子区块的组数达到上限时,内存管理电路202需关闭至少一组目前已开启的母子区块后才可执行此写入指令。
例如,在闪存储存装置为SD记忆卡的例子中,可开启的母子区块的组数的上限一般是设定为1。例如,当在如图7所示的状态下并且内存控制器104从主机系统1000中接收到下一个写入指令而欲写入数据至属于逻辑单元710(1)的逻辑存取地址时,内存管理电路202必须先关闭母子区块(如图8所示),并且之后,再从闲置区506提取一个实体单元来执行开启母子区块的程序(如图6~7所示)以完成数据写入。
在本发明实施例中,内存控制器104会从主机系统1000中获取适合连接器102的工作频率。具体来说,当内存储存装置100被耦接至主机系统1000时,主机系统1000会先发送指令给内存储存装置100,以询问内存储存装置100的基本信息。之后,内存控制器104会将基本信息传送给主机系统1000,其中此基本信息会包含内存储存装置100的连接器102与主机接口204可支持的写入频率。接着,主机系统1000会下指令给内存储存装置100,以指示使用哪种写入频率来运作。然后,内存控制器104会将对应主机系统1000所指示的写入频率的标注设定为对应的值(例如,′1′)。然而,必须了解的是,本发明不限于此,标注也可为其它特定值。基此,当主机系统1000写入数据时,内存控制器104会根据所设定的标注来将主机系统1000所写入的数据写入至实体单元中。
更详细来说,在本实施例中,主机系统1000会下达指令,以指示内存控制器104使用对应写入频率的第一速度模式或者第二速度模式。
例如,在主机接口204为SD接口时,上述第一速度模式为预设速度模式(Default Speed Mode)并且上述第二速度模式为超高速模式(Ultra HighSpeed Mode)。
特别是,当速度模式为第一速度模式时,内存管理电路202会使用第一写入模式来写入数据,并且当速度模式为第二速度模式时,内存管理电路202会使用第二写入模式来写入数据。
具体来说,由于在不同的速度模式下,主机系统1000储存数据的状态会不同。例如,在内存储存装置1000为SD内存卡的例子中,当主机系统1000使用预设速度模式来储存数据时,其所写入的数据量会小于或等于一个实体单元的容量的一半。而当主机系统1000使用超高速模式来储存数据时,其所写入的数据量往往会大于一个实体单元的容量的一半。在本发明实施例中,内存管理电路202会根据主机系统1000所采用的速度模式,使用对应的写入模式来优化写入数据的速度。
在第一写入模式中,当执行写入指令以写入属于某一逻辑单元的前半部份逻辑页面的数据时,内存管理电路202会同时对属于此逻辑单元的后半部份逻辑页面进行数据合并程序。具体来说,假设主机系统欲储存数据至第0~(m-1)逻辑页面时,内存管理电路202会在写入属于第0~(m-1)逻辑页面的数据的同时搬移属于第m~K逻辑页面的有效数据。在此,m是根据式(1)来计算:
m=K/2+1                                (1)
其中K表示该第一逻辑单元的所述逻辑页面的数目。
图9是根据本发明第一实施例所示的以第一写入模式执行写入指令的范例。为了方便说明,在此假设每一实体区块具有128个实体页面(即,第0~127实体页面),并且因此每一逻辑单元会具有512个逻辑页面(即,第0~511逻辑页面)。
请参照图9,例如,当实体单元610(D+1)已储存属于逻辑单元710(1)的第0~511逻辑页面的页面数据OD0~OD511并且主机系统1000欲将更新数据储存在属于逻辑单元710(1)的第0~255逻辑页面时,内存控制器104的内存管理电路202会识别逻辑单元710(1)目前是映像实体单元610(D+1),从闲置区506中提取实体单元610(F),将所接收到的更新数据整理成对应的页面数据UD0~UD255并且将数据依序地写入至实体单元610(F)的实体区块410(F)与实体区块420(F)的实体页面中(即,类似如图6与7所示的开启母子区块的运作)。特别是,由于实体区块410(F)与实体区块420(F)所属的内存子模块与实体区块430(F)与实体区块440(F)所属的内存子模块是不同的,基此,内存管理电路202会以平行方式将属于逻辑单元710(1)的未更新页面数据从实体单元610(D+1)中搬移至实体单元610(F)的实体区块430(F)与实体区块440(F)中。
具体来说,内存管理电路202会以双页面程序化指令将属于逻辑单元710(1)的第0~1逻辑页面的页面数据UD0~UD1写入至实体区块410(F)的第0实体页面与实体区块420(F)的第0实体页面中并且以平行方式将属于逻辑单元710(1)的第256~257逻辑页面的页面数据OD256~OD257从实体单元610(D+1)中搬移至实体区块430(F)的第0实体页面与实体区块440(F)的第0实体页面中。也就是说,在程序化过程中,属于逻辑单元710(1)的第0逻辑页面的页面数据UD0会被写入至实体区块410(F)的第0实体页面并且属于逻辑单元710(1)的第1逻辑页面的页面数据UD1会被写入至实体区块420(F)的第0实体页面,同时属于逻辑单元710(1)的第256逻辑页面的页面数据OD256会被搬移至实体区块430(F)的第0实体页面并且属于逻辑单元710(1)的第257逻辑页面的页面数据OD257会被搬移至实体区块440(F)的第0实体页面中。
接着,内存管理电路202会以双页面程序化指令将属于逻辑单元710(1)的第2~3逻辑页面的页面数据UD2~UD3写入至实体区块410(F)的第1实体页面与实体区块420(F)的第1实体页面中并且以平行方式将属于逻辑单元710(1)的第258~259逻辑页面的页面数据OD258~OD259从实体单元610(D+1)中搬移至实体区块430(F)的第1实体页面与实体区块440(F)的第1实体页面中。
以此类推,最后,内存管理电路202会以双页面程序化指令将属于逻辑单元710(1)的第254~255逻辑页面的页面数据UD254~UD255写入至实体区块410(F)的第127实体页面与实体区块420(F)的第127实体页面中并且以平行方式将属于逻辑单元710(1)的第510~511逻辑页面的页面数据OD510~OD511从实体单元610(D+1)中搬移至实体区块430(F)的第127实体页面与实体区块440(F)的第127实体页面中。
并且,之后当主机系统1000下达写入指令以储存数据至另一个逻辑单元时,由于在实体单元610(D+1)中属于逻辑单元710(1)的第256~511逻辑页面的有效数据已被搬移至实体单元610(F),因此,内存管理电路202可直接在逻辑单元-实体单元映像表中将逻辑单元710(1)重新映像至实体单元610(F)(即,将实体单元610(F)关联至数据区504)并且将实体单元610(D+1)关联至闲置区506(即,类似图8所示的关闭母子区块的运作)的后执行下一个写入指令。
在第一写入模式中,通过在执行目前写入指令期间同时搬移未被更新的有效数据,可在执行下一个写入指令时减少执行数据合并程序的时间。因此,当主机系统1000每次储存的数据量皆小于一个实体单元的容量的一半时(例如,在SD接口的预设速度模式中),可有效地通过上述第一写入模式缩短执行写入指令的时间。
图10是根据本发明第一实施例所示的以第二写入模式执行写入指令的范例。为了方便说明,在此假设每一实体区块具有128个实体页面(即,第0~127实体页面)并且因此每一逻辑单元会具有512个逻辑页面(即,第0~511逻辑页面)。
请参照图10,例如,当实体单元610(D+1)已储存属于逻辑单元710(1)的第0~511逻辑页面的页面数据OD0~OD511并且主机系统1000欲将数据储存在属于逻辑单元710(1)的第0~323逻辑页面时,内存控制器104的内存管理电路202会识别逻辑单元710(1)目前是映像实体单元610(D+1),从闲置区506中提取实体单元610(F),将所接收到的数据整理成对应的页面数据UD0~UD323并且将数据依序地写入至实体单元610(F)的实体区块410(F)、实体区块420(F)、实体区块430(F)与实体区块440(F)的实体页面中(即,类似如图6与7所示的开启母子区块的运作)。
具体来说,内存管理电路202会以双页面程序化指令且平行方式将属于逻辑单元710(1)的第0~3逻辑页面的页面数据UD0~UD3写入至实体区块410(F)的第0实体页面、实体区块420(F)的第0实体页面、实体区块430(F)的第0实体页面与实体区块440(F)的第0实体页面中。也就是说,在此程序化过程中,属于逻辑单元710(1)的第0逻辑页面的页面数据UD0会被写入至实体区块410(F)的第0实体页面,属于逻辑单元710(1)的第1逻辑页面的页面数据UD1会被写入至实体区块420(F)的第0实体页面,属于逻辑单元710(1)的第2逻辑页面的页面数据UD2会被写入至实体区块430(F)的第0实体页面并且属于逻辑单元710(1)的第3逻辑页面的页面数据UD3会被写入至实体区块440(F)的第0实体页面中。
接着,内存管理电路202会以双页面程序化指令且平行方式将属于逻辑单元710(1)的第4~7逻辑页面的页面数据UD4~UD7写入至实体区块410(F)的第1实体页面、实体区块420(F)的第1实体页面、实体区块430(F)的第1实体页面与实体区块440(F)的第1实体页面中。
以此类推,最后,内存管理电路202会以双页面程序化指令且平行方式将属于逻辑单元710(1)的第320~323逻辑页面的页面数据UD320~UD323写入至实体区块410(F)的第80实体页面、实体区块420(F)的第80实体页面、实体区块430(F)的第80实体页面与实体区块440(F)的第80实体页面中。
并且,之后当主机系统1000下达写入指令以储存数据至另一个逻辑单元时,在执行此写入指令之前,内存管理电路202会从实体单元610(D+1)中将属于逻辑单元710(1)的第324~511逻辑页面的有效数据搬移至实体单元610(F)的对应实体页面中,在逻辑单元-实体单元映像表中将逻辑单元710(1)重新映像至实体单元610(F)(即,将实体单元610(F)关联至数据区504)并且将实体单元610(D+1)关联至闲置区506(即,类似图8所示的关闭母子区块的运作)。
在第二写入模式中,逻辑单元的连续逻辑页面是被分散地映像至属于不同的内存子模块的实体页面。因此,当主机系统1000写入大量数据至连续逻辑页面时,数据可被平行地写入至实体页面中而缩短写入数据所需的时间。
图11是根据本发明第一实施例所示的数据写入方法的流程图。
请参照图11,在步骤S 1101中,内存控制器104会从主机系统1000中接收指令,根据此指令取得所使用的工作频率并且根据所取得的工作频率将速度模式切换为第一速度模式或第二速度模式。之后,在步骤S1103中内存控制器104会从主机系统1000中接收欲储存的数据。
在步骤S1105中,内存控制器104会判断所采用的速度模式为第一速度模式或第二速度模式。
当对应连接器102的速度模式为第一速度模式时,在步骤S1107中,内存控制器104会选择第一写入模式将数据写入至非易失性内存模块106的实体单元中。具体来说,在步骤S1107中,内存控制器104会识别欲储存数据的逻辑单元(以下称为第一逻辑单元)及原始映像第一逻辑单元的实体单元(以下称为第一实体单元),从闲置区506中提取一个实体单元(以下称为第二实体单元),并且依照图9所示的方式将欲写入的页面数据以及未更新的有效页面数据以平行方式写入至第二实体单元中。
当对应连接器102的速度模式为第二速度模式时,在步骤S1109中,内存控制器104会选择第二写入模式将数据写入至非易失性内存模块106的实体单元中。具体来说,在步骤S1109中,内存控制器104会识别欲储存数据的逻辑单元(以下称为第一逻辑单元)及原始映像第一逻辑单元的实体单元(以下称为第一实体单元),从闲置区506中提取一个实体单元(以下称为第二实体单元),并且依照图10所示的方式将欲写入的页面数据以平行方式写入至第二实体单元中。
第二实施例本发明第二实施例的内存储存装置与主机系统本质上是相同于第一实施例的内存储存装置与主机系统,其中差异在于第二实施例的可复写式非易失性内存模块的内存子模块是由单一区块面所组成。
图12是根据本发明第二实施例所示的可复写式非易失性内存模块的内存子模块的示意图。
请参照图12,可复写式非易失性内存模块106包括第一内存子模块310′与第二内存子模块320′。例如,第一内存子模块310′与第二内存子模块320′分别地为内存晶粒(die)。第一内存子模块310′具有属于同一个区块面的实体区块410(0)~410(N),并且第二内存子模块320′具有属于同一个区块面的实体区块430(0)~430(N)。例如,第一内存子模块310′与第二内存子模块320′是分别地通过独立的数据总线316与数据总线326耦接至内存控制器104。基此,内存管理电路202可以平行方式将数据通过数据总线316与数据总线326写入至第一内存子模块310′与第二内存子模块320′。
图13A与13B是根据本发明第二实施例所示的管理实体区块的示意图。
请参照图13A,类似第一实施例,内存控制器104的内存管理电路202会将实体区块410(0)~410-(N)、与430(0)~430-(N)逻辑地分组为系统区502、数据区504、闲置区506与取代区508。
请参照图13B,内存管理电路202会将属于数据区504与闲置区506的实体区块分组为多个实体单元,并且以实体单元为单位来管理实体区块。例如,数据区504的实体区块410(D)~410(F-1)与实体区块430(D)~430(F-1)会被分别地分组为实体单元610′(D)~610′(F-1)并且闲置区506的实体区块410(F)~410(R-1)与实体区块430(F)~430(R-1)会被分别地分组为实体单元610′(F)~610′(R-1)。在本实施例中,内存管理电路202在对实体单元执行程序化时,可使用平行方式或交错方式将数据写入至第一内存子模块310′与第二内存子模块320′中,以提升写入速度。此外,类似于第一实施例,内存管理电路202会配置逻辑单元710′(0)~710′(H)以映像数据区504的实体单元,并且以图6~8所示的方式轮替地使用实体单元来写入主机系统在逻辑单元710′(0)~710′(H)中储存的数据。
相同于第一实施例,在第二实施例中,内存控制器104会侦测数据传输接口1110与连接器102之间的工作频率。并且,当识别对应连接器102的速度模式为第一速度模式时,内存控制器104会使用第一写入模式来写入数据,并且当识别对应主机接口204的速度模式为第二速度模式时,内存控制器104会使用第二写入模式来写入数据。
图14是根据本发明第二实施例所示的以第一写入模式执行写入指令的范例。为了方便说明,在此假设每一实体区块具有128个实体页面(即,第0~127实体页面),并且因此,每一逻辑单元具有256个逻辑页面(即,第0~255逻辑页面)。
请参照图14,例如,当实体单元610′(D+1)已储存属于逻辑单元710′(1)的第0~255逻辑页面的页面数据OD0~OD255并且主机系统1000欲将更新数据储存在属于逻辑单元710′(1)的第0~127逻辑页面时,内存控制器104的内存管理电路202会识别逻辑单元710′(1)目前是映像实体单元610′(D+1),从闲置区506中提取实体单元610′(F),将所接收到的更新数据整理成对应的页面数据UD0~UD127并且将数据依序地写入至实体单元610′(F)的实体区块410(F)的实体页面中(即,类似如图6与7所示的开启母子区块的运作)。特别是,由于实体区块410(F)与实体区块430(F)是分别地属于不同的内存子模块,基此,内存管理电路202会以平行方式将属于逻辑单元710′(1)的未更新页面数据从实体单元610′(D+1)中搬移至实体单元610′(F)的实体区块430(F)。
具体来说,内存管理电路202会以平行方式将属于逻辑单元710′(1)的第0逻辑页面的页面数据UD0写入至实体区块410(F)的第0实体页面并且将属于逻辑单元710′(1)的第128逻辑页面的页面数据OD128从实体单元610′(D+1)中搬移至实体区块430(F)的第0实体页面中。
接着,内存管理电路202会以平行方式将属于逻辑单元710′(1)的第1逻辑页面的页面数据UD1写入至实体区块410(F)的第1实体页面中并且将属于逻辑单元710′(1)的第129逻辑页面的页面数据OD129从实体单元610′(D+1)中搬移至实体区块430(F)的第1实体页面中。
以此类推,最后,内存管理电路202会以平行方式将属于逻辑单元710′(1)的第127逻辑页面的页面数据UD127写入至实体区块410(F)的第127实体页面中并且将属于逻辑单元710′(1)的第255逻辑页面的页面数据OD255从实体单元610′(D+1)中搬移至实体区块430(F)的第127实体页面中。
并且,之后当主机系统1000下达写入指令以储存数据至另一个逻辑单元时,由于在实体单元610′(D+1)中属于逻辑单元710′(1)的第128~255逻辑页面的有效数据已被搬移至实体单元610′(F),内存管理电路202可直接在逻辑单元-实体单元映像表中将逻辑单元710′(1)重新映像至实体单元610′(F)(即,将实体单元610′(F)关联至数据区504)并且将实体单元610′(D+1)关联至闲置区506(即,类似图8所示的关闭母子区块的运作)的后执行下一个写入指令。
类似地,在第二实施例中,当使用第一写入模式来写入数据时,通过在执行目前写入指令期间同时搬移未被更新的有效数据,可在执行下一个写入指令时减少执行数据合并程序的时间。因此,当主机系统1000每次储存的数据量皆小于一个实体单元的容量的一半时(例如,在SD接口的预设速度模式中),可有效地通过上述第一写入模式缩短执行写入指令的时间。
图15是根据本发明第二实施例所示的以第二写入模式执行写入指令的范例。为了方便说明,在此假设每一实体区块具有128个实体页面(即,第0~127实体页面),并且因此每一逻辑单元会具有256个逻辑页面(即,第0~255逻辑页面)。
请参照图15,例如,当实体单元610′(D+1)已储存属于逻辑单元710′(1)的第0~255逻辑页面的页面数据OD0~OD255并且主机系统1000欲将数据储存在属于逻辑单元710′(1)的第0~211逻辑页面时,内存控制器104的内存管理电路202会识别逻辑单元710′(1)目前是映像实体单元610′(D+1),从闲置区506中提取实体单元610′(F),将所接收到的资料整理成对应的页面资料UD0~UD211并且将数据依序地写入至实体单元610′(F)的实体区块410(F)与实体区块430(F)的实体页面中(即,类似如图6与7所示的开启母子区块的运作)。
具体来说,内存管理电路202会以平行方式将属于逻辑单元710′(1)的第0~1逻辑页面的页面数据UD0~UD1写入至实体区块410(F)的第0实体页面与实体区块430(F)的第0实体页面中。也就是说,在此程序化过程中,属于逻辑单元710′(1)的第0逻辑页面的页面数据UD0会被写入至实体区块410(F)的第0实体页面,并且属于逻辑单元710′(1)的第1逻辑页面的页面数据UD1会被写入至实体区块430(F)的第0实体页面。
接着,内存管理电路202会以平行方式将属于逻辑单元710′(1)的第2~3逻辑页面的页面数据UD2~UD3写入至实体区块410(F)的第1实体页面与实体区块430(F)的第1实体页面中。
以此类推,最后,内存管理电路202会以平行方式将属于逻辑单元710′(1)的第210~211逻辑页面的页面数据UD210~UD211写入至实体区块410(F)的第105实体页面与实体区块430(F)的第105实体页面中。
并且,之后当主机系统1000下达写入指令以储存数据至另一个逻辑单元时,在执行此写入指令之前,内存管理电路202会从实体单元610′(D+1)中将属于逻辑单元710′(1)的第212~255逻辑页面的有效数据搬移至实体单元610′(F)的对应实体页面中,在逻辑单元-实体单元映像表中将逻辑单元710′(1)重新映像至实体单元610′(F)(即,将实体单元610′(F)关联至数据区504)并且将实体单元610′(D+1)关联至闲置区506(即,类似图8所示的关闭母子区块的运作)。
类似地,在第二实施例中,当使用第二写入模式来写入数据时,逻辑单元的连续逻辑页面是被分散地映像至属于不同的内存子模块的实体页面。因此,当主机系统1000写入大量数据至连续逻辑页面时,数据可被平行地写入至实体页面中,而缩短写入数据所需的时间。
综上所述,本发明实施例的数据写入方法、内存控制器与内存储存装置能够根据目前主机系统的数据传输接口所采用的速度模式来选择对应的写入模式来写入数据,由此可针对主机系统的写入状态以的适合的写入方式来缩短执行写入指令所需的时间。基此,内存储存装置的效能可有效地被提升。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,当可作些许的更动与润饰,而不脱离本发明的精神和范围。

Claims (22)

1.一种数据写入方法,用于写入一数据至一内存储存装置的一可复写式非易失性内存模块,该可复写式非易失性内存模块包括多个实体区块,每一所述实体区块具有依序排列的多个实体页面并且所述实体区块被分组为多个实体单元,该数据写入方法包括:
配置多个逻辑单元以映像部分的所述实体单元,其中每一所述逻辑单元具有多个逻辑页面,并且所述逻辑单元之中的一第一逻辑单元原始地映像所述实体单元之中的一第一实体单元;
接收来自一主机系统的一指令,并且依据该指令取得一工作频率,该工作频率是被配置为对应一写入指令的一写入总线速度,且该工作频率在该主机系统与该内存储存装置之间的一第一写入模式或一第二写入模式中被施予至该内存储存装置的一连接器进行运作;
根据该工作频率切换对应该内存储存装置的一速度模式为一第一速度模式或一第二速度模式;
当该速度模式为该第一速度模式时,选择该第一写入模式来将该数据写入至所述实体单元之中的一第二实体单元;以及
当该速度模式为该第二速度模式时,选择该第二写入模式来将该数据写入至所述实体单元之中的该第二实体单元。
2.根据权利要求1所述的数据写入方法,其中该第一速度模式为一预设速度模式并且该第二速度模式为一超高速模式。
3.根据权利要求1所述的数据写入方法,还包括:
将该数据整理成多个页面数据,其中所述页面数据属于该第一逻辑单元,
其中在该第一写入模式中,所述页面数据被写入至该第二实体单元的所述实体区块之中的其中一个实体区块的所述实体页面中,
其中在该第二写入模式中,所述页面数据被写入至该第二实体单元的所述实体区块之中的多个实体区块的所述实体页面中。
4.根据权利要求3所述的数据写入方法,
其中该第二实体单元是由所述实体区块之中的一第一实体区块、一第二实体区块、一第三实体区块与一第四实体区块所组成,
其中选择该第一写入模式来将该数据写入至该第二实体单元中的步骤包括:
将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面;
将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面;
将属于该第一逻辑单元的一第m逻辑页面的一页面数据从该第一实体单元中搬移至该第三实体区块的一第零实体页面;以及
将属于该第一逻辑单元的一第(m+1)逻辑页面的一页面数据从该第一实体单元中搬移至该第四实体区块的一第零实体页面,
其中m是根据式(1)计算:
m=K/2+1           (1)
其中K表示该第一逻辑单元的所述逻辑页面的数目。
5.根据权利要求3所述的数据写入方法,
其中该第二实体单元是由所述实体区块之中的一第一实体区块、一第二实体区块、一第三实体区块与一第四实体区块所组成,
其中选择该第二写入模式来将该数据写入至该第二实体单元中的步骤包括:
将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面;
将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面;
将所述页面数据之中属于该第一逻辑单元的一第二逻辑页面的一页面数据写入至该第三实体区块的一第零实体页面;以及
将所述页面数据之中属于该第一逻辑单元的一第三逻辑页面的一页面数据写入至该第四实体区块的一第零实体页面。
6.根据权利要求3所述的数据写入方法,
其中该第二实体单元是由所述实体区块之中的一第一实体区块与一第二实体区块所组成,
其中选择该第一写入模式来将该数据写入至该第二实体单元中的步骤包括:
将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面;以及
将属于该第一逻辑单元的一第m逻辑页面的一页面数据从该第一实体单元中搬移至该第二实体区块的一第零实体页面,
其中m是根据式(1)计算:
m=K/2+1           (1)
其中K表示该第一逻辑单元的所述逻辑页面的数目。
7.根据权利要求3所述的数据写入方法,
其中该第二实体单元是由所述实体区块之中的一第一实体区块与一第二实体区块所组成,
其中选择该第二写入模式来将该数据写入至该第二实体单元中的步骤包括:
将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面;以及
将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面。
8.根据权利要求1所述的数据写入方法,其中根据该工作频率切换对应该内存储存装置的该速度模式为该第一速度模式或该第二速度模式的步骤包括:
标记一标注,以记录该速度模式为该第一速度模式或该第二速度模式。
9.一种内存控制器,用于控制一内存储存装置的一可复写式非易失性内存模块,其中该可复写式非易失性内存模块具有多个实体区块,并且每一所述实体区块具有依序排列的多个实体页面,该内存控制器包括:
一主机接口,用以耦接至一主机系统并且接收一数据;
一内存接口,用以耦接至该可复写式非易失性内存模块;以及
一内存管理电路,耦接至该主机接口与该内存接口,
其中该内存管理电路用以将所述实体区块分组为多个实体单元并且配置多个逻辑单元以映像部分的所述实体单元,其中每一所述逻辑单元具有多个逻辑页面,并且所述逻辑单元之中的一第一逻辑单元原始地映像所述实体单元之中的一第一实体单元,
其中该内存管理电路还用以接收来自该主机系统的一指令,并且依据该指令取得一工作频率,该工作频率是被配置为对应一写入指令的一写入总线速度,且该工作频率在该主机系统与该内存储存装置之间的一第一写入模式或一第二写入模式中被施予至该内存储存装置的一连接器进行运作,
其中该内存管理电路还用以根据该工作频率切换对应该主机接口的一速度模式为一第一速度模式或一第二速度模式,
其中当该速度模式为该第一速度模式时,该内存管理电路选择该第一写入模式来将该数据写入至所述实体单元之中的一第二实体单元,
其中当该速度模式为该第二速度模式时,该内存管理电路选择该第二写入模式来将该数据写入至所述实体单元之中的该第二实体单元。
10.根据权利要求9所述的内存控制器,其中该内存管理电路还用以将该数据整理成多个页面数据,其中所述页面数据属于该第一逻辑单元,
其中在该第一写入模式中,该内存管理电路将所述页面数据写入至该第二实体单元的所述实体区块之中的其中一个实体区块的所述实体页面中,
其中在该第二写入模式中,该内存管理电路将所述页面数据写入至该第二实体单元的所述实体区块之中的多个实体区块的所述实体页面中。
11.根据权利要求10所述的内存控制器,其中该第二实体单元是由所述实体区块之中的一第一实体区块、一第二实体区块、一第三实体区块与一第四实体区块所组成,
其中在该第一写入模式中,该内存管理电路将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面,将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面,将属于该第一逻辑单元的一第m逻辑页面的一页面数据从该第一实体单元中搬移至该第三实体区块的一第零实体页面并且将属于该第一逻辑单元的一第(m+1)逻辑页面的一页面数据从该第一实体单元中搬移至该第四实体区块的一第零实体页面,
其中m是根据式(1)计算:
m=K/2+1          (1)
其中K表示该第一逻辑单元的所述逻辑页面的数目。
12.根据权利要求10所述的内存控制器,其中该第二实体单元是由所述实体区块之中的一第一实体区块、一第二实体区块、一第三实体区块与一第四实体区块所组成,
其中在该第二写入模式中,该内存管理电路将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面,将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面,将所述页面数据之中属于该第一逻辑单元的一第二逻辑页面的一页面数据写入至该第三实体区块的一第零实体页面并且将所述页面数据之中属于该第一逻辑单元的一第三逻辑页面的一页面数据写入至该第四实体区块的一第零实体页面。
13.根据权利要求10所述的内存控制器,
其中该第二实体单元是由所述实体区块之中的一第一实体区块与一第二实体区块所组成,
其中在该第一写入模式中,该内存管理电路将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面并且将属于该第一逻辑单元的一第m逻辑页面的一页面数据从该第一实体单元中搬移至该第二实体区块的一第零实体页面,
其中m是根据式(1)计算:
m=K/2+1           (1)
其中K表示该第一逻辑单元的所述逻辑页面的数目。
14.根据权利要求10所述的内存控制器,其中该第二实体单元是由所述实体区块之中的一第一实体区块与一第二实体区块所组成,
其中在该第二写入模式中,该内存管理电路将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面并且将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面。
15.根据权利要求9所述的内存控制器,其中该内存管理电路标记一标记,以记录该速度模式为该第一速度模式或该第二速度模式。
16.一种内存储存装置,包括:
一连接器,用以耦接至一主机系统并且接收一数据;
一可复写式非易失性内存模块,具有多个实体区块,其中每一所述实体区块具有依序排列的多个实体页面;以及
一内存控制器,耦接至该连接器与该可复写式非易失性内存模块,
其中该内存控制器用以将所述实体区块分组为多个实体单元并且配置多个逻辑单元以映像部分的所述实体单元,其中每一所述逻辑单元具有多个逻辑页面,并且所述逻辑单元之中的一第一逻辑单元原始地映像所述实体单元之中的一第一实体单元,
其中该内存控制器还用以接收来自该主机系统的一指令,并且依据该指令取得一工作频率,该工作频率是被配置为对应一写入指令的一写入总线速度,并该工作频率在该主机系统与该内存储存装置之间的一第一写入模式或一第二写入模式中被施予至该连接器进行运作,
其中该内存控制器还用以根据该工作频率切换对应该连接器的一速度模式为一第一速度模式或一第二速度模式,
其中当该速度模式为该第一速度模式时,该内存控制器选择该第一写入模式来将该数据写入至所述实体单元之中的一第二实体单元,
其中当该速度模式为该第二速度模式时,该内存控制器选择该第二写入模式来将该数据写入至所述实体单元之中的该第二实体单元。
17.根据权利要求16所述的内存储存装置,其中该内存控制器还用以将该数据整理成多个页面数据,其中所述页面数据属于该第一逻辑单元,
其中在该第一写入模式中,该内存控制器将所述页面数据写入至该第二实体单元的所述实体区块之中的其中一个实体区块的所述实体页面中,
其中在该第二写入模式中,该内存控制器将所述页面数据写入至该第二实体单元的所述实体区块之中的多个实体区块的所述实体页面中。
18.根据权利要求17所述的内存储存装置,其中该第二实体单元是由所述实体区块之中的一第一实体区块、一第二实体区块、一第三实体区块与一第四实体区块所组成,
其中在该第一写入模式中,该内存控制器将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面,将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面,将属于该第一逻辑单元的一第m逻辑页面的一页面数据从该第一实体单元中搬移至该第三实体区块的一第零实体页面并且将属于该第一逻辑单元的一第(m+1)逻辑页面的一页面数据从该第一实体单元中搬移至该第四实体区块的一第零实体页面,
其中m是根据式(1)计算:
m=K/2+1           (1)
其中K表示该第一逻辑单元的所述逻辑页面的数目。
19.根据权利要求17所述的内存储存装置,其中该第二实体单元是由所述实体区块之中的一第一实体区块、一第二实体区块、一第三实体区块与一第四实体区块所组成,
其中在该第二写入模式中,该内存控制器将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面,将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面,将所述页面数据之中属于该第一逻辑单元的一第二逻辑页面的一页面数据写入至该第三实体区块的一第零实体页面并且将所述页面数据之中属于该第一逻辑单元的一第三逻辑页面的一页面数据写入至该第四实体区块的一第零实体页面。
20.根据权利要求17所述的内存储存装置,
其中该第二实体单元是由所述实体区块之中的一第一实体区块与一第二实体区块所组成,
其中在该第一写入模式中,该内存控制器将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面并且将属于该第一逻辑单元的一第m逻辑页面的一页面数据从该第一实体单元中搬移至该第二实体区块的一第零实体页面,
其中m是根据式(1)计算:
m=K/2+1           (1)
其中K表示该第一逻辑单元的所述逻辑页面的数目。
21.根据权利要求17所述的内存储存装置,其中该第二实体单元是由所述实体区块之中的一第一实体区块与一第二实体区块所组成,
其中在该第二写入模式中,该内存控制器将所述页面数据之中属于该第一逻辑单元的一第零逻辑页面的一页面数据写入至该第一实体区块的一第零实体页面并且将所述页面数据之中属于该第一逻辑单元的一第一逻辑页面的一页面数据写入至该第二实体区块的一第零实体页面。
22.根据权利要求16所述的内存储存装置,其中该内存控制器标记一标记,以记录该速度模式为该第一速度模式或该第二速度模式。
CN201110041979.3A 2011-02-18 2011-02-18 用于非易失性内存的数据写入方法、控制器与储存装置 Active CN102646448B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110041979.3A CN102646448B (zh) 2011-02-18 2011-02-18 用于非易失性内存的数据写入方法、控制器与储存装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110041979.3A CN102646448B (zh) 2011-02-18 2011-02-18 用于非易失性内存的数据写入方法、控制器与储存装置

Publications (2)

Publication Number Publication Date
CN102646448A CN102646448A (zh) 2012-08-22
CN102646448B true CN102646448B (zh) 2015-09-16

Family

ID=46659227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110041979.3A Active CN102646448B (zh) 2011-02-18 2011-02-18 用于非易失性内存的数据写入方法、控制器与储存装置

Country Status (1)

Country Link
CN (1) CN102646448B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI664531B (zh) * 2018-01-25 2019-07-01 矽創電子股份有限公司 快閃記憶體之控制器及控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1918552A (zh) * 2003-12-30 2007-02-21 桑迪士克股份有限公司 基于主机使用特性的快闪存储器地址映射的适应性模式切换
CN101571832A (zh) * 2008-04-29 2009-11-04 群联电子股份有限公司 数据写入方法及使用该方法的快闪存储系统与其控制器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706951B2 (en) * 2008-07-18 2014-04-22 Marvell World Trade Ltd. Selectively accessing faster or slower multi-level cell memory
TWI385527B (zh) * 2009-02-10 2013-02-11 Phison Electronics Corp Mlc nand型快閃記憶體儲存系統及其控制器與存取方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1918552A (zh) * 2003-12-30 2007-02-21 桑迪士克股份有限公司 基于主机使用特性的快闪存储器地址映射的适应性模式切换
CN101571832A (zh) * 2008-04-29 2009-11-04 群联电子股份有限公司 数据写入方法及使用该方法的快闪存储系统与其控制器

Also Published As

Publication number Publication date
CN102646448A (zh) 2012-08-22

Similar Documents

Publication Publication Date Title
CN104102585A (zh) 映射信息记录方法、存储器控制器与存储器储存装置
TWI454911B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US9021218B2 (en) Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same
TWI494948B (zh) 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
US9037814B2 (en) Flash memory management method and flash memory controller and storage system using the same
CN104679437A (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
US8812772B2 (en) Data merging method for non-volatile memory and controller and storage apparatus using the same
CN103514096A (zh) 数据储存方法、存储器控制器与存储器储存装置
CN104281413A (zh) 命令队列管理方法、存储器控制器及存储器储存装置
CN102915273B (zh) 数据写入方法、存储器控制器与存储器储存装置
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
US8943289B2 (en) Data moving method for flash memory module, and memory controller and memory storage apparatus using the same
CN103136111A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN103678162A (zh) 系统数据储存方法、存储器控制器与存储器储存装置
CN102999437B (zh) 数据搬移方法、存储器控制器与存储器储存装置
CN104536906A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN103714008A (zh) 数据存储方法、存储器控制器与存储器存储装置
CN103577344A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102890653A (zh) 指令执行方法、存储器控制器与存储器储存装置
CN102800357A (zh) 程序码载入与存取方法、存储器控制器与存储器储存装置
CN102646448B (zh) 用于非易失性内存的数据写入方法、控制器与储存装置
CN102467460B (zh) 资料管理方法、存储器控制器与存储器储存装置
CN102841853B (zh) 存储器管理表处理方法、存储器控制器与存储器储存装置
CN102650971B (zh) 存储器管理方法、存储器控制器与存储器储存装置
CN104166558A (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