数据写入方法、存储器控制电路单元及存储器存储装置与流程

文档序号:23349488发布日期:2020-12-18 16:53阅读:66来源:国知局
本发明涉及一种数据写入方法、存储器控制电路单元及存储器存储装置。
背景技术
::数码相机、移动电话与mp3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。一般来说,可复写式非易失性存储器模块可以包括多个存储器子模块。每个存储器子模块具有多条字线,并且每一条字线上的存储单元可形成多个用以存储数据的实体页面。同一条字线上的存储单元所形成的多个实体页面又可称为实体页面组。一般来说,若要同时写入多个存储器子模块,缓冲存储器需要较多的空间存储来自主机系统的数据。例如,若可复写式非易失性存储器模块支援可同时地(或平行地)写入三个存储器子模块,则缓冲存储器中需要有三个实体页面组的大小的空间。当来自主机系统的数据写满缓冲存储器中的三个实体页面组的大小的空间时,存储器管理电路会将来自主机系统的数据从缓冲存储器同时地写入三个存储器子模块中。而假设要读取该数据时,存储器管理电路可以同时地(或平行地)从三个存储器子模块中读取该数据。然而,基于要同时地写入多个存储器子模块的原因,上述方式需要耗费较多的缓冲存储器的空间。技术实现要素:本发明提供一种数据写入方法、存储器控制电路单元及存储器存储装置,可以减少缓冲存储器所需的空间,并且可以保留平行地读取多个存储器子模块中的数据的技术效果。本发明提出一种数据写入方法,用于一可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储器子模块,所述多个存储器子模块中的每一个存储器子模块包括多个实体抹除单元,所述数据写入方法包括:从一主机系统取得多个数据,并将所述多个数据暂存在一缓冲存储器中;将暂存在所述缓冲存储器中的所述多个数据中的一第一数据以及一第二数据写入至所述多个存储器子模块中的一第一实体抹除单元中;从所述第一实体抹除单元中复制所述第一数据至一第二实体抹除单元;以及从所述第一实体抹除单元复制所述第二数据至一第三实体抹除单元,其中所述第二实体抹除单元所属的存储器子模块不同于所述第三实体抹除单元所属的存储器子模块。在本发明的一实施例中,所述多个存储器子模块分别通过多个通道连接一存储器控制电路单元,所述存储器控制电路单元通过所述多个通道平行地读取所述多个存储器子模块。在本发明的一实施例中,在将暂存在所述缓冲存储器中的所述多个数据中的所述第一数据以及所述第二数据写入至所述多个存储器子模块中的所述第一实体抹除单元中的步骤中,所述第一数据的写入以及所述第二数据的写入是在同一个写入操作中完成。在本发明的一实施例中,所述多个数据在所述主机系统中是根据一顺序被排列,所述第一数据包括一第一子数据以及一第二子数据,第二数据包括一第三子数据以及一第四子数据。其中从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的步骤包括:依序将所述第一子数据以及所述第二子数据分别写入至所述第二实体抹除单元中的一第一实体页面以及一第二实体页面。其中从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的步骤包括:依序将所述第三子数据以及所述第四子数据分别写入至所述第三实体抹除单元中的一第三实体页面以及一第四实体页面。其中在所述多个数据的顺序中所述第一子数据以及所述第二子数据为连续,所述第二子数据以及所述第三子数据为连续,所述第三子数据以及所述第四子数据为连续。在本发明的一实施例中,所述多个数据在所述主机系统中是根据一顺序被排列,所述第一数据包括一第五子数据以及一第六子数据,第二数据包括一第七子数据以及一第八子数据。其中从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的步骤包括:依序将所述第五子数据以及所述第六子数据分别写入至所述第二实体抹除单元中的一第五实体页面以及一第六实体页面。其中从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的步骤包括:依序将所述第七子数据以及所述第八子数据分别写入至所述第三实体抹除单元中的一第七实体页面以及一第八实体页面。其中在所述多个数据的顺序中所述第五子数据以及所述第七子数据为连续,所述第六子数据以及所述第七子数据为连续,所述第六子数据以及所述第八子数据为连续。在本发明的一实施例中,所述方法还包括:使用一第一比特数值标记所述第一实体抹除单元中用以存储所述第一数据以及所述第二数据的一第一实体页面组;使用一第二比特数值标记所述第二实体抹除单元中用以存储所述第一数据的一第二实体页面组;以及使用所述第二比特数值标记所述第三实体抹除单元中用以存储所述第二数据的一第三实体页面组。在本发明的一实施例中,当在执行一有效数据合并操作以及一平均磨损操作的至少其中之一时,执行从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的步骤以及从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的步骤。本发明提出一种存储器控制电路单元,用于控制一可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器子模块,所述多个存储器子模块中的每一个存储器子模块包括多个实体抹除单元,所述存储器控制电路单元包括:主机接口、存储器接口以及存储器管理电路。主机接口用以电性连接至一主机系统。存储器接口用以电性连接至所述可复写式非易失性存储器模块,且所述多个存储器子模块分别电性连接至所述存储器接口。存储器管理电路电性连接至所述主机接口以及所述存储器接口。所述存储器管理电路用以执行下述运作:从主机系统取得多个数据,并将所述多个数据暂存在一缓冲存储器中;将暂存在所述缓冲存储器中的所述多个数据中的一第一数据以及一第二数据写入至所述多个存储器子模块中的一第一实体抹除单元中;从所述第一实体抹除单元中复制所述第一数据至一第二实体抹除单元;以及从所述第一实体抹除单元复制所述第二数据至一第三实体抹除单元,其中所述第二实体抹除单元所属的存储器子模块不同于所述第三实体抹除单元所属的存储器子模块。在本发明的一实施例中,所述多个存储器子模块分别通过多个通道连接所述存储器管理电路,所述存储器管理电路通过所述多个通道平行地读取所述多个存储器子模块。在本发明的一实施例中,在将暂存在所述缓冲存储器中的所述多个数据中的所述第一数据以及所述第二数据写入至所述多个存储器子模块中的所述第一实体抹除单元中的运作中,所述第一数据的写入以及所述第二数据的写入是在同一个写入操作中完成。在本发明的一实施例中,所述多个数据在所述主机系统中是根据一顺序被排列,所述第一数据包括一第一子数据以及一第二子数据,第二数据包括一第三子数据以及一第四子数据。其中在从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的运作中,所述存储器管理电路还用以依序将所述第一子数据以及所述第二子数据分别写入至所述第二实体抹除单元中的一第一实体页面以及一第二实体页面。其中在从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的运作中,所述存储器管理电路还用以依序将所述第三子数据以及所述第四子数据分别写入至所述第三实体抹除单元中的一第三实体页面以及一第四实体页面。其中在所述多个数据的顺序中所述第一子数据以及所述第二子数据为连续,所述第二子数据以及所述第三子数据为连续,所述第三子数据以及所述第四子数据为连续。在本发明的一实施例中,所述多个数据在所述主机系统中是根据一顺序被排列,所述第一数据包括一第五子数据以及一第六子数据,第二数据包括一第七子数据以及一第八子数据。其中在从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的运作中,所述存储器管理电路还用以依序将所述第五子数据以及所述第六子数据分别写入至所述第二实体抹除单元中的一第五实体页面以及一第六实体页面。其中在从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的运作中,所述存储器管理电路还用以依序将所述第七子数据以及所述第八子数据分别写入至所述第三实体抹除单元中的一第七实体页面以及一第八实体页面。其中在所述多个数据的顺序中所述第五子数据以及所述第七子数据为连续,所述第六子数据以及所述第七子数据为连续,所述第六子数据以及所述第八子数据为连续。在本发明的一实施例中,所述存储器管理电路还用以使用一第一比特数值标记所述第一实体抹除单元中用以存储所述第一数据以及所述第二数据的一第一实体页面组。所述存储器管理电路还用以使用一第二比特数值标记所述第二实体抹除单元中用以存储所述第一数据的一第二实体页面组。所述存储器管理电路还用以使用所述第二比特数值标记所述第三实体抹除单元中用以存储所述第二数据的一第三实体页面组。在本发明的一实施例中,当在执行一有效数据合并操作以及一平均磨损操作的至少其中之一时,所述存储器管理电路还用以执行从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的运作以及从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的运作。本发明提出一种存储器存储装置,包括:连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。连接接口单元用以电性连接至一主机系统。可复写式非易失性存储器模块,包括多个存储器子模块,所述多个存储器子模块中的每一个存储器子模块包括多个实体抹除单元。存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,且所述多个存储器子模块分别电性连接至所述存储器控制电路单元。所述存储器控制电路单元用以执行下述运作:从主机系统取得多个数据,并将所述多个数据暂存在一缓冲存储器中;将暂存在所述缓冲存储器中的所述多个数据中的一第一数据以及一第二数据写入至所述多个存储器子模块中的一第一实体抹除单元中;从所述第一实体抹除单元中复制所述第一数据至一第二实体抹除单元;以及从所述第一实体抹除单元复制所述第二数据至一第三实体抹除单元,其中所述第二实体抹除单元所属的存储器子模块不同于所述第三实体抹除单元所属的存储器子模块。在本发明的一实施例中,所述多个存储器子模块分别通过多个通道连接一存储器控制电路单元,所述存储器控制电路单元通过所述多个通道平行地读取所述多个存储器子模块。在本发明的一实施例中,在将暂存在所述缓冲存储器中的所述多个数据中的所述第一数据以及所述第二数据写入至所述多个存储器子模块中的所述第一实体抹除单元中的运作中,所述第一数据的写入以及所述第二数据的写入是在同一个写入操作中完成。在本发明的一实施例中,所述多个数据在所述主机系统中是根据一顺序被排列,所述第一数据包括一第一子数据以及一第二子数据,第二数据包括一第三子数据以及一第四子数据。其中在从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的运作中,所述存储器控制电路单元还用以依序将所述第一子数据以及所述第二子数据分别写入至所述第二实体抹除单元中的一第一实体页面以及一第二实体页面。其中在从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的运作中,所述存储器控制电路单元还用以依序将所述第三子数据以及所述第四子数据分别写入至所述第三实体抹除单元中的一第三实体页面以及一第四实体页面。其中在所述多个数据的顺序中所述第一子数据以及所述第二子数据为连续,所述第二子数据以及所述第三子数据为连续,所述第三子数据以及所述第四子数据为连续。在本发明的一实施例中,所述多个数据在所述主机系统中是根据一顺序被排列,所述第一数据包括一第五子数据以及一第六子数据,第二数据包括一第七子数据以及一第八子数据。其中在从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的运作中,所述存储器控制电路单元还用以依序将所述第五子数据以及所述第六子数据分别写入至所述第二实体抹除单元中的一第五实体页面以及一第六实体页面。其中在从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的运作中,所述存储器控制电路单元还用以依序将所述第七子数据以及所述第八子数据分别写入至所述第三实体抹除单元中的一第七实体页面以及一第八实体页面。其中在所述多个数据的顺序中所述第五子数据以及所述第七子数据为连续,所述第六子数据以及所述第七子数据为连续,所述第六子数据以及所述第八子数据为连续。在本发明的一实施例中,所述存储器控制电路单元还用以使用一第一比特数值标记所述第一实体抹除单元中用以存储所述第一数据以及所述第二数据的一第一实体页面组。所述存储器控制电路单元还用以使用一第二比特数值标记所述第二实体抹除单元中用以存储所述第一数据的一第二实体页面组。所述存储器控制电路单元还用以使用所述第二比特数值标记所述第三实体抹除单元中用以存储所述第二数据的一第三实体页面组。在本发明的一实施例中,当在执行一有效数据合并操作以及一平均磨损操作的至少其中之一时,所述存储器控制电路单元还用以执行从所述第一实体抹除单元中复制所述第一数据至所述第二实体抹除单元的步骤以及从所述第一实体抹除单元复制所述第二数据至所述第三实体抹除单元的运作。基于上述,本发明的数据写入方法、存储器控制电路单元及存储器存储装置,可以减少缓冲存储器所需的空间,并且可以保留平行地读取多个存储器子模块中的数据的技术效果。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图;图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及i/o装置的示意图;图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;图6是根据本发明第一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;图7是根据本发明的一范例实施例所示出的数据写入方法的流程图;图8a至图8b是根据本发明的第一实施例所示出的数据写入方法的范例的示意图;图9是根据本发明的第二实施例所示出的数据写入方法的范例的示意图。附图标记说明30、10:存储器存储装置31、11:主机系统110:系统总线111:处理器112:随机存取存储器113:只读存储器114:数据传输接口12:输入/输出(i/o)装置20:主机板201:u盘202:存储卡203:固态硬盘204:无线存储器存储装置205:全球定位系统模块206:网络接口卡207:无线传输装置208:键盘209:屏幕210:喇叭32:sd卡33:cf卡34:嵌入式存储装置341:嵌入式多媒体卡342:嵌入式多芯片封装存储装置402:连接接口单元404:存储器控制电路单元406:可复写式非易失性存储器模块502:存储器管理电路504:主机接口506:存储器接口508:错误检查与校正电路510:缓冲存储器512:电源管理电路310:第一存储器子模块320:第二存储器子模块330:第三存储器子模块340:第四存储器子模块316、326、336、346:数据总线410(0)~410(n)、420(0)~420(n)、430(0)~430(n)、440(0)~440(n):实体抹除单元s701:从主机系统取得多个数据,并将所述多个数据暂存在缓冲存储器中的步骤s703:将暂存在缓冲存储器中的前述多个数据中的第一数据以及第二数据写入至多个存储器子模块中的第一实体抹除单元中的步骤s705:从第一实体抹除单元中复制第一数据至第二实体抹除单元的步骤s707:从第一实体抹除单元复制第二数据至第三实体抹除单元的步骤具体实施方式一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritablenon-volatilememorymodule)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及i/o装置的示意图。请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccessmemory,ram)112、只读存储器(readonlymemory,rom)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(systembus)110。在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与i/o装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至i/o装置12或从i/o装置12接收输入信号。在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是u盘201、存储卡202、固态硬盘(solidstatedrive,ssd)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(nearfieldcommunication,nfc)存储器存储装置、无线传真(wifi)存储器存储装置、蓝牙(bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,ibeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(globalpositioningsystem,gps)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式i/o装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的安全数字(securedigital,sd)卡32、小型快闪(compactflash,cf)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedmultimediacard,emmc)341和/或嵌入式多芯片封装(embeddedmultichippackage,emcp)存储装置342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。连接接口单元402用以将存储器存储装置10电性连接至主机系统11。在本范例实施例中,连接接口单元402是符合高速周边零件连接接口(peripheralcomponentinterconnectexpress,pciexpress)标准,且相容于快速非易失性存储器(nvmexpress)接口标准。具体而言,快速非易失性存储器接口标准为一种主机系统与存储器装置之间通讯的协议,其定义了存储器存储装置的控制器与主机系统的作业系统之间的暂存器接口、指令集与功能集,并通过对存储器存储装置的接口标准最佳化,来促进以pcie接口为主的存储器存储装置的数据存取速度与数据传输速率。然而,在另一范例实施例中,连接接口单元402亦可以是符合其他适合的标准。此外,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(singlelevelcell,slc)nand型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(multilevelcell,mlc)nand型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、复数阶存储单元(triplelevelcell,tlc)nand型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。在本范例实施例中,可复写式非易失性存储器模块406的存储单元会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元。具体来说,同一条字线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(leastsignificantbit,lsb)是属于下实体程序化单元,并且一存储单元的最高有效比特(mostsignificantbit,msb)是属于上实体程序化单元。一般来说,在mlcnand型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元通常包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,b)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。在另一范例实施例中,存储器管理电路502的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(bootcode),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。主机接口504是电性连接至存储器管理电路502并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于sata标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于pata标准、ieee1394标准、pciexpress标准、usb标准、sd标准、uhs-i标准、uhs-ii标准、ms标准、mmc标准、emmc标准、ufs标准、cf标准、ide标准或其他适合的数据传输标准。存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。错误检查与校正电路508是电性连接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(errorcorrectingcode,ecc)和/或错误检查码(errordetectingcode,edc),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。缓冲存储器510是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。图6是根据本发明第一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。请参照图6,可复写式非易失性存储器模块406包括第一存储器子模块310、第二存储器子模块320、第三存储器子模块330与第四存储器子模块340。例如,第一、第二、第三与第四存储器子模块310、320、330与340分别地为存储器晶粒(die)。第一存储器子模块310具有实体抹除单元410(0)~410(n)。第二存储器子模块320具有实体抹除单元420(0)~420(n)。第三存储器子模块330具有实体抹除单元430(0)~430(n)。第四存储器子模块340具有实体抹除单元440(0)~440(n)。例如,第一、第二、第三与第四存储器子模块310、320、330与340是分别地通过独立的数据总线316、326、336与346电性连接至存储器控制电路单元404。基此,存储器管理电路502可以平行(parallel)方式将数据通过数据总线316、326、336与346写入至第一、第二、第三与第四存储器子模块310、320、330与340。然而,必须了解的是,在本发明另一范例实施例中,第一、第二、第三与第四存储器子模块310、320、330与340亦可仅通过1个数据总线与存储器控制电路单元404电性连接。在此,存储器管理电路502可以交错(interleave)方式将数据通过单一数据总线写入至第一、第二、第三与第四存储器子模块310、320、330与340。特别是,第一、第二、第三与第四存储器子模块310、320、330与340可以分别包括多条字线,而同一条字线上的多个存储单元会形成多个实体页面,同一条字线的多个实体页面可以称为实体页面组。第一、第二、第三与第四存储器子模块310、320、330与340的每一实体抹除单元分别具有多个实体页面,其中属于同一个实体抹除单元的实体页面可被独立地写入且被同时地抹除。例如,每一实体抹除单元是由128个实体页面所组成。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体页面、256个实体页面或其他任意个实体页面所组成。更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。实体页面为程序化的最小单元。即,实体页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是扇区(sector)或其他大小。每一实体页面通常包括数据比特区与冗余比特区。数据比特区用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,错误检查与校正码)。需注意的是,在另一范例实施例中,一个实体抹除单元亦可以是指一个实体地址、一个实体程序化单元或由多个连续或不连续的实体地址组成。值得一提的是,虽然本发明范例实施例是以包括四个存储器子模块的可复写式非易失性存储器模块406为例来描述。但本发明不限于此,在其他的实施例中,可复写式非易失性存储器模块406也可以包含六、八或十个存储器子模块。需注意的是,一般来说,若要同时写入多个存储器子模块,缓冲存储器510需要较多的空间存储来自主机系统11的数据。例如,若可复写式非易失性存储器模块406支援可同时地(或平行地)写入四个存储器子模块,则缓冲存储器510中需要有四个实体页面组的大小的空间。当来自主机系统11的数据写满缓冲存储器510中四个实体页面组的大小的空间时,存储器管理电路502会将来自主机系统11的数据从缓冲存储器510同时地写入四个存储器子模块中。而假设要读取该数据时,存储器管理电路502可以同时地(或平行地)从四个存储器子模块中读取该数据。然而,基于要同时地写入多个存储器子模块的原因,上述方式需要耗费较多的缓冲存储器510的空间。因此,本发明提出一种数据写入方法,缓冲存储器510仅需要较少的空间(例如,一个实体页面组的大小)来暂存来自主机系统11的多个数据。在写入可复写式非易失性存储器模块406时,当来自主机系统11的数据写满缓冲存储器510中一个实体页面组的大小的空间时,存储器管理电路502会将来自主机系统11的数据从缓冲存储器510写入一个存储器子模块中。之后,假设要执行数据搬移操作(例如,有效数据合并操作或平均磨损操作)时,存储器管理电路502会再将该些数据分散到多个不同的存储器子模块中。当要读取该些数据时,存储器管理电路502即可以平行地(或同时地)从该些存储器子模块中读取该些数据。图7是根据本发明的一范例实施例所示出的数据写入方法的流程图。请参照图7,在步骤s701中,存储器管理电路502从主机系统11取得多个数据,并将所述多个数据暂存在缓冲存储器510中。在步骤s703中,存储器管理电路502将暂存在缓冲存储器510中的前述多个数据中的第一数据以及第二数据写入至多个存储器子模块中的第一实体抹除单元中。当执行数据搬移操作时,在步骤s705中,存储器管理电路502从第一实体抹除单元中复制第一数据至第二实体抹除单元。在步骤s707中,存储器管理电路502从第一实体抹除单元复制第二数据至第三实体抹除单元。其中,第二实体抹除单元所属的存储器子模块不同于第三实体抹除单元所属的存储器子模块。通过本发明的数据写入方法,可以减少缓冲存储器510所需的空间,并且可以保留平行地读取多个存储器子模块中的数据的技术效果。以下以更详细的实施例来说明本案数据写入方法的数据写入过程。[第一实施例]图8a至图8b是根据本发明的第一实施例所示出的数据写入方法的范例的示意图。请参照图8a至图8b,在本范例实施例中,假设可复写式非易失性存储器模块406是三维(three-dimension,3d)nand型快闪存储器模块,且可复写式非易失性存储器模块406中的每一条字线上的存储单元可形成六个实体页面,而同一个字线上的六个实体页面可以称为实体页面组。如图8a与图8b所示,可复写式非易失性存储器模块406中例如可以包括属于一第一存储器子模块的字线wl1以及字线wl2、属于第二存储器子模块的字线wl3以及属于第三存储器子模块的字线wl4。字线wl1上的存储单元形成实体页面p1(0)~p1(5)。字线wl2上的存储单元形成实体页面p2(0)~p2(5)。字线wl3上的存储单元形成实体页面p3(0)~p3(5)。字线wl4上的存储单元形成实体页面p4(0)~p4(5)。在第一实施例中,字线wl1亦称为“第一字线”,字线wl3亦称为“第二字线”,字线wl4亦称为“第三字线”。在本实施例中,实体页面p1(0)~p1(5)与实体页面p2(0)~p2(5)是属于第一存储器子模块中的一实体抹除单元(亦称为,第一实体抹除单元)。实体页面p3(0)~p3(5)是属于第二存储器子模块中的一实体抹除单元(亦称为,第二实体抹除单元)。实体页面p4(0)~p4(5)是属于第三存储器子模块中的一实体抹除单元(亦称为,第三实体抹除单元)。需说明的是,在此假设主机系统11要将多个连续数据写入可复写式非易失性存储器模块406中。所述多个数据包括第一数据以及第二数据。其中,第一数据包括子数据d0以及子数据d1,第二数据包括子数据d2以及子数据d3。也就是说,以子数据的角度来看,子数据的排列顺序依序为子数据d0、子数据d1、子数据d2、子数据d3。在第一实施例中,子数据d0亦称为“第一子数据”,子数据d1亦称为“第二子数据”,子数据d2亦称为“第三子数据”,子数据d3亦称为“第四子数据”。此外,在本范例中,假设主机系统11还要将多个子数据d4~d11写入可复写式非易失性存储器模块406中。在第一实施例中,假设缓冲存储器510只有使用一个实体页面组的大小来存储来自主机系统11的数据。当存储器管理电路502从主机系统11取得子数据d0~d5后,子数据d0~d5会先被暂存在缓冲存储器510中。接着,存储器管理电路502会从缓冲存储器510取得子数据d0~d5,并在同一个写入操作中将子数据d0~d5分别写入至字线wl1上的实体页面p1(0)~p1(5)(亦称为,第一对应实体页面)。此外,假设存储器管理电路502以类似于前述的方式,将子数据d6~d11分别写入至字线wl2上的实体页面p2(0)~p2(5)。之后,存储器管理电路502可以使用第一比特数值(例如,数值“1”)标记字线wl1上的实体页面p1(0)~p1(5)所组成的实体页面组(亦称为,第一实体页面组)以及字线wl2上的实体页面p2(0)~p2(5)所组成的实体页面组。之后,请同时参照图8a与图8b,当存储器管理电路502欲执行数据搬移操作时,存储器管理电路502例如可以根据上述的第一比特数值挑选字线wl1的实体页面组以及字线wl2的实体页面组。存储器管理电路502会从字线wl1中复制子数据d0以及子数据d1,并依序将子数据d0以及子数据d1分别写入至字线wl3上的实体页面p3(0)以及实体页面p3(1)。此外,存储器管理电路502还会从字线wl1中复制子数据d2以及子数据d3,并依序将子数据d2以及子数据d3分别写入至字线wl4上的实体页面p4(0)以及实体页面p4(1)。在第一实施例中,实体页面p3(0)亦称为“第一实体页面”。实体页面p3(1)亦称为“第二实体页面”。实体页面p4(0)亦称为“第三实体页面”。实体页面p4(1)亦称为“第四实体页面”。类似地,在执行数据搬移操作时,存储器管理电路502还会从字线wl1中复制子数据d4以及子数据d5,并依序将子数据d4以及子数据d5分别写入至字线wl3上的实体页面p3(2)以及实体页面p3(3)。存储器管理电路502还会从字线wl2中复制子数据d6以及子数据d7,并依序将子数据d6以及子数据d7分别写入至字线wl4上的实体页面p4(2)以及实体页面p4(3)。存储器管理电路502还会从字线wl2中复制子数据d8以及子数据d9,并依序将子数据d8以及子数据d9分别写入至字线wl3上的实体页面p3(4)以及实体页面p3(5)。存储器管理电路502还会从字线wl2中复制子数据d10以及子数据d11,并依序将子数据d10以及子数据d11分别写入至字线wl4上的实体页面p4(4)以及实体页面p4(5)。之后,存储器管理电路502可以使用第二比特数值(例如,数值“0”)标记字线wl3上的实体页面p3(0)~p3(5)所组成的实体页面组(亦称为,第二实体页面组)以及字线wl4上的实体页面p4(0)~p4(5)所组成的实体页面组(亦称为,第三实体页面组)。在本范例中,字线wl3中用于写入第一数据(即,子数据d0与子数据d1)的实体页面p3(0)与实体页面p3(1)可以统称为“第二对应实体页面”。字线wl4中用于写入第二数据(即,子数据d2与子数据d3)的实体页面p4(0)与实体页面p4(1)可以统称为“第三对应实体页面”。之后,假设存储器管理电路502要读取子数据d0~d3时,存储器管理电路502可以平行地读取位在不同存储器子模块中的实体页面p3(0)~p3(1)以及实体页面p4(0)~p4(1)以获得子数据d0~d3。[第二实施例]图9是根据本发明的第二实施例所示出的数据写入方法的范例的示意图。请同时参照图8a与图9,在本范例实施例中,类似于前述第一实施例的描述,假设主机系统11要将多个连续数据写入可复写式非易失性存储器模块406中。所述多个数据包括第一数据以及第二数据。其中,第一数据包括子数据d0以及子数据d2,第二数据包括子数据d1以及子数据d3。以子数据的角度来看,子数据的排列顺序依序为子数据d0、子数据d1、子数据d2、子数据d3。在第二实施例中,子数据d0亦称为“第五子数据”,子数据d1亦称为“第七子数据”,子数据d2亦称为“第六子数据”,子数据d3亦称为“第八子数据”。此外,在本范例中,假设主机系统11还要将多个子数据d4~d11写入可复写式非易失性存储器模块406中。在本实施例中,实体页面p1(0)~p1(5)与实体页面p2(0)~p2(5)是属于第一存储器子模块中的一实体抹除单元(亦称为,第一实体抹除单元)。实体页面p3(0)~p3(5)是属于第二存储器子模块中的一实体抹除单元(亦称为,第二实体抹除单元)。实体页面p4(0)~p4(5)是属于第三存储器子模块中的一实体抹除单元(亦称为,第三实体抹除单元)。在第二实施例中,假设缓冲存储器510只有使用一个实体页面组的大小来存储来自主机系统11的数据。当存储器管理电路502从主机系统11取得子数据d0~d5后,子数据d0~d5会先被暂存在缓冲存储器510中。接着,存储器管理电路502会从缓冲存储器510取得子数据d0~d5,并在同一个写入操作中将子数据d0~d5分别写入至字线wl1上的实体页面p1(0)~p1(5)(亦称为,第一对应实体页面)。此外,假设存储器管理电路502以类似于前述的方式,将子数据d6~d11分别写入至字线wl2上的实体页面p2(0)~p2(5)。之后,存储器管理电路502可以使用第一比特数值(例如,数值“1”)标记字线wl1上的实体页面p1(0)~p1(5)所组成的实体页面组(亦称为,第一实体页面组)以及字线wl2上的实体页面p2(0)~p2(5)所组成的实体页面组。之后,请同时参照图8a与图9,当存储器管理电路502欲执行数据搬移操作时,存储器管理电路502例如可以根据上述的第一比特数值挑选字线wl1的实体页面组以及字线wl2的实体页面组。存储器管理电路502会从字线wl1中复制子数据d0以及子数据d2,并依序将子数据d0以及子数据d2分别写入至字线wl3上的实体页面p3(0)以及实体页面p3(1)。此外,存储器管理电路502还会从字线wl1中复制子数据d1以及子数据d3,并依序将子数据d1以及子数据d3分别写入至字线wl4上的实体页面p4(0)以及实体页面p4(1)。在第二实施例中,实体页面p3(0)亦称为“第五实体页面”。实体页面p3(1)亦称为“第六实体页面”。实体页面p4(0)亦称为“第七实体页面”。实体页面p4(1)亦称为“第八实体页面”。类似地,在执行数据搬移操作时,存储器管理电路502还会从字线wl1与字线wl2中复制子数据d4以及子数据d6,并依序将子数据d4以及子数据d6分别写入至字线wl3上的实体页面p3(2)以及实体页面p3(3)。存储器管理电路502还会从字线wl1与字线wl2中复制子数据d5以及子数据d7,并依序将子数据d5以及子数据d7分别写入至字线wl4上的实体页面p4(2)以及实体页面p4(3)。存储器管理电路502还会从字线wl2中复制子数据d8以及子数据d10,并依序将子数据d8以及子数据d10分别写入至字线wl3上的实体页面p3(4)以及实体页面p3(5)。存储器管理电路502还会从字线wl2中复制子数据d9以及子数据d11,并依序将子数据d9以及子数据d11分别写入至字线wl4上的实体页面p4(4)以及实体页面p4(5)。之后,存储器管理电路502可以使用第二比特数值(例如,数值“0”)标记字线wl3上的实体页面p3(0)~p3(5)所组成的实体页面组(亦称为,第二实体页面组)以及字线wl4上的实体页面p4(0)~p4(5)所组成的实体页面组(亦称为,第三实体页面组)。在本范例中,字线wl3中用于写入第一数据(即,子数据d0与子数据d2)的实体页面p3(0)与实体页面p3(1)可以统称为“第二对应实体页面”。字线wl4中用于写入第二数据(即,子数据d1与子数据d3)的实体页面p4(0)与实体页面p4(1)可以统称为“第三对应实体页面”。之后,假设存储器管理电路502要读取子数据d0~d3时,存储器管理电路502可以平行地读取位在不同存储器子模块中的实体页面p3(0)~p3(1)以及实体页面p4(0)~p4(1)以获得子数据d0~d3。综上所述,本发明的数据写入方法、存储器控制电路单元及存储器存储装置,可以减少缓冲存储器所需的空间,并且可以保留平行地读取多个存储器子模块中的数据的技术效果。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属
技术领域
:中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1