CN104375945A - 存储器地址管理方法、存储器控制器与存储器储存装置 - Google Patents
存储器地址管理方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN104375945A CN104375945A CN201310355196.1A CN201310355196A CN104375945A CN 104375945 A CN104375945 A CN 104375945A CN 201310355196 A CN201310355196 A CN 201310355196A CN 104375945 A CN104375945 A CN 104375945A
- Authority
- CN
- China
- Prior art keywords
- programming
- physics
- unit
- those
- logic unit
- 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)
Abstract
本发明提供一种存储器地址管理方法、存储器控制器与存储器储存装置。此方法包括:取得可复写式非易失性存储器模块的一存储器信息,其包括编程顺序;根据此存储器信息来格式化多个逻辑地址以建立文件系统,使得文件系统的一配置单位包括下逻辑编程单元与上逻辑编程单元,该配置单位是以该下逻辑编程单元开始并以该上逻辑编程单元结束,并且文件系统的数据区的起始逻辑地址是属于下逻辑编程单元。藉此,可以增加存储器储存装置的存取频宽。
Description
技术领域
本发明是有关于一种存储器管理方法,且特别是有关于用于可复写式非易失性存储器模块的存储器地址管理方法、存储器控制器与存储器储存装置。
背景技术
数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,可复写式非易失性存储器模块是由一个存储器控制器所控制,而主机系统可以下达指令给存储器控制器来存取可复写式非易失性存储器模块中的数据。存取频宽表示主机系统每秒可以写入多少数据至可复写式非易失性存储器模块中。然而,此存取频宽会受到许多因素所影响。例如,当把数据写入至可复写式非易失性存储器模块后,可复写式非易失性存储器模块的状态会变成忙碌一段时间,此时不能写入其它的数据。或者,下物理编程单元的写入速度会大于上物理编程单元的写入速度。又,主机系统每秒可以下达几个写入指令也会影响存取频宽。如何增加存取频宽,为本领域技术人员所关心的议题。
发明内容
本发明提供一种存储器地址管理方法、存储器储存装置与存储器控制器,可以增加存储器储存装置的存取频宽。
本发明一范例实施提出一种存储器地址管理方法,用于一可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括多个物理抹除单元,每一个物理抹除单元包括多个下物理编程单元与多个上物理编程单元。所述下物理编程单元与所述上物理编程单元是依照一编程顺序被编程。多个逻辑 地址会映射至部分的物理抹除单元。这些逻辑地址会组成多个逻辑编程单元,并且这些逻辑编程单元是映射至物理抹除单元中的下物理编程单元与上物理编程单元。上述的逻辑编程单元被分为多个下逻辑编程单元与多个上逻辑编程单元。此存储器地址管理方法包括:取得可复写式非易失性存储器模块的一存储器信息,其中存储器信息包括上述的编程顺序;以及根据存储器信息来格式化逻辑地址以建立一文件系统,使得文件系统包括多个配置单位,其中一个第一配置单位包括第一下逻辑编程单元与第一上逻辑编程单元。该第一配置单位是以第一下逻辑编程单元开始并以第一上逻辑编程单元结束,并且文件系统的数据区的起始逻辑地址是属于所述下逻辑编程单元的其中之一。
在一范例实施例中,上述的存储器信息还包括存储器储存装置的通道数,可复写式非易失性存储器模块的平面数,与存储器储存装置的交错数。
在一范例实施例中,上述的第一下逻辑编程单元是映射至所述下物理编程单元中的n个下物理编程单元,第一上逻辑编程单元是映射至所述上物理编程单元中的n个上物理编程单元。n为正整数,并且正整数n是根据通道数、平面数与交错数所计算出。
在一范例实施例中,上述的文件系统还包括一保留区。保留区的地址是在数据区的地址之前。上述根据存储器信息来格式化所述逻辑地址的步骤还包括:调整保留区的大小,使得逻辑地址被格式化后,数据区的起始逻辑地址是属于所述下逻辑编程单元的其中之一。
在一范例实施例中,上述取得可复写式非易失性存储器模块的存储器信息的步骤是由主机系统上的应用程序下达制造商指令所取得。并且,该应用程序会格式化上述的逻辑地址以建立文件系统。
以另外一个角度来说,本发明一范例实施例提出一种存储器储存装置,包括连接器、上述的可复写式非易失性存储器模块与存储器控制器。连接器是用以电性连接至主机系统。存储器控制器是电性连接至连接器与可复写式非易失性存储器模块,用以配置上述的多个逻辑地址以映射至部分的物理抹除单元。存储器控制器用以提供可复写式非易失性存储器模块的存储器信息给主机系统。其中,存储器信息包括上述的编程顺序。存储器控制器也用以根据来自主机系统的一指令来格式化逻辑地址以建立文件系统,使得文件系统包括多个配置单位,其中一个第一配置单位包括第一下逻辑编程单元与第 一上逻辑编程单元。该第一配置单位是以第一下逻辑编程单元开始并以第一上逻辑编程单元结束。其中,文件系统的数据区的起始逻辑地址是属于所述下逻辑编程单元的其中之一。
在一范例实施例中,上述的存储器控制器还用以接收来自主机系统的制造商指令,并且在接收制造商指令以后提供存储器信息给主机系统。
在一范例实施例中,上述的存储器控制器还用以将所述的物理抹除单元划分出数据区与闲置区,并且所述的逻辑地址是映射至数据区中的物理抹除单元。存储器控制器还用以接收来自主机系统的写入指令,此写入指令指示将第一数据写入第二逻辑地址。第二逻辑地址是属于上述的第一配置单位,并且第二逻辑地址是映射至第一物理抹除单元中的第一物理编程单元。其中,依照编程顺序,第一物理编程单元是在第一物理抹除单元的第二物理编程单元之后,第二物理编程单元是映射至上述配置单位中的第二配置单位,并且第二配置单位不同于上述的第一配置单位。存储器控制器还用以从闲置区提取第二物理抹除单元,将储存在第二物理编程单元的数据写入至第二物理抹除单元,接着将第一数据写入至第二物理抹除单元。
在一范例实施例中,上述的存储器控制器用以根据一对齐映射表将储存在第二物理编程单元的数据写入至第二物理抹除单元,接着将第一数据写入至第二物理抹除单元。
在一范例实施例中,上述的编程顺序指示在一物理抹除单元内,一下物理编程单元被编程以后,下物理编程单元与上物理编程单元是依序且交错地被编程。
以另外一个角度来说,本发明一范例实施例提出一种存储器控制器,包括主机接口、存储器接口与存储器管理电路。主机接口是用以电性连接至主机系统。存储器接口是电性连接至上述的可复写式非易失性存储器模块。存储器管理电路是电性连接至主机接口与存储器接口,用以配置上述的多个逻辑地址以映射至部分的物理抹除单元。存储器管理电路用以提供可复写式非易失性存储器模块的存储器信息给主机系统。其中,存储器信息包括上述的编程顺序。存储器管理电路也用以根据来自主机系统的一指令来格式化逻辑地址以建立文件系统,使得文件系统包括多个配置单位,其中一个第一配置单位包括第一下逻辑编程单元与第一上逻辑编程单元。该第一配置单位是以第一下逻辑编程单元开始并以第一上逻辑编程单元结束。其中,文件系统的 数据区的起始逻辑地址是属于所述下逻辑编程单元的其中之一。
在一范例实施例中,上述的存储器管理电路还用以接收来自主机系统的制造商指令,并且在接收制造商指令以后提供存储器信息给主机系统。
在一范例实施例中,上述的存储器管理电路还用以将所述的物理抹除单元划分出数据区与闲置区,并且所述的逻辑地址是映射至数据区中的物理抹除单元。存储器管理电路还用以接收来自主机系统的写入指令,此写入指令指示将第一数据写入第二逻辑地址。第二逻辑地址是属于上述的第一配置单位,并且第二逻辑地址是映射至第一物理抹除单元中的第一物理编程单元。其中,依照编程顺序,第一物理编程单元是在第一物理抹除单元的第二物理编程单元之后,第二物理编程单元是映射至上述配置单位中的第二配置单位,并且第二配置单位不同于上述的第一配置单位。存储器管理电路还用以从闲置区提取第二物理抹除单元,将储存在第二物理编程单元的数据写入至第二物理抹除单元,接着将第一数据写入至第二物理抹除单元。
在一范例实施例中,上述的存储器管理电路用以根据一对齐映射表将储存在第二物理编程单元的数据写入至第二物理抹除单元,接着将第一数据写入至第二物理抹除单元。
在一范例实施例中,上述的编程顺序指示在一物理抹除单元内,一下物理编程单元被编程以后,下物理编程单元与上物理编程单元是依序且交错地被编程。
基于上述,本发明范例实施例提出的存储器地址管理方法、存储器储存装置与存储器控制器,可以在把数据写入至一个配置单位时,先编程下物理编程单元再编程上物理编程单元,藉此可以增加存储器储存装置的存取频宽。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
图4是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。
图5是根据一范例实施例绘示编程顺序的示意图。
图6是根据一范例实施例绘示一个逻辑编程单元映射至多个物理编程单元的示意图。
图7A与图7B是根据一范例实施例绘示主机系统下达写入指令的范例示意图。
图8是根据一范例实施例绘示文件系统的示意图。
图9A是根据一范例实施例绘示数据区映射至物理抹除单元的示意图。
图9B是根据一范例实施例绘示写入第一数据的范例示意图。
图10是根据一范例实施例绘示对齐映射表的示意图。
图11是根据第二范例实施例绘示写入数据的示意图。
图12是根据第二范例实施例绘示对齐映射表的示意图。
图13是根据一范例实施例绘示存储器地址管理方法的流程图。
[标号说明]
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:可复写式非易失性存储器模块
304(0)~304(R):物理抹除单元 202:存储器管理电路
204:主机接口 206:存储器接口
252:缓冲存储器 254:电源管理电路
256:错误检查与校正电路 402:数据区
404:闲置区 406:系统区
410(0)~410(D):逻辑地址
522(0)~522(E)、600:逻辑编程单元
510A、512A、514A、516A、532A、930A、932A、934A:下物理编程单元
510B、512B、514B、930B:上物理编程单元
610(0)~610(15):物理编程单元 P0、P1:平面
I0、I1、I2、I3:交错 S701~S706、S1101、S1102:步骤
709~711、720、721:时间 810:开机区
820:保留区 830:文件配置表
840:数据区 850:第一逻辑地址
860:起始逻辑地址 910:第一数据
920:第二逻辑地址 922:配置单位
1010、1020、1210、1220:行 S1301、S1302:步骤
具体实施方式
[第一范例实施例]
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图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是兼容于通用序列总线(Universal Serial Bus,USB)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速外围零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、序列先进附件(Serial Advanced 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 Device Electronics,IDE)标准或其它适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或 控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理抹除单元304(0)~304(R)。例如,物理抹除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有多个物理编程单元,并且属于同一个物理抹除单元的物理编程单元可被独立地写入且被同时地抹除。例如,每一物理抹除单元是由128个物理编程单元所组成。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理编程单元、256个物理编程单元或其它任意个物理编程单元所组成。
更具体来说,每一个物理抹除单元包括多条字线与多条位线,其中每一条字线与每一位线交叉处配置有一个存储单元。每一个存储单元可储存一或多个位。在同一个物理抹除单元中,所有的存储单元会一起被抹除。在此范例实施例中,物理抹除单元为抹除的最小单位。亦即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。例如,物理抹除单元为物理区块。另一方面,同一条字线上的存储单元会组成一或多个物理编程单元。若每一个存储单元可储存2个以上的位,则同一条字线上的多个物理编程单元可被分类为下物理编程单元与上物理编程单元。一般来说,下物理编程单元的写入速度会大于上物理编程单元的写入速度。在此范例实施例中,物理编程单元为编程(写入数据)的最小单元。例如,物理编程单元为物理页面或是物理扇(sector)。若物理编程单元为物理页面,则每一个物理编程单元通常包括数据位区与冗余位区。数据位区包含多个物理扇,用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据位区包含32个物理扇,且一个物理扇的大小为512字节(byte,B)。然而,在其它范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的物理扇,本发明并不限制物理扇的大小以及个数。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,MLC)NAND型闪存模块,即一个存储单元中可储存至少2个位数据。然而,本发明不限于此,可复写式非易失性存储器模块106亦可是多阶存储单元(Trinary Level Cell,TLC)NAND型闪存模块、其它闪存模块或 其它具有相同特性的存储器模块。
图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
请参照图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制器104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制器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所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误更正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误更正码,并且错误检查与校正电路256会依据此错误更正码对所读取的数据执行错误检查与校正程序。
图4是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的物理抹除单元的运作时,以“提取”、“划分”、“关联”等词来操作物理抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的物理抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的物理抹除单元进行操作。
请参照图4,存储器管理电路202可将可复写式非易失性存储器模块的物理抹除单元304(0)~304(R)逻辑地划分为多个区域,例如为数据区402、闲置区404与系统区406。
数据区402的物理抹除单元是用以储存来自主机系统1000的数据。闲置区404的物理抹除单元是用以作为数据区402的暂存区。举例来说,若主机系统1000要更新数据区402中的数据,则此数据会先被写入至闲置区404中,之后这些数据会被搬移至数据区402中或与数据区402中的数据合并。或者,闲置区404的物理抹除单元也可用来替换数据区402与系统区406的物理抹除单元。也就是说,当数据区402与系统区406中的物理抹除单元损毁(即,成为坏物理抹除单元(bad physical erasing unit))时,闲置区404的物理抹除单元可用来替换此坏物理抹除单元。倘若闲置区404中无正常的物理抹除单元且有物理抹除单元损毁时,则存储器控制器104会将整个存储器储存装置100宣告为写入保护(write protect)状态,而无法再写入数据。在另一范例实施例中,存储器管理电路202可再划分出一个取代区,专门存放用来替换坏物理抹除单元的物理抹除单元,本发明并不在此限。
系统区406的物理抹除单元是用以记录系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的物理抹除单元数、每一物理抹除单元的物理编程单元数等。
数据区402、闲置区404与系统区406的物理抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运作中,物理抹除单元关联至数据区402、闲置区404与系统区406的分组关系会动态地变动。例如,当数据区402中的物理抹除单元损坏而被闲置区404的物理抹除单元取代时,则原本闲置区404的物理抹除单元会被关联至数据区402。
存储器管理电路202会配置逻辑地址410(0)~410(D)以映射至数据区402中的物理抹除单元304(0)~304(A)。主机系统1000是通过逻辑地址410(0)~410(D)来存取数据区402中的数据。在此范例实施例中,一个逻辑地址是映射至一个物理扇,多个逻辑地址会组成一个逻辑编程单元,并且多个逻辑编程单元会组成一个逻辑抹除单元。一个逻辑编程单元是映射至一或多个物理编程单元,而一个逻辑抹除单元是映射至一或多个物理抹除单元。
在此范例实施例中,存储器管理电路202是以逻辑抹除单元来管理可复写式非易失性存储器模块106,因此存储器管理电路202会建立一个映射表以记录逻辑抹除单元与物理抹除单元之间的映射关系。在另一范例实施例中,存储器管理电路202是以逻辑编程单元来管理可复写式非易失性存储器模块106,因此存储器管理电路202会建立一个映射表以记录逻辑编程单元与物理编程单元之间的映射关系。
图5是根据一范例实施例绘示编程顺序的示意图。在此范例实施例中,存储器管理电路202是以逻辑抹除单元来管理可复写式非易失性存储器模块106。举例来说,请参照图5,物理抹除单元304(0)中包括了多个下物理编程单元与上物理编程单元。下物理编程单元510A与上物理编程单元510B是位于同一条字线上,下物理编程单元512A与上物理编程单元512B是位于同一条字线上,以此类推。图5中物理编程单元内的数字表示编程的顺序。即下物理编程单元510A必须先被编程以后,下物理编程单元512A才能被编程。以另外一个角度来说,上述的编程顺序指示在物理抹除单元304(0)内,下物理编程单元510A被编程以后,其余的下物理编程单元与上物理编程单元是依序且交错地被编程。逻辑抹除单元520是映射至物理抹除单元304(0),并且逻辑抹除单元520包括了逻辑编程单元522(0)~522(E)。其中,逻辑编程单元522(0)是映射至下物理编程单元510A,逻辑编程单元522(1)是映射至下物理编程单元512A,而逻辑编程单元522(2)是映射至上物理编程单元510B,以此类推。
逻辑抹除单元520中逻辑地址的地址是依序排列的,亦即只要逻辑抹除单元520的起始逻辑地址决定了,则逻辑编程单元522(0)~522(E)中的逻辑地址也会被决定。在此范例实施例中,逻辑编程单元522(0)~522(E)也可被分为下逻辑编程单元与上逻辑编程单元。其中,下逻辑编程单元会映射至下物理编程单元,而上逻辑编程单元会映射至上物理编程单元。例如,逻辑编程单 元522(0)与522(1)可被称为下逻辑编程单元,逻辑编程单元522(2)可被称为上逻辑编程单元,以此类推。在其它范例实施例中,一个物理抹除单元中的物理编程单元可以有其它的编程顺序,本发明并不在此限。
图6是根据一范例实施例绘示一个逻辑编程单元映射至多个物理编程单元的示意图。
请参照图6,不论存储器管理电路202是以逻辑抹除单元或是逻辑编程单元来管理可复写式非易失性存储器模块106,存储器管理电路202可以将多个物理编程单元分为一个群组(亦称超级物理编程单元),而一个逻辑编程单元会映射到此群组。例如,逻辑编程单元600是映射至物理编程单元610(0)~610(15)。然而,逻辑编程单元600可以是下逻辑编程单元或是上逻辑编程单元。若逻辑编程单元600是下逻辑编程单元,则物理编程单元610(0)~610(15)都为下物理编程单元。若逻辑编程单元600是上逻辑编程单元,则物理编程单元610(0)~610(15)都为上物理编程单元。
在此范例实施例中,存储器储存装置100中包括了两个通道,存储器控制器104是通过这两个通道存取不同部分的物理抹除单元304(0)~304(R)。这两个通道上的物理抹除单元可以独立的运作。例如,存储器控制器104对一个通道上的物理抹除单元执行写入操作时,存储器控制器104可以对另一个通道上的物理抹除单元执行读取操作或其它操作。图6中,物理编程单元610(0)~610(7)是属于第一通道,而物理编程单元610(8)~610(15)是属于第二通道。
在存储器储存装置100中,同一个通道中的物理编程单元可以属于不同的交错(interleave)。在一范例实施例中,不同交错的物理编程单元是属于不同的芯片。存储器控制器104在编程某一个芯片中的物理编程单元以后,不需要等对应的芯片回复准备好(ready)讯号,便可以继续编程下一个芯片中的物理编程单元。举例来说,物理编程单元610(0)~610(1)是属于第一交错I0、物理编程单元610(2)~610(3)是属于第二交错I1、物理编程单元610(4)~610(5)是属于第三交错I2、物理编程单元610(6)~610(7)是属于第四交错I3。当存储器控制器104编程物理编程单元610(0)~610(1)以后,编程物理编程单元610(0)~610(1)所属的芯片会短暂地呈现忙碌(bust)的状态,但此时存储器控制器104可以编程物理编程单元610(2)~610(3),接着依序是第三交错I2与第四交错I3中的物理编程单元。在编程物理编程单元610(6)~610(7)以后,存 储器控制器104可以再编程属于第一交错I0的物理编程单元。
在可复写式非易失性存储器模块106中,同一个交错(芯片)中的物理编程单元还可以属于不同的平面(plane)。例如,物理编程单元610(0)是属于第一平面P0,而物理编程单元610(1)是属于第二平面P1。物理编程单元610(0)与610(1)可以通过同一个指令被编程。通过图6中的配置,当主机系统要存取逻辑编程单元600时,存储器管理电路202会存取物理编程单元610(0)~610(15)。
在此,“通道数”表示存储器储存装置100有几个通道,“交错数”表示存储器储存装置100有几个交错,而“平面数”表示可复写式非易失性存储器模块106有几个平面。在图6的范例实施例中,通道数为2,交错数为4,并且平面数为2。但在其它范例实施例中,通道数、交错数与平面数也可以为其它的正整数,本发明并不在此限。在此,逻辑编程单元600是映射至n个物理编程单元,其中n为正整数。正整数n是根据通道数、平面数与交错数所计算出。例如,正整数n为通道数、平面数与交错数的乘积(在此范例实施例中为16)。换言之,如果一个物理编程单元的大小为16KB,逻辑编程单元600的大小即为256KB。通过上述多个通道、多个交错、与多个平面的机制,可以增加存取的频宽。
当主机系统1000要格式化存储器储存装置100时,主机系统1000会先取得可复写式非易失性存储器模块106的存储器信息,之后再根据此存储器信息来格式化逻辑地址410(0)~410(D)以建立一个文件系统。举例来说,主机系统1000会下达一个制造商指令(vendor command)给存储器管理电路202来取得存储器信息。一般来说,主机系统1000上的操作系统并不能使用制造商指令,主机系统1000上必须安装制造商所提供的应用程序以后才能使用制造商指令。此制造商指令可用以存取系统区406的数据,或是设置存储器储存装置100的一个密码等其它操作,本发明并不在此限。在接收到制造商指令以后,存储器管理电路202会提供上述的存储器信息给主机系统1000。在一范例实施例中,此存储器信息包括物理抹除单元中下物理编程单元与上物理编程单元的编程顺序,上述的通道数,平面数,与交错数。
以另外一个角度来说,存储器管理电路202在提供存储器信息给主机系统1000以后,存储器管理电路202会根据主机系统1000下达的一个指令来格式化逻辑地址410(0)~410(D)以建立一个文件系统。例如,存储器管理电 路202会根据主机系统1000的指令把文件系统的信息写在对应的物理抹除单元中。特别的是,在逻辑地址410(0)~410(D)被格式化以后,文件系统会包括多个配置单位(allocation unit),每一个配置单位的大小是两个逻辑编程单元。配置单位是文件系统中用以管理文件的单位,即一个文件的大小若小于一个配置单位的大小,则文件系统仍然会以一个配置单位来储存此文件。在此范例实施例中,其中一个配置单位(亦称第一配置单位)会包括一个下逻辑编程单元(亦称第一下逻辑编程单元)与一个上逻辑编程单元(亦称第一上逻辑编程单元)。此外,上述的第一配置单位是以第一下逻辑编程单元开始,并以第一上逻辑编程单元结束。依照图6所绘示的映射关系,第一下逻辑编程单元是映射至n个下物理编程单元,而第一上逻辑编程单元是映射至n个上物理编程单元。当主机系统1000要把数据写入至第一配置单位时,存储器管理电路202会先把数据写入至n个下物理编程单元,接下来再把数据写入至n个上物理编程单元。在另一范例实施例中,所有的配置单位包括了多个下逻辑编程单元与多个上逻辑编程单元,但其中一个配置单位是以下逻辑编程单元开始,并以上逻辑编程单元结束
图7A是根据一范例实施例绘示主机系统下达写入指令的范例示意图。
请参照图7A,在步骤S701中,主机系统1000会下达写入指令给存储器储存装置100。此写入指令会指示将第一数据写入至至少一个逻辑地址当中,并且此逻辑地址是属于上述的第一配置单位。在步骤S702中,主机系统1000会传送第一数据给存储器储存装置100。在接收到第一数据以后,在步骤S703,存储器管理电路202会把部分的第一数据写入至映射到第一下逻辑编程单元的n个下物理编程单元。接下来,存储器管理电路202会等待时间709,直到可复写式非易失性存储器模块106的状态从忙碌(busy)改变为准备好(ready)。在步骤S704中,存储器管理电路202会再把其余部分的第一数据写入至映射到第一上逻辑编程单元的n个上物理编程单元,并且在时间710内,可复写式非易失性存储器模块106的状态是忙碌(busy)。步骤S705中,存储器管理电路202会传送一个状态消息给主机系统1000,用以表示存储器管理电路202可以接收下一个写入指令。在接收到状态消息并且经过时间711以后,主机系统1000会在步骤S706下达另一个写入指令给存储器储存装置100。值得住意的是,主机系统1000在接收到状态指令以后,并不能马上传送下一个写入指令(此现象称为主机延迟)。然而,在步骤S704后,存储器管理电路 202等待的时间710会跟时间711重迭,藉此可以减少下达两个写入指令之间的时间720。
图7B是绘示某一情况下主机系统下达写入指令的示意图。
请参照图7B,值得注意的是,图7B是用来说明图7A的优点,本范例实施例并不会依照图7B的流程来操作。图7B与图7A不同之处在于,图7B中的存储器管理电路202是先把数据写入至上物理编程单元再写入至下物理编程单元。因此,在接收到第一数据以后,存储器管理电路202会先把部分的第一数据写入至n个上物理编程单元(步骤S704),接着才把其余部分的第一数据写入至n个下物理编程单元(步骤S703)。然而,与时间711重迭的是时间709,而时间709会小于时间710,因此时间721会比图7A中的时间720还要长。
主机系统1000在格式化逻辑地址410(0)~410(D)时,所建立的文件系统可以是文件配置表(file allocation table,FAT)文件系统(例如,扩展FAT(exFAT),FAT16,FAT32等)、新技术文件系统(new technology file system,NTFS)、或其它任意的文件系统,本发明并不在此限。在此以FAT32为例,请参照图8,图8是根据一范例实施例绘示文件系统的示意图。FAT32文件系统至少包括了开机区810(boot sector)、保留区820(reserved sector)、文件配置表830与数据区840(data region)。开机区810是从第一逻辑地址850开始,而从逻辑地址410(0)到第一逻辑地址850之间的存储器空间是用以储存分割(partition)的信息。其中保留区820的(逻辑)地址是在开机区810的地址之后,文件配置表830的地址是在保留区820的地址之后,而数据区840的地址是在文件配置表830的地址之后,即各个区的顺序是固定的。在FAT文件系统中,配置单位亦被称为一个丛集(cluster),而数据区840中便会包括多个丛集。
在此范例实施例中,主机系统1000会先决定第一逻辑地址850,并且判断数据区840的起始逻辑地址860是否属于一个下逻辑编程单元。例如,主机系统1000可以根据第一逻辑地址850的数值、开机区810、保留区820与文件配置表830的大小来判断初始逻辑地址860是否属于一个下逻辑编程单元。若初始逻辑地址860不属于下逻辑编程单元,则主机系统1000会调整保留区820的大小,使得初始逻辑地址860会被往前或往后移动,而被移动后的初始逻辑地址860会属于一个下逻辑编程单元(即,映射到至少一个下物理编程单元)。
图9A是根据一范例实施例绘示数据区映射至物理抹除单元的示意图。
请参照图8与图9A,在此假设数据区840的起始逻辑地址860是映射至下物理编程单元514A,并且一个逻辑编程单元是映射至一个物理编程单元(即,上述的正整数n为1)。因此,数据区840中的第一个配置单元是映射至下物理编程单元514A与上物理编程单元512B,并且数据区840中的第二个配置单元是映射至下物理编程单元516A与上物理编程单元514B,以此类推。也就是说,由于数据区840是从下物理编程单元514A开始,因此从起始逻辑地址860开始的大多数的配置单位中都会以下逻辑编程单元开始,并以上逻辑编程单元结束,而得到如图7A所绘示的好处。
在本范例实施例中,通过调整保留区820的大小,起始逻辑地址860并不会映射至下物理编程单元510A。这是因为若起始逻辑地址860映射至下物理编程单元510A,则数据区840中第一个配置单位会映射至下物理编程单元510A与512A;而数据区840中第二个配置单位会映射至上物理编程单元510B与下物理编程单元514A;数据区840中第三个配置单位会映射至上物理编程单元512B与下物理编程单元516A,而产生图7B的现象。换言之,在此范例实施例中,主机系统1000上的应用程序会设定起始逻辑地址860属于一个特定的下逻辑编程单元,使得从此特定的下逻辑编程单元开始,下逻辑编程单元与上逻辑编程单元是交错地配置。
为了确保主机系统1000在把数据写入到一个配置单位时,该数据会先被写入至下物理编程单元再写入至上物理编程单元,存储器管理电路202必须管理逻辑编程单元与物理编程单元之间的映射关系。
图9B是根据一范例实施例绘示写入第一数据的范例示意图。
请参照图9B,在此假设主机系统下达了一个写入指令,其指示将第一数据910从第二逻辑地址920开始写入;第二逻辑地址920是属于配置单位922;配置单位922原本是映射至物理抹除单元304(0)(亦称第一物理抹除单元)中的下物理编程单元514A与上物理编程单元512B,其中第二逻辑地址920是映射至下物理编程单元514A(亦称第一物理编程单元)。由于一个物理抹除单元在被抹除前无法被编程,存储器管理电路202会从闲置区404中提取物理抹除单元304(A+1)(亦称第二物理抹除单元)。特别的是,存储器管理电路202会从下物理编程单元932A开始写入第一数据910,使得配置单位922是映射至下物理编程单元932A与上物理编程单元930B。更详细来说,依照上述的 编程顺序,下物理编程单元514A是在上物理编程单元510B(亦称第二物理编程单元)之后。存储器管理电路202会将上物理编程单元510B所储存的数据写入至下物理编程单元930A,并将第一数据910写入至下物理编程单元932A。若还有第一数据910尚未被写入,则存储器管理电路202会将剩余的第一数据910写入至上物理编程单元930B。接下来,在某一时间点,存储器管理电路202会整并物理抹除单元304(0)与物理抹除单元304(A+1)中的有效数据。在此,物理抹除单元304(0)亦称为母(mother)物理抹除单元,而物理抹除单元304(A+1)亦称为子(child)物理抹除单元。
值得注意的是,存储器管理电路202不会从下物理编程单元930A开始写入第一数据910。这是由于若从下物理编程单元930A开始写入第一数据910,表示下物理编程单元930A与下物理编程单元932A会映射至一个配置单位,而下一个配置单位会映射至上物理编程单元930B与下物理编程单元934A。如此一来,在把数据写入至此下一个配置单位时,会产生如图7B所绘示的现象。在一范例实施例中,存储器管理电路是根据一个对齐映射表来管理逻辑编程单元与物理编程单元之间的映射关系,以避免上述的情形发生。
图10是根据一范例实施例绘示对齐映射表的示意图。在图10中,有圆圈的数字表示逻辑编程单元的编号,而没有圆圈的数字代表物理编程单元的编号。请参照图5与图10,逻辑编程单元522(0)的编号为0,而逻辑编程单元522(1)的编号为1,以此类推。物理编程单元的编号便是图5中的编程顺序。在此范例实施例中,编号为1与2的逻辑编程单元组成一个配置单位,其对应至行1010;编号为3与4的逻辑编程单元组成一个配置单位,其对应至行1020。此外,“补0”所代表的意思是,存储器管理电路202会从母物理抹除单元中将对应编号为0的逻辑编程单元的数据搬移至子物理抹除单元中对应的物理编程单元。举例来说,当从闲置区404提取一个物理抹除单元后,若要写入的逻辑编程单元的编号为1与2(对应至行1010),则存储器管理电路202会根据行1010上的映射关系来写入数据,即母物理抹除单元中将对应编号为0的逻辑编程单元中的数据搬移至子物理抹除单元中编号为0的物理编程单元,接下来属于编号1与2的逻辑编程单元的数据会分别被写入至子物理抹除单元中编号为1与2的物理编程单元。若要写入的逻辑编程单元的编号是3与4(对应至行1020),则存储器管理电路202会根据行1020上的映射关系来写入数据,即母物理抹除单元中将对应编号为2的逻辑编程单元中的数据 搬移至子物理抹除单元中编号为0的物理编程单元,并且属于编号3与4的逻辑编程单元的数据会分别被写入至子物理抹除单元中编号为1与2的物理编程单元。
请参照图9B与图10,更具体来说,配置单位922包括了编号3与4的逻辑编程单元。因此,存储器管理电路202会根据对齐映射表中行1020上的映射关系,将储存在上物理编程单元510B(其编号为2)中的数据写入至下物理编程单元930A(其编号为0),接下来再把第一数据910写入至下物理编程单元932A(编号为1)。
[第二范例实施例]
第二范例实施例与第一范例实施例类似,但第二范例实施例中物理编程单元的编程顺序不同于第一范例实施例的编程顺序。图11是根据第二范例实施例绘示写入数据的示意图。请参照图11,在物理抹除单元304(0)中,下物理编程单元510A、上物理编程单元510B、下物理编程单元512A会依序被编程。与第一范例实施例相同的是,配置单位922会以下逻辑编程单元开始,并且以上逻辑编程单元结束。具体来说,下物理编程单元510A与上物理编程单元510B会映射至一个配置单位,下物理编程单元512A与上物理编程单元512B会映射至另一个配置单位,以此类推。在此假设配置单位922包括了编号2的下逻辑编程单元与编号3的上逻辑编程单元,其是分别映射至下物理编程单元512A与上物理编程单元512B。
在第二范例实施例中,存储器管理电路202也会依照对齐映射表来写入第一数据910。图12是根据第二范例实施例绘示对齐映射表的示意图。图12中各个编号所代表的意思如同图10中各个编号所代表的意思,在此并不再赘述。请参照图11与图12,配置单位922是对应至行1220,因此在提取物理抹除单元304(A+1)以后,存储器管理电路202会从下物理编程单元930A(其编号为0)开始写入第一数据910,接着是上物理编程单元930B(其编号为1)。
[第三范例实施例]
第三范例实施例与第一范例实施例类似,在此仅描述不同之处。在第三范例实施例中,存储器管理电路202是以逻辑编程单元来管理可复写式非易失性存储器模块106。存储器管理电路202是通过一个映射表(记录了逻辑编程单元与物理编程单元之间的映射关系)来决定一个逻辑编程单元是映射至下物理编程单元或是上物理编程单元。在格式化逻辑地址410(0)~410(D)以 后,一个配置单位中包括了第一下逻辑编程单元与第一上逻辑编程单元。存储器管理电路202会设定上述的映射表,使得第一下逻辑编程单元是映射至下物理编程单元,并且让第一上逻辑编程单元映射至上物理编程单元。存储器管理电路202也会设定此映射表,使得图8中数据区840的起始逻辑地址860是映射至某一个下物理编程单元。
图13是根据一范例实施例绘示存储器地址管理方法的流程图。
请参照图13,在步骤S1301中,取得可复写式非易失性存储器模块的存储器信息,其包括了编程顺序。在步骤S1302中,根据存储器信息来格式化逻辑地址以建立一文件系统,使得文件系统的一第一配置单位包括第一下逻辑编程单元与第一上逻辑编程单元,该第一配置单位是以第一下逻辑编程单元开始并以第一上逻辑编程单元结束,并且文件系统的数据区的起始逻辑地址是属于某一个下逻辑编程单元。
然而,图13中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图13中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图13的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
综上所述,本发明范例实施例提出的存储器地址管理方法,存储器储存装置与存储器控制器,可以设定文件系统的配置单位与逻辑地址,使得在写入数据至存储器储存装置时,可复写式非易失性存储器模块忙碌的时间会与主机延迟的时间重迭。如此一来,可以增加存储器储存装置的存取频宽。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (21)
1.一种存储器地址管理方法,其特征在于,用于一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括多个物理抹除单元,每一该多个物理抹除单元包括多个下物理编程单元与多个上物理编程单元,该多个下物理编程单元与该多个上物理编程单元是依照一编程顺序被编程,多个逻辑地址映射至部分的该些物理抹除单元,该些逻辑地址组成多个逻辑编程单元,该些逻辑编程单元映射至每一该些物理抹除单元的该些下物理编程单元与该些上物理编程单元,该些逻辑编程单元被分为多个下逻辑编程单元与多个上逻辑编程单元,该存储器地址管理方法包括:
取得该可复写式非易失性存储器模块的一存储器信息,其中该存储器信息包括该编程顺序;以及
根据该存储器信息来格式化该些逻辑地址以建立一文件系统,使得该文件系统包括多个配置单位,该些配置单位中的一第一配置单位包括该些下逻辑编程单元中的一第一下逻辑编程单元与该些上逻辑编程单元中的一第一上逻辑编程单元,该第一配置单位是以该第一下逻辑编程单元开始并以该第一上逻辑编程单元结束,并且该文件系统的一数据区的一起始逻辑地址是属于该些下逻辑编程单元的其中之一。
2.根据权利要求1所述的存储器地址管理方法,其特征在于,其中该存储器信息还包括一存储器储存装置的一通道数,该可复写式非易失性存储器模块的一平面数,与该存储器储存装置的一交错数。
3.根据权利要求2所述的存储器地址管理方法,其特征在于,其中该第一下逻辑编程单元是映射至该些下物理编程单元中的n个下物理编程单元,该第一上逻辑编程单元是映射至该些上物理编程单元中的n个上物理编程单元,n为正整数,并且该正整数n是根据该通道数、该平面数与该交错数所计算出。
4.根据权利要求1所述的存储器地址管理方法,其特征在于,其中该文件系统还包括一保留区,该保留区的地址是在该数据区的地址之前,其中,根据该存储器信息来格式化该些逻辑地址的步骤还包括:
调整该保留区的大小,使得该些逻辑地址被格式化后,该数据区的该起始逻辑地址是属于该些下逻辑编程单元的其中之一。
5.根据权利要求1所述的存储器地址管理方法,其特征在于,其中取得该可复写式非易失性存储器模块的该存储器信息的步骤是由一主机系统上的一应用程序下达一制造商指令所取得,并由该应用程序格式化该些逻辑地址以建立该文件系统。
6.一种存储器储存装置,其特征在于,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,包括多个物理抹除单元,其中每一该些物理抹除单元包括多个下物理编程单元与多个上物理编程单元,并且该些下物理编程单元与该些上物理编程单元是依照一编程顺序被编程;以及
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,用以配置多个逻辑地址以映射至部分的该些物理抹除单元,其中该些逻辑地址组合多个逻辑编程单元,该些逻辑编程单元映射至每一该些物理抹除单元的该些下物理编程单元与该些上物理编程单元,并且该些逻辑编程单元被分为多个下逻辑编程单元与多个上逻辑编程单元,
其中,该存储器控制器用以提供该可复写式非易失性存储器模块的一存储器信息给该主机系统,并且该存储器信息包括该编程顺序,
其中,该存储器控制器用以根据来自该主机系统的一指令来格式化该些逻辑地址以建立一文件系统,使得该文件系统包括多个配置单位,该些配置单位中的一第一配置单位包括该些下逻辑编程单元中的一第一下逻辑编程单元与该些上逻辑编程单元中的一第一上逻辑编程单元,该第一配置单位是以该第一下逻辑编程单元开始并以该第一上逻辑编程单元结束,并且该文件系统的一数据区的一起始逻辑地址是属于该些下逻辑编程单元的其中之一。
7.根据权利要求6所述的存储器储存装置,其特征在于,其中该存储器信息还包括该存储器储存装置的一通道数,该可复写式非易失性存储器模块的一平面数,与该存储器储存装置的一交错数。
8.根据权利要求7所述的存储器储存装置,其特征在于,其中该第一下逻辑编程单元是映射至该些下物理编程单元中的n个下物理编程单元,该第一上逻辑编程单元是映射至该些上物理编程单元中的n个上物理编程单元,n为正整数,并且该正整数n是根据该通道数、该平面数与该交错数所计算出。
9.根据权利要求6所述的存储器储存装置,其特征在于,其中该文件系统还包括一保留区,该保留区的地址是在该数据区的地址之前,
其中,该保留区的大小被调整,使得该些逻辑地址被格式化后,该数据区的该起始逻辑地址是属于该些下逻辑编程单元的其中之一。
10.根据权利要求6所述的存储器储存装置,其特征在于,其中该存储器控制器还用以接收来自该主机系统的一制造商指令,并且在接收该制造商指令以后提供该存储器信息给该主机系统。
11.根据权利要求6所述的存储器储存装置,其特征在于,其中该存储器控制器还用以将该些物理抹除单元划分出一数据区与一闲置区,并且该些逻辑地址是映射至该数据区中的该些物理抹除单元,
其中该存储器控制器还用以接收来自该主机系统的一写入指令,其中该写入指令指示将一第一数据写入该些逻辑地址中的一第二逻辑地址,该第二逻辑地址是属于该第一配置单位,该第二逻辑地址是映射至该些物理抹除单元中的一第一物理抹除单元中的一第一物理编程单元,
其中,依照该编程顺序,该第一物理编程单元是在该第一物理抹除单元的一第二物理编程单元之后,该第二物理编程单元是映射至该些配置单位中一第二配置单位,并且该第二配置单位不同于该第一配置单位,
其中,该存储器控制器还用以从该闲置区提取一第二物理抹除单元,将储存在该第二物理编程单元的数据写入至该第二物理抹除单元,接着将该第一数据写入至该第二物理抹除单元。
12.根据权利要求11所述的存储器储存装置,其特征在于,其中该存储器控制器用以根据一对齐映射表将储存在该第二物理编程单元的数据写入至该第二物理抹除单元,接着将该第一数据写入至该第二物理抹除单元。
13.根据权利要求12所述的存储器储存装置,其特征在于,其中该编程顺序指示在该些物理抹除单元的其中之一内,该些下物理编程单元的其中之一被编程以后,该些下物理编程单元的其中的另一与该些上物理编程单元的其中之一是依序且交错地被编程。
14.一种存储器控制器,其特征在于,用于控制一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括多个物理抹除单元,每一该些物理抹除单元包括多个下物理编程单元与多个上物理编程单元,并且该些下物理编程单元与该些上物理编程单元是依照一编程顺序被编程,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,用以配置多个逻辑地址映射至部分的该些物理抹除单元,其中该些逻辑地址组成多个逻辑编程单元,该些逻辑编程单元映射至每一该些物理抹除单元的该些下物理编程单元与该些上物理编程单元,并且该些逻辑编程单元被分为多个下逻辑编程单元与多个上逻辑编程单元,
其中,该存储器管理电路用以提供该可复写式非易失性存储器模块的一存储器信息给该主机系统,并且该存储器信息包括该编程顺序,
其中,该存储器管理电路用以根据来自该主机系统的一指令来格式化该些逻辑地址以建立一文件系统,使得该文件系统包括多个配置单位,该些配置单位中的一第一配置单位包括该些下逻辑编程单元中的一第一下逻辑编程单元与该些上逻辑编程单元中的一第一上逻辑编程单元,该第一配置单位是以该第一下逻辑编程单元开始并以该第一上逻辑编程单元结束,并且该文件系统的一数据区的一起始逻辑地址是属于该些下逻辑编程单元的其中之一。
15.根据权利要求14所述的存储器控制器,其特征在于,其中该存储器信息还包括一存储器储存装置的一通道数,该可复写式非易失性存储器模块的一平面数,与该存储器储存装置的一交错数。
16.根据权利要求15所述的存储器控制器,其特征在于,其中该第一下逻辑编程单元是映射至该些下物理编程单元中的n个下物理编程单元,该第一上逻辑编程单元是映射至该些上物理编程单元中的n个上物理编程单元,n为正整数,并且该正整数n是根据该通道数、该平面数与该交错数所计算出。
17.根据权利要求14所述的存储器控制器,其特征在于,其中该文件系统还包括一保留区,该保留区的地址是在该数据区的地址之前,
其中,该保留区的大小被调整,使得该些逻辑地址被格式化后,该数据区的该起始逻辑地址是属于该些下逻辑编程单元的其中之一。
18.根据权利要求14所述的存储器控制器,其特征在于,其中该存储器管理电路还用以接收来自该主机系统的一制造商指令,并且在接收该制造商指令以后提供该存储器信息给该主机系统。
19.根据权利要求15所述的存储器控制器,其特征在于,其中该存储器管理电路还用以将该些物理抹除单元划分出一数据区与一闲置区,并且该些逻辑地址是映射至该数据区中的该些物理抹除单元,
其中该存储器管理电路还用以接收来自该主机系统的一写入指令,其中该写入指令指示将一第一数据写入该些逻辑地址中的一第二逻辑地址,该第二逻辑地址是属于该第一配置单位,该第二逻辑地址是映射至该些物理抹除单元中的一第一物理抹除单元中的一第一物理编程单元,
其中,依照该编程顺序,该第一物理编程单元是在该第一物理抹除单元的一第二物理编程单元之后,并且该第二物理编程单元是映射至该些配置单位中的一第二配置单位,
其中,该存储器管理电路还用以从该闲置区提取一第二物理抹除单元,将储存在该第二物理编程单元的数据写入至该第二物理抹除单元,接着将该第一数据写入至该第二物理抹除单元。
20.根据权利要求19所述的存储器控制器,其特征在于,其中该存储器管理电路用以根据一对齐映射表将储存在该第二物理编程单元的数据写入至该第二物理抹除单元,接着将该第一数据写入至该第二物理抹除单元。
21.根据权利要求20所述的存储器控制器,其特征在于,其中该编程顺序指示在该些物理抹除单元的其中之一内,该些下物理编程单元的其中之一被编程以后,该些下物理编程单元的其中的另一与该些上物理编程单元的其中之一是依序且交错地被编程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310355196.1A CN104375945B (zh) | 2013-08-15 | 2013-08-15 | 存储器地址管理方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310355196.1A CN104375945B (zh) | 2013-08-15 | 2013-08-15 | 存储器地址管理方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104375945A true CN104375945A (zh) | 2015-02-25 |
CN104375945B CN104375945B (zh) | 2018-03-13 |
Family
ID=52554880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310355196.1A Active CN104375945B (zh) | 2013-08-15 | 2013-08-15 | 存储器地址管理方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104375945B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727604A (zh) * | 2019-08-26 | 2020-01-24 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN111177018A (zh) * | 2018-11-12 | 2020-05-19 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN113010445A (zh) * | 2019-12-20 | 2021-06-22 | 爱思开海力士有限公司 | 数据存储装置、其操作方法及使用其的存储系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099125A (zh) * | 2004-12-16 | 2008-01-02 | 桑迪士克股份有限公司 | 群集的自动对准 |
TW200919474A (en) * | 2007-10-19 | 2009-05-01 | Phison Electronics Corp | Writing method for non-volatile memory and controller using the same |
TW201001422A (en) * | 2008-06-26 | 2010-01-01 | Phison Electronics Corp | Block accessing method for flash memory and storage system and controller using the same |
US20110099326A1 (en) * | 2009-10-27 | 2011-04-28 | Samsung Electronics Co., Ltd. | Flash memory system and defragmentation method |
-
2013
- 2013-08-15 CN CN201310355196.1A patent/CN104375945B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099125A (zh) * | 2004-12-16 | 2008-01-02 | 桑迪士克股份有限公司 | 群集的自动对准 |
TW200919474A (en) * | 2007-10-19 | 2009-05-01 | Phison Electronics Corp | Writing method for non-volatile memory and controller using the same |
TW201001422A (en) * | 2008-06-26 | 2010-01-01 | Phison Electronics Corp | Block accessing method for flash memory and storage system and controller using the same |
US20110099326A1 (en) * | 2009-10-27 | 2011-04-28 | Samsung Electronics Co., Ltd. | Flash memory system and defragmentation method |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177018A (zh) * | 2018-11-12 | 2020-05-19 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110727604A (zh) * | 2019-08-26 | 2020-01-24 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN110727604B (zh) * | 2019-08-26 | 2022-04-29 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN113010445A (zh) * | 2019-12-20 | 2021-06-22 | 爱思开海力士有限公司 | 数据存储装置、其操作方法及使用其的存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104375945B (zh) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104102585A (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
CN103544115B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN104423888A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI525625B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN103377129A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN106681652A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104636267A (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN103699491A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103914391B (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
TWI514141B (zh) | 記憶體位址管理方法、記憶體控制器與記憶體儲存裝置 | |
CN103544118A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN105224238A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN104252600B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN104252317A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN104375945A (zh) | 存储器地址管理方法、存储器控制器与存储器储存装置 | |
CN104731710A (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN103577344A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104657083A (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
CN103218308B (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 |