存储器储存装置、存储器控制器与数据写入方法

文档序号:6771284阅读:254来源:国知局

专利名称::存储器储存装置、存储器控制器与数据写入方法
技术领域
:本发明涉及一种数据写入方法,且特别是涉及一种在写入数据时进行备份的方法,以及实行该方法的存储器储存装置与存储器控制器。
背景技术
:可复写式非挥发性存储器(rewritablenon-volatilememory)具有数据非挥发性、省电、体积小与无机械结构等特性,故被广泛地应用于各种电子装置。其中,固态硬盘(SolidStateDrive,SSD)便是采用可复写式非挥发性存储器作为储存媒体的储存装置,且因其具备上述优势而越来越受到消费者的注目。可复写式非挥发性存储器具有多个实体区块,且每一实体区块具有多个实体页面。其中,实体区块为数据擦除的最小单位,而实体页面则为数据写入的最小单元。储存装置中的存储器管理电路会将主机系统欲存取的逻辑存取位址转换对应的逻辑页面,并至该逻辑页面所对应的实体页面进行存取。由于储存在可复写式非挥发性存储器的数据可能会因存储器胞漏电、程式化失败或损毁等因素而产生错误位元,因此储存装置会配置错误检查与校正电路以识别数据的正确性。在主机系统欲读取固态硬盘中的数据时,由于数据可能是重要的开机档或系统档,因此若数据的错误位元超过错误检查与校正电路所能校正的位元数,便不能直接将数据回复给主机系统,而必须告知主机系统数据有误,以让主机系统内的作业系统对错误进行修正。一般来说,在接收主机系统的读取指令而对数据进行读取时,能根据读取指令识别数据所对应的逻辑存取位址,故能在发生数据错误时正确地回复主机系统。然而,倘若是在重新启动固态硬盘并进行实体页面的扫描之际发现数据错误,则因为已无法从实体页面所记录的信息判断其中数据对应的逻辑存取位址,因此,若主机系统日后欲读取该逻辑存取位址,则可能会因为没有将数据错误的信息正确地回复给主机系统,进而造成主机系统中的作业系统产生运作上的问题。
发明内容有鉴于此,本发明提供一种数据写入方法、存储器控制器以及存储器储存装置,能在写入数据时进行备份,以避免将错误的数据回复给主机系统。本发明提出一种数据写入方法,用于具有可复写式非挥发性存储器芯片的存储器储存装置。可复写式非挥发性存储器芯片包括多个实体单元,各实体单元包括多个实体页面。此方法包括配置多个逻辑单元以映射部分的实体单元,其中各逻辑单元包括多个逻辑页面。此方法还包括接收来自主机系统的第一写入数据,并将第一写入数据写入至从上述实体单元所提取的一替换实体单元中的第i个实体页面。此方法还包括将第一写入数据所对应的第一位址存取信息,以及一第二位址存取信息写入至第i个实体页面,其中i为正整数。从另一观点来看,本发明提出一种存储器控制器,用于管理存储器储存装置中的可复写式非挥发性存储器芯片。此存储器控制器包括主机系统界面、存储器界面,以及存储器管理电路。主机系统界面用以耦接主机系统。存储器界面用以耦接可复写式非挥发性存储器芯片,其中可复写式非挥发性存储器芯片包括多个实体单元,且各实体单元包括多个实体页面。存储器管理电路耦接至主机系统界面与存储器界面,存储器管理电路用以配置多个逻辑单元以映射部分的实体单元,其中各逻辑单元包括多个逻辑页面。存储器管理电路更用以通过主机系统界面接收来自主机系统的第一写入数据,并将第一写入数据写入至从上述实体单元所提取的替换实体单元中的第i个实体页面,以及将第一写入数据所对应的第一位址存取信息,以及一第二位址存取信息写入至第i个实体页面,其中i为正整数。从又一观点来看,本发明提出一种存储器储存装置,包括可复写式非挥发性存储器芯片、连接器,以及存储器控制器。可复写式非挥发性存储器芯片包括多个实体单元,且各实体单元包括多个实体页面。连接器用以耦接主机系统。存储器控制器耦接至可复写式非挥发性存储器芯片与连接器。存储器控制器用以配置多个逻辑单元以映射部分的实体单元,其中各逻辑单元包括多个逻辑页面。存储器控制器还用以通过连接器接收来自主机系统的第一写入数据,并将第一写入数据写入至从上述实体单元所提取的替换实体单元中的第i个实体页面,以及将第一写入数据所对应的第一位址存取信息,以及一第二位址存取信息写入至第i个实体页面,其中i为正整数。基于上述,本发明在将数据写入可复写式非挥发性存储器芯片时,会将该数据、该数据所对应的位址存取信息,以及另一数据对应的位址存取信息记录在一个实体页面中,据此达到备份写入数据的位址存取信息的目的。如此一来,若在启动存储器储存装置并扫描各实体页面时发现数据错误,则可利用备份的位址存取信息来识别发生数据错误的实体页面中的数据对应的逻辑页面,以避免在日后主机系统读取该逻辑页面时,将已发生错误的数据回复给主机系统。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。图IA是根据本发明一范例实施例显示的使用存储器储存装置的主机系统的示意图。图IB是根据本发明范例实施例所显示的电脑、输入/输出装置与存储器储存装置的示意图。图IC是根据本发明另一范例实施例所显示的主机系统与存储器储存装置的示意图。图2是图IA所示的存储器储存装置的概要方框图。图3是根据本发明一范例实施例显示的存储器控制器的概要方框图。图4A与图4B是根据本发明的一范例实施例所显示的管理实体单元的示意图。图5A至图是根据本发明的一范例实施例所显示的将数据写入至替换实体单元的示意图。图6是根据本发明的另一范例实施例所显示的管理实体单元的示意图。图7是根据本发明的另一范例实施例所显示的将写入数据写入至替换实体单元的示意图。图8是依照本发明的一范例实施例所显示的数据写入方法的流程图。附图标记1000:主机系统1100:电脑1102:微处理器1104:随机存取存储器1106:输入/输出装置1108:系统汇流排1110:数据传输界面1202:鼠标1204:键盘1206:显示器1208:印表机1212:随身碟1214:记忆卡1216:固态硬盘1310:数字相机1312SD卡1314:MMC卡1316:记忆棒1318:CF卡1320:嵌入式储存装置100:存储器储存装置102:连接器104:存储器控制器106:可复写式非挥发性存储器芯片1041:主机系统界面1043:存储器管理电路1045:存储器界面3002:缓冲存储器3004:电源管理电路3006:错误检查与校正电路410(0)~410(N),810(0)810(N):实体单元502:数据区504:闲置区506:系统区508:取代区610(0)610(L):逻辑单元410(T),810(T):替换实体单元710、720、730、740:存储器模块710(0)710(N)、720(0)720(N)、730(0)7430(N)、740(0)740(N):实体区块S810S840:本发明的一实施例所述的数据写入方法的各步骤具体实施例方式一般而言,存储器储存装置(亦称,存储器储存系统)包括存储器芯片与控制器(亦称,控制电路)。通常存储器储存装置会与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。另外,亦有存储器储存装置是包括嵌入式存储器与可执行于主机系统上以实质地作为此嵌入式存储器的控制器的软体。图IA是根据本发明一范例实施例所显示的使用存储器储存装置的主机系统的示意图。主机系统1000包括电脑1100与输入/输出(Input/Output,I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(RandomAccessMemory,RAM)1104、系统汇流排1108以及数据传输界面1110。输入/输出装置1106包括如图IB所示的鼠标1202、键盘1204、显示器1206与印表机1208。必须了解的是,图IB所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。在本发明范例实施例中,存储器储存装置100是通过数据传输界面1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至存储器储存装置100,或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图IB所示的记忆卡1214、随身碟1212、或固态硬盘(SolidStateDrive,SSD)1216。一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是手机、数字相机、摄影机、通讯装置、音讯播放器或视频播放器等系统。例如,在主机系统为数字相机1310时,存储器储存装置则为其所使用的安全数字(SecureDigital,SD)卡1312、多媒体记忆(MultimediaCard,MMC)卡1314、记忆棒(MemoryStick)1316、小型快闪(CompactFlash,CF)卡1318或嵌入式储存装置1320(如图IC所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。图2是显示图IA所示的存储器储存装置100的方框图。请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非挥发性存储器芯片106。连接器102耦接至存储器控制器104,并且用以耦接主机系统1000。在本范例实施例中,连接器102所支援的传输界面种类为串行先进附件(SerialAdvancedTechnologyAttachment,SATA)界面。然而在其他范例实施例中,连接器102的传输界面种类也可以是通用串行总线(UniversalSerialBus,USB)界面、多媒体储存卡(MultimediaCard,MMC)界面、平行先进附件(ParallelAdvancedTechnologyAttachment,PATA)界面、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394界面、高速周边零件连接界面(PeripheralComponentInterconnectExpress,PCIExpress)界面、安全数字(SecureDigital,SD)界面、记忆棒(MemoryStick,MS)界面、小型快闪(CompactFlash,CF)界面,或整合驱动电子(IntegratedDriveElectronics,IDE)界面等任何适用的界面,在此并不加以限制。存储器控制器104会执行以硬件形式或软件形式实现的多个逻辑闸或控制指令,并根据主机系统1000的指令在可复写式非挥发性存储器芯片106中进行数据的写入、读取与擦除等运作。其中,存储器控制器104更特别用以根据本范例实施例的数据写入方法而在写入数据时备份其他实体页面中的部分信息。本范例实施例的数据写入方法将于后配合附图再作说明。可复写式非挥发性存储器芯片106耦接至存储器控制器104。可复写式非挥发性存储器芯片106系用以储存如档案配置表(FileAllocationTable,FAT)或增强型文件系统(NewTechnologyFileSystem,NTFS)等档案系统信息,以及储存如文字、影像或声音文件等一般性数据。举例来说,可复写式非挥发性存储器芯片106为多阶记忆胞(MultiLevelCell,MLC)NAND快闪存储器芯片,但本发明不限于此,可复写式非挥发性存储器芯片106也可以是单阶记忆胞(SingleLevelCell,SLC)NAND快闪存储器芯片、其他快闪存储器芯片或任何具有相同特性的存储器芯片。图3是根据本发明一范例实施例所显示的存储器控制器的概要方框图。请参照图3,存储器控制器104包括主机系统界面1041、存储器管理电路1043,以及存储器界面1045。主机系统界面1041耦接至存储器管理电路1043,并通过连接器102以耦接主机系统1000。主机系统界面1041系用以接收与识别主机系统1000所传送的指令与数据。据此,主机系统1000所传送的指令与数据会通过主机系统界面1041而传送至存储器管理电路1043。在本范例实施例中,主机系统界面1041对应连接器102而为SATA界面,而在其他范例实施例中,主机系统界面1041也可以是USB界面、MMC界面、PATA界面、IEEE1394界面、PCIExpress界面、SD界面、MS界面、CF界面、IDE界面或符合其他界面标准的界面。存储器管理电路1043系用以控制存储器控制器104的整体运作。具体来说,存储器管理电路1043具有多个控制指令,在存储器储存装置100运作时,上述控制指令会被执行以实现本范例实施例的数据写入方法。在一范例实施例中,存储器管理电路1043的控制指令是以软件形式来实现。例如,存储器管理电路1043具有微处理器单元(未示出)与只读存储器(未示出),且上述控制指令是被烧录在只读存储器中。当存储器储存装置100运作时,上述控制指令会由微处理器单元来执行以完成本范例实施例的数据写入方法。在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以程式码型式储存于可复写式非挥发性存储器芯片106的特定区域(例如,可复写式非挥发性存储器芯片106中专用于存放系统数据的系统区)中。此外,存储器管理电路1043具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。其中,只读存储器具有驱动码段,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非挥发性存储器芯片106中的控制指令载入至存储器管理电路1043的随机存取存储器中。之后,微处理器单元会运转上述控制指令以执行本范例实施例的数据写入方法。此外,在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以一硬件形式来实现。存储器界面1045耦接至存储器管理电路1043,以使存储器控制器104与可复写式非挥发性存储器芯片106相耦接。据此,存储器控制器104可对可复写式非挥发性存储器芯片106进行相关运作。也就是说,欲写入至可复写式非挥发性存储器芯片106的数据会经由存储器界面1045转换为可复写式非挥发性存储器芯片106所能接受的格式。在本发明的一范例实施例中,存储器控制器104还包括缓冲存储器3002。缓冲存储器3002可以是静态随机存取存储器(StaticRandomAccessMemory,SRAM)、或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等,本发明并不加以限制。缓冲存储器3002耦接至存储器管理电路1043,用以暂存来自于主机系统1000的数据,或暂存来自于可复写式非挥发性存储器芯片106的数据。在本发明另一范例实施例中,存储器控制器104还包括电源管理电路3004。电源管理电路3004耦接至存储器管理电路1043,用以控制存储器储存装置100的电源。在本发明又一范例实施例中,存储器控制器104还包括错误检查与校正电路3006。错误检查与校正电路3006耦接至存储器管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路3006会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),且存储器管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非挥发性存储器芯片106。之后当存储器管理电路1043从可复写式非挥发性存储器芯片106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3006会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。图4A与图4B是根据本发明的一范例实施例所显示的管理实体单元的示意图。请参照图4A,本范例实施例的可复写式非挥发性存储器芯片106包括实体单元410(0)410(N),其中,每一实体单元包括多个实体页面。在本范例实施例中,每一实体单元是由一个实体区块所组成。然而本发明不局限于此,在本发明的另一范例实施例中,每一实体单元亦可由多个实体区块所组成。存储器控制器104中的存储器管理电路1043会将实体单元410(0)410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。其中,图4A所标示的F、S、R与N为正整数,代表各区配置的实体单元数量,其可由存储器储存装置100的制造商依据所使用的可复写式非挥发性存储器芯片106的容量来设定。逻辑上属于数据区502与闲置区504的实体单元是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体单元是被视为已储存数据的实体单元,而闲置区504的实体单元是用以替换数据区502的实体单元。换句话说,闲置区504的实体单元为空或可使用的实体单元(无记录数据或标记为已没用的无效数据)。当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路1043会从闲置区504中提取实体单元,并且将数据写入至所提取的实体单元中,以替换数据区502的实体单元。逻辑上属于系统区506的实体单元是用以记录系统数据。举例来说,系统数据包括关于可复写式非挥发性存储器芯片106的制造商与型号等信息。逻辑上属于取代区508的实体单元是用以在数据区502、闲置区504或系统区506中的实体单元损毁时,取代损坏的实体单元。具体而言,倘若取代区508中仍存有正常的实体单元且数据区502的实体单元损坏时,存储器管理电路1043会从取代区508中提取正常的实体单元来更换数据区502中损坏的实体单元。为了让主机系统1000能对可复写式非挥发性存储器芯片106进行存取,请参照图4B,存储器管理电路1043会配置数个逻辑单元610(0)610(L)以映射数据区502中的实体单元410(0)410(F-I)。其中每一逻辑单元包括多个逻辑页面,而逻辑单元610(0)610(L)中的逻辑页面会依序映射实体单元410(0)410(F-1)中的实体页面。存储器管理电路1043将所配置的逻辑单元610(0)610(L)提供给主机系统1000,并维护逻辑单兀-实体单兀映射表(logicalunit-physicalunitmappingtable)以记录逻辑单元610(0)610(L)与实体单元410(0)410(F-I)的映射关系。因此,当主机系统1000欲对一逻辑存取位址进行读取时,存储器管理电路1043会将此逻辑存取位址转换为对应的逻辑单元的逻辑页面,再通过逻辑单元-实体单元映射表至其所映射的实体页面来读取数据。而为了因应来自主机系统1000的写入指令,存储器管理电路1043会从闲置区504提取实体单元来作为替换实体单元,并且将主机系统1000欲写入的数据写入至替换实体单元。详言之,在本范例实施例中,若接收到来自主机系统1000的数个写入指令且所述写入指令对应的写入数据系对应不同逻辑页面,这些写入数据会被依序写入替换实体单元。当此替换实体单元已无空的实体页面时,存储器管理电路1043则会再自闲置区504提取另一替换实体单元以接续写入主机系统1000欲写入的数据。而在替换实体单元的数量到达上限值时,存储器管理电路1043会执行数据合并程序,以将属于相同实体单元的有效数据整并至提取自闲置区504的新实体单元,并且将各替换实体单元中的数据标示为无效数据,再将替换实体单元关联回闲置区504。图5A至图是根据本发明的一范例实施例所显示的将数据写入至替换实体单元的示意图。在本实施例中,假设每一实体单元包括M个实体页面(M为正整数),且每一实体页面具有数据位元区与冗余位元区。其中,数据位元区用以储存主机系统1000欲写入的数据,而冗余位元区用以储存与该实体页面相关的信息,例如错误检查与校正码及逻辑存取位址等。当主机系统1000欲将写入数据Dl写入至逻辑单元610(0)610(L)中的某一个逻辑页面(例如逻辑页面3),存储器管理电路1043会通过主机系统界面1041接收写入数据D1。此时,如图5A所示,存储器管理电路1043自闲置区504提取实体单元410(T)作为替换实体单元,并将写入数据D1、对应写入数据Dl的位址存取信息AlI与写入数据Dl的错误检查与校正码ECCl—并写入至替换实体单元410(T)的第0个实体页面,存储器管理电路1043亦会将位址存取信息AIl暂时记录在缓冲存储器3002。在本范例实施例中,位址存取信息AIl是写入数据Dl所属于的逻辑页面(即逻辑页面3)。在本范例实施例中,写入数据Dl被写入至第0个实体页面的数据位元区,位址存取信息AIl被写入至第0个实体页面的冗余位元区里的第一记录区,且错误检查与校正码ECCl被写入至冗余位元区里的第三记录区。此外,存储器管理电路1043会将一起始标记(在图5A中是以符号“S”表示)写入至第0个实体页面的冗余位元区里的第二记录区。而在其他范例实施例中,存储器管理电路1043也可以不将任何信息写入冗余位元区的第二记录区,或者在目前已有多个替换实体单元的情况下,将被写入至上一个替换实体单元的最后一个实体页面里的写入数据所对应的位址存取信息记录到冗余位元区的第二记录区。若存储器管理电路1043接着接收来自主机系统1000的写入数据D2,此写入数据D2是对应逻辑单元610(0)610(L)中的某一逻辑页面(例如逻辑页面7)。如图5B所示,存储器管理电路1043会分别将写入数据D2、对应写入数据D2的位址存取信息AI2(例如,写入数据D2所属的逻辑页面7),与写入数据D2的错误检查与校正码ECC2写入替换实体单元410(T)的第I个实体页面的数据位元区、余位元区里的第一记录区,以及冗余位元区里的第三记录区。并且,存储器管理电路1043将自缓冲存储器3002取得上一个写入指令的写入数据Dl对应的位址存取信息AlI,并将位址存取信息AIl写入第I个实体页面的冗余位元区里的第二记录区。同理,存储器管理电路1043会将位址存取信息AI2暂时记录在缓冲存储器3002。接下来,若主机系统1000欲将写入数据D3写入至逻辑单元610(0)610(L)中的某一个逻辑页面(例如逻辑页面100)。存储器管理电路1043在接收到写入数据D3后,会自缓冲存储器3002取得上一个写入指令的写入数据D2对应的位址存取信息AI2,并且如图5C所示,将写入数据D3、对应写入数据D3的位址存取信息AI3(例如,写入数据D3所属的逻辑页面100)、写入数据D3的错误检查与校正码ECC3,以及位址存取信息AI2写入至替换实体单元410(T)的第2个实体页面的数据位元区、冗余位元区里的第一记录区、冗余位元区里的第三记录区,以及冗余位元区里的第二记录区。假设主机系统1000在下达对应写入数据D3的写入指令后,接着下达一清除指令(flushcommand),表示主机系统1000可能要准备进行关机程序。此时,存储器管理电路1043不但需将存储器储存装置100的快取存储器(未示出)中的数据清空,存储器管理电路1043还会从替换实体单元410(T)中取得一个尚未被写入数据的特定实体页面(在本范例实施例中,特定实体页面例如是替换实体单元410(T)中的第3个实体页面),并且如图5D所示,将结束标记(在图中是以符号“E”表示)写入在第3个实体页面的冗余位元区里的第一记录区,以及将在接收到清除指令之前的最后一个写入数据D3所对应的位址存取信息AI3写入至第3个实体页面的冗余位元区里的第二记录区。在另一范例实施例中,存储器管理电路1043以可将无意义的填充数据或存储器储存装置100在运作过程中所产生的表格写入第3个实体页面的数据位元区。如图5A至所示,替换实体单元410(T)中每一实体页面的数据位元区系用以写入属于单一个逻辑页面的写入数据,而冗余位元区则会被写入对应不同逻辑页面的两个位址存取信息。其中之一位址存取信息是对应这次写入的写入数据,而另一位址存取信息则对应主机系统1000上一次写入的写入数据。假设此次写入数据被写入第i个实体页面,那么上一次写入的写入数据则是被写入在第i-1个实体页面。倘若在如图所示的状态下存储器储存装置100被重新启动,存储器管理电路1043将去读取并扫描可复写式非挥发性存储器芯片106中的各实体页面,以利用各实体页面的冗余位元区所记录的信息来识别被写入至该实体页面中的数据所对应的位址存取信息(即,该数据是属于哪个逻辑页面),进而重建存储器储存装置100运行时所需要参考的表格。详细地说,在存储器管理电路1043扫描每一实体页面时,错误检查与校正电路3006将利用其冗余位元区所记录的错误检查与校正码来判断记录在该实体页面的其余数据的正确性。若错误检查与校正电路3006判定并未发生数据错误,存储器管理电路1043可读取冗余位元区的第一记录区所记录的位址存取信息,进而识别出被写入至该实体页面的数据是对应哪个逻辑页面。举例来说,当存储器管理电路1043扫描到替换实体单元410(T)的第I个实体页面时,假设错误检查与校正电路3006利用其冗余位元区中的错误检查与校正码ECC2而判定此实体页面发生数据错误,且错误位元已超过错误检查与校正码ECC2所能校正的位元数。此时,存储器管理电路1043将无法从此实体页面的冗余位元区识别出写入数据D2是对应哪个逻辑页面。对此,存储器管理电路1043会读取替换实体单元410(T)中的下一个实体页面(亦即,第2个实体页面),进而根据记录在第2个实体页面的冗余位元区的第二记录区中的位址存取信息AI2,以识别出第I个实体页面中的数据应是属于逻辑页面7。尔后,当主机系统1000要读取逻辑页面7时,存储器管理电路1043便会将一数据错误信息回应至主机系统1000,进而让主机系统1000中的作业系统能进行修复或作出其他相应的处理。在本范例实施例中,存储器管理电路1043每次将写入数据写入至一实体页面时,便会备份上一个写入指令的写入数据所对应的位址存取信息,据此能在重新启动存储器储存装置100并进行扫描而遇到数据错误的情况时,到下一个实体页面取得备份的位址存取信息。然而本发明并不局限于此备份方式,在本发明的其他范例实施例中,存储器管理电路1043在将写入数据及其位址存取信息写入至一实体页面之余,也可将在此写入指令之前的第k个(k为大于或等于I的正整数)写入指令的写入数据所对应的位址存取信息写入至该实体页面。如此一来,当重新启动存储器储存装置100而在扫描到某一实体页面却发生数据错误时,存储器管理电路1043会去读取下k个实体页面以取得备份的位址存取信息。必须特别说明的是,在上述范例实施例中虽然是将位址存取信息举例为写入数据所属的逻辑页面,并据此来对本发明进行说明,但本发明并不局限于此。在本发明的另一范例实施例中,倘若可复写式非挥发性存储器芯片106中的实体区块是被分组为数个区域(zone),且以每一区域都被视为独立的管理单位,那么各写入数据的位址存取信息则可以是写入数据所属的逻辑区域、写入数据所属的逻辑区块,以及写入数据所属的逻辑页面其中之一或其组合者。例如,位址存取信息AIl的内容可以是写入数据Dl是属于哪一个逻辑区域的哪个逻辑区块里的哪逻辑页面。在以下的实施例中,可复写式非挥发性存储器芯片106包括数个存储器模块(例如,存储器晶粒(die)),且每一实体单元是由属于不同存储器模块的多个实体区块所组成。基此,存储器管理电路1043在写入数据时去备份其他数据所属的位址存取信息的方式亦与前述范例实施例有所不同。图6是根据本发明的另一范例实施例所显示的管理实体单元的示意图。在本范例实施例中,可复写式非挥发性存储器芯片106包括存储器模块710、存储器模块720、存储器模块730,以及存储器模块740。存储器模块710至740分别通过独立的4个数据汇流排(未示出)耦接至存储器控制器104。然而在其他范例实施例中,存储器模块710至740也可通过I个数据汇流排耦接至存储器控制器104。如图6所示,存储器模块710具有实体区块710(0)710(N)、存储器模块720具有实体区块720(0)720(N)、存储器模块730具有实体区块730(0)730(N),而存储器模块740具有实体区块740(0)740(N)。详言之,存储器管理电路1043是将存储器模块710至740中的实体区块逻辑地分组为多个实体单元来管理。例如,实体区块710(0)、实体区块720(0)、实体区块730(0),以及实体区块740(0)会被配对以分组作为实体单元810(0),而实体区块710(I)、实体区块720(I)、实体区块730(I),以及实体区块740(I)则会被配对以分组作为实体单元810(I),以此类推。由于存储器管理电路1043系以实体单元来管理可复写式非挥发性存储器芯片106中的实体区块,因此在执行主机系统1000下达的写入指令或读取指令时,存储器管理电路1043会以平行方式对同一实体单元中属于不同的存储器模块的4个实体区块进行写入或读取动作。必须说明的是,虽然本范例实施例是以4个存储器模块为例来进行说明,但本发明并不限于此。在本发明的另一范例实施例中,可复写式非挥发性存储器芯片106也可以包括2个或8个存储器模块。图7是在图6所示的管理架构下,存储器管理电路1043因应来自主机系统的写入指令而将写入数据写入至替换实体单元810(T)的示意图。为了方便说明,假设每一实体区块包括4个实体页面。并假设存储器管理电路1043接收到来自主机系统1000的4笔写入数据Dl至D4。其中写入数据Dl至D4是对应4个不同的逻辑页面,且分别对应位址存取信息AIl至AI4。在本范例实施例中,位址存取信息AIl至AI4分别包括写入数据Dl至D4个别属于的逻辑页面。假设写入数据Dl属于逻辑页面5、写入数据D2属于逻辑页面10、写入数据D3属于逻辑页面8,且写入数据D4属于逻辑页面15。在本范例实施例中,针对替换实体单元810(T)中的每一实体页面,除了会记录被写入的数据对应的位址存取信息外,还会记录被写入至另一实体页面的数据所对应的位址存取信息,这两个实体页面属于不同的存储器模块,但在个别所属的存储器模块中具有相同的实体页面顺序。请参阅图7,存储器管理电路1043会一并将写入数据Dl至D4写入至所提取的替换实体单元810(T)。其中,存储器管理电路1043将写入数据Dl写入至替换实体单元SlO(T)中实体区块710(0)的第0个实体页面的数据位元区,并将写入数据D2写入至实体区块720(0)的第0个实体页面的数据位元区。而存储器管理电路1043还会将写入数据Dl对应的位址存取信息AlI、写入数据D2对应的位址存取信息Al2,以及写入数据Dl对应的错误检查与校正码ECCl分别写入至实体区块710(0)的第0个实体页面的冗余位元区里的第一记录区、第二记录区,以及第三记录区。并且,存储器管理电路1043会将写入数据D2对应的位址存取信息AI2、写入数据Dl对应的位址存取信息AI1,以及写入数据D2对应的错误检查与校正码ECC2写入至实体区块720(0)的第0个实体页面的冗余位元区里的第一记录区、第二记录区,以及第三记录区。换言之,实体区块720(0)的第0个实体页面可视为实体区块710(0)的第0个实体页面的备份区域,而实体区块710(0)的第0个实体页面可视为实体区块720(0)的第0个实体页面的备份区域。类似地,存储器管理电路1043将写入数据D3写入至替换实体单元810(T)中实体区块730(0)的第0个实体页面的数据位元区,且将写入数据D4写入至实体区块740(0)的第0个实体页面的数据位元区。同时,存储器管理电路1043亦会将写入数据D3对应的位址存取信息Al3、写入数据D4对应的位址存取信息AI4,以及写入数据D3对应的错误检查与校正码ECC3写入至实体区块730(0)的第0个实体页面的冗余位元区里的第一记录区、第二记录区,以及第三记录区。存储器管理电路1043会将写入数据D4对应的位址存取信息AI4、写入数据D3对应的位址存取信息AI3,以及写入数据D4对应的错误检查与校正码ECC4写入至实体区块740(0)的第0个实体页面的冗余位元区里的第一记录区、第二记录区,以及第三记录区。基此,实体区块730(0)的第0个实体页面与实体区块740(0)的第0个实体页面将互为对方的备份区域。在本范例实施例中,存储器模块710与存储器模块720系互为对方的备份区域,且存储器模块730与存储器模块740系互为对方的备份区域。然而在另一范例实施例中亦可采用其他的备份方式,例如以存储器模块710作为存储器模块720的备份区域、以存储器模块720作为存储器模块730的备份区域、以存储器模块730作为存储器模块740的备份区域,而以存储器模块740作为存储器模块710的备份区域。倘若在将写入数据Dl至D4写入至替换实体单元810(T)后,存储器储存装置100被重新启动,存储器管理电路1043将去扫描可复写式非挥发性存储器芯片106中的各实体页面,据以识别各实体页面中的数据所对应的逻辑页面。延续图7所示的范例实施例,当存储器管理电路1043扫描到实体区块710(0)的第0个实体页面,倘若错误检查与校正电路3006利用其冗余位元区的错误检查与校正码ECCl进行检测而发现此实体页面有数据错误的情况,表示实体区块710(0)的第0个实体页面所记录的信息有误,存储器管理电路1043将无法根据此实体页面的冗余位元区来识别其中的数据是属于哪个逻辑页面。对此,存储器管理电路1043会去读取作为其备份区域的实体区块720(0)的第0个实体页面,并根据其冗余位元区的第二记录区中的位址存取信息AIl以识别出实体区块710(0)的第0个实体页面中的数据是属于逻辑页面5。日后当主机系统1000欲读取逻辑页面5时,存储器管理电路1043便会将一数据错误信息回应至主机系统1000。也就是说,存储器管理电路1043在存储器储存装置100被重新启动而去扫描每个实体页面时,若有实体页面发生数据错误,存储器管理电路1043会读取作为备份区域的对应实体页面所记录的信息,以识别发生数据错误的实体页面中的数据所属于的逻辑页面。如此一来,当主机系统1000要读取的逻辑页面是对应有发生数据错误的实体页面时,便可正确地将数据错误信息回复至主机系统1000,避免因为回复错误数据而导致主机系统1000的作业系统无法正常执行。值得一提的是,在上述范例实施例中是将写入数据的位址存取信息、其他写入数据的位址存取信息,以及写入数据的错误检查与校正码依序写入至实体页面的冗余位元区里的第一记录区、第二记录区,以及第三记录区,但上述对应关系并不用以限制本发明。换言之,可根据实际应用情况或需求而采用不同的方式将两笔位址存取信息以及一错误检查与校正码写入至实体页面的冗余位元区。举例来说,在本发明的另一范例实施例中也可将写入数据的错误检查与校正码、写入数据的位址存取信息以及其他写入数据的位址存取信息依序写入至实体页面的冗余位元区里的第一记录区、第二记录区,以及第三记录区。图8是依照本发明的一范例实施例所显示的数据写入方法的流程图,请参阅图8。首先如步骤S810所示,存储器管理电路1043配置多个逻辑单元以映射可复写式非挥发性存储器芯片106中的部分实体单元。其中各逻辑单元包括多个逻辑页面。接着在步骤S820中,存储器管理电路1043通过主机系统界面1041接收来自主机系统1000的第一写入数据。此第一写入数据系对应单一个逻辑页面。如步骤S830所示,存储器管理电路1043将第一写入数据写入至所提取的一替换实体单元中的第i个实体页面,其中i为正整数。并且如步骤S840所示,存储器管理电路1043将第一写入数据、第一写入数据所对应的第一位址存取信息以及第二写入数据所对应的第二位址存取信息写入至第i个实体页面。其中,第一写入数据与第二写入数据分别属于不同的逻辑页面。如此一来,替换实体单元中的每一实体页面都将记录对应单一个逻辑页面的写入数据,以及对应不同逻辑页面的两个位址存取信息。综上所述,本发明所述的存储器储存装置、存储器控制器与数据写入方法是在将来自主机系统的写入数据写入所提取的替换实体单元中的一实体页面时,将写入数据及其所对应的位址存取信息写入此实体页面,另外将被写入至另一实体页面的写入数据所对应的位址存取信息写入至此实体页面,据以备份其他实体页面的写入数据的位址存取信息。基此,在存储器储存装置重新启动而对每一实体页面进行扫描之际,若发现有实体页面发生数据错误,则可利用另一实体页面中作为备份的位址存取信息来识别发生错误的实体页面的数据所对应的逻辑页面。进而避免在主机系统欲读取发生错误的数据时无法正确地作出回应。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属
技术领域
的普通技术人员,当可作些许的更动与润饰,而不脱离本发明的精神和范围。权利要求1.一种数据写入方法,用于具有一可复写式非挥发性存储器芯片的一存储器储存装置,该可复写式非挥发性存储器芯片包括多个实体单元,各所述实体单元包括多个实体页面,该方法包括配置多个逻辑单元以映射部分的所述实体单元,其中各所述逻辑单元包括多个逻辑页面;接收来自一主机系统的一第一写入数据;将该第一写入数据写入至从所述实体单元所提取的一替换实体单元中的第i个实体页面,其中i为正整数;以及将该第一写入数据所对应的一第一位址存取信息,以及一第二位址存取信息写入至该第i个实体页面。2.根据权利要求I所述的数据写入方法,其中该第一位址存取信息包括该第一写入数据所属的逻辑区域、该第一写入数据所属的逻辑区块以及该第一写入数据所属的逻辑页面的至少其中之一,且该第二位址存取信息包括一第二写入数据所属的逻辑区域、该第二写入数据所属的逻辑区块以及该第二写入数据所属的逻辑页面的至少其中之一。3.根据权利要求I所述的数据写入方法,其中该第二位址存取信息为一第二写入数据所对应的一第二逻辑页面,且该第二写入数据为被写入至该替换实体单元中的第i_k个实体页面,其中k为大于或等于I的正整数。4.根据权利要求3所述的数据写入方法,其中该方法还包括重新启动该存储器储存装置并扫描各所述实体页面;当判断该第i_k个实体页面发生数据错误时,读取该第i个实体页面以识别被写入至该第i_k个实体页面的该第二写入数据是对应于该第二逻辑页面;以及在该主机系统欲读取该第二逻辑页面时,回应一数据错误信息至该主机系统。5.根据权利要求I所述的数据写入方法,其中该可复写式非挥发性存储器芯片包括多个存储器模块,而该第二位址存取信息为一第二写入数据所对应的一第二逻辑页面,该第二写入数据为被写入至该替换实体单元中的第j个实体页面,该第i个实体页面与该第j个实体页面属于所述存储器模块中的不同存储器模块,且该第i个实体页面与该第j个实体页面在个别所属的存储器模块中具有相同的实体页面顺序,其中j为正整数。6.根据权利要求5所述的数据写入方法,该方法还包括重新启动该存储器储存装置并扫描各所述实体页面;当判断该第j个实体页面发生数据错误时,读取该第i个实体页面以识别被写入至该第j个实体页面的该第二写入数据是对应于该第二逻辑页面;以及在该主机系统欲读取该第二逻辑页面时,回应一数据错误信息至该主机系统。7.根据权利要求I所述的数据写入方法,还包括接收来自该主机系统的一清除指令;自该替换实体单元取得尚未被写入数据的一特定实体页面;将一结束标记写入至该特定实体页面;以及将在接收到该清除指令之前的最后一个写入数据所对应的位址存取信息写入至该特定实体页面。8.根据权利要求I所述的数据写入方法,其中各所述实体页面具有一数据位元区与一冗余位元区,而该第一写入数据被写入至该第i个实体页面的该数据位元区,且该第一位址存取信息与该第二位址存取信息被写入至该第i个实体页面的该冗余位元区。9.一种存储器控制器,用于管理一存储器储存装置中的一可复写式非挥发性存储器芯片,该存储器控制器包括一王机系统界面,用以I禹接一王机系统;一存储器界面,用以耦接该可复写式非挥发性存储器芯片,其中该可复写式非挥发性存储器芯片包括多个实体单元,且各所述实体单元包括多个实体页面;以及一存储器管理电路,耦接至该主机系统界面与该存储器界面,该存储器管理电路用以配置多个逻辑单元以映射部分的所述实体单元,其中各所述逻辑单元包括多个逻辑页面,该存储器管理电路还用以通过该主机系统界面接收来自该主机系统的一第一写入数据,并将该第一写入数据写入至从所述实体单元所提取的一替换实体单元中的第i个实体页面,以及将该第一写入数据所对应的一第一位址存取信息,以及一第二位址存取信息写入至该第i个实体页面,其中i为正整数。10.根据权利要求9所述的存储器控制器,其中该第一位址存取信息包括该第一写入数据所属的逻辑区域、该第一写入数据所属的逻辑区块以及该第一写入数据所属的逻辑页面的至少其中之一,且该第二位址存取信息包括一第二写入数据所属的逻辑区域、该第二写入数据所属的逻辑区块以及该第二写入数据所属的逻辑页面的至少其中之一。11.根据权利要求9所述的存储器控制器,其中该第二位址存取信息为一第二写入数据所对应的一第二逻辑页面,且该第二写入数据为被写入至该替换实体单元中的第i_k个实体页面,其中k为大于或等于I正整数。12.根据权利要求11所述的存储器控制器,其中在该存储器储存装置重新启动后,该存储器管理电路扫描各所述实体页面,当该第i_k个实体页面发生数据错误时,该存储器管理电路读取该第i个实体页面以识别被写入至该第i_k个实体页面的该第二写入数据是对应于该第二逻辑页面,并且在该主机系统欲读取该第二逻辑页面时,该存储器管理电路回应一数据错误信息至该主机系统。13.根据权利要求9所述的存储器控制器,其中该可复写式非挥发性存储器芯片包括多个存储器模块,而该第二位址存取信息为一第二写入数据所对应的一第二逻辑页面,该第二写入数据为被写入至该替换实体单元中的第j个实体页面,该第i个实体页面与该第j个实体页面属于所述存储器模块中的不同存储器模块,且该第i个实体页面与该第j个实体页面在个别所属的存储器模块中具有相同的实体页面顺序,其中j为正整数。14.根据权利要求13所述的存储器控制器,其中在该存储器储存装置重新启动后,该存储器管理电路扫描各所述实体页面,当该第j个实体页面发生数据错误时,该存储器管理电路读取该第i个实体页面以识别被写入至该第j个实体页面的该第二写入数据是对应于该第二逻辑页面,并且在该主机系统欲读取该第二逻辑页面时,该存储器管理电路回应一数据错误信息至该主机系统。15.根据权利要求9所述的存储器控制器,其中该存储器管理电路通过该主机系统界面接收来自该主机系统的一清除指令,自该替换实体单元取得尚未被写入数据的一特定实体页面,将一结束标记写入至该特定实体页面,以及将在接收到该清除指令之前的最后一个写入数据所对应的位址存取信息写入至该特定实体页面。16.根据权利要求9所述的存储器控制器,其中各所述实体页面具有一数据位元区与一冗余位元区,而该第一写入数据被写入至该第i个实体页面的该数据位元区,且该第一位址存取信息与该第二位址存取信息被写入至该第i个实体页面的该冗余位元区。17.一种存储器储存装置,包括一可复写式非挥发性存储器芯片,包括多个实体单元,且各所述实体单元包括多个实体页面;一连接器,用以耦接一主机系统;以及一存储器控制器,耦接至该可复写式非挥发性存储器芯片与该连接器,该存储器控制器用以配置多个逻辑单元以映射部分的所述实体单元,其中各所述逻辑单元包括多个逻辑页面,该存储器控制器还用以通过该连接器接收来自该主机系统的一第一写入数据,并将该第一写入数据写入至从所述实体单元所提取的一替换实体单元中的第i个实体页面,以及将该第一写入数据所对应的一第一位址存取信息,以及一第二位址存取信息写入至该第i个实体页面,其中i为正整数。18.根据权利要求17所述的存储器储存装置,其中该第一位址存取信息包括该第一写入数据所属的逻辑区域、该第一写入数据所属的逻辑区块以及该第一写入数据所属的逻辑页面的至少其中之一,且该第二位址存取信息包括一第二写入数据所属的逻辑区域、该第二写入数据所属的逻辑区块以及该第二写入数据所属的逻辑页面的至少其中之一。19.根据权利要求17所述的存储器储存装置,其中该第二位址存取信息为一第二写入数据所对应的一第二逻辑页面,且该第二写入数据为被写入至该替换实体单元中的第i_k个实体页面,其中k为大于或等于I正整数。20.根据权利要求19所述的存储器储存装置,其中在该存储器储存装置重新启动后,该存储器控制器扫描各所述实体页面,当该第i_k个实体页面发生数据错误时,该存储器控制器读取该第i个实体页面以识别被写入至该第i_k个实体页面的该第二写入数据是对应于该第二逻辑页面,并且在该主机系统欲读取该第二逻辑页面时,该存储器控制器回应一数据错误信息至该主机系统。21.根据权利要求17所述的存储器储存装置,其中该可复写式非挥发性存储器芯片包括多个存储器模块,而该第二位址存取信息为一第二写入数据所对应的一第二逻辑页面,该第二写入数据为被写入至该替换实体单元中的第j个实体页面,该第i个实体页面与该第j个实体页面属于所述存储器模块中的不同存储器模块,且该第i个实体页面与该第j个实体页面在个别所属的存储器模块中具有相同的实体页面顺序,其中j为正整数。22.根据权利要求21所述的存储器储存装置,其中在该存储器储存装置重新启动后,该存储器控制器扫描各所述实体页面,当该第j个实体页面发生数据错误时,该存储器控制器读取该第i个实体页面以识别被写入至该第j个实体页面的该第二写入数据是对应于该第二逻辑页面,并且在该主机系统欲读取该第二逻辑页面时,该存储器控制器回应一数据错误信息至该主机系统。23.根据权利要求17所述的存储器储存装置,其中该存储器控制器通过该连接器接收来自该主机系统的一清除指令,自该替换实体单元取得尚未被写入数据的一特定实体页面,将一结束标记写入至该特定实体页面,以及将在接收到该清除指令之前的最后一个写入数据所对应的位址存取信息写入至该特定实体页面。24.根据权利要求17所述的存储器储存装置,其中各所述实体页面具有一数据位元区与一冗余位元区,而该第一写入数据被写入至该第i个实体页面的该数据位元区,且该第一位址存取信息与该第二位址存取信息被写入至该第i个实体页面的该冗余位元区。全文摘要一种存储器储存装置、存储器控制器与数据写入方法。此存储器储存装置具有包括多个实体单元的可复写式非挥发性存储器芯片,且各实体单元包括多个实体页面。此方法包括配置多个逻辑单元以映射部分实体单元,而各逻辑单元包括多个逻辑页面。此方法还包括接收来自主机系统的第一写入数据,并将第一写入数据写入至从上述实体单元所提取的一替换实体单元中的第i个实体页面。此方法还包括将第一写入数据所对应的第一位址存取信息,以及一第二位址存取信息写入至第i个实体页面,其中i为正整数。文档编号G11C16/02GK102737716SQ20111009228公开日2012年10月17日申请日期2011年4月11日优先权日2011年4月11日发明者叶志刚申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1