数据储存装置以及其数据存取方法
【技术领域】
[0001]本发明是关于一种数据储存装置,特别是关于可对页面进行存取的数据储存装置。
【背景技术】
[0002]快闪存储器为一种可以被电抹除并且重新写入的非易失性存储器,并且主要是应用在存储卡、USB随身碟、eMMC以及固态硬盘(Solid-State Disk)中,借以作为一般的储存与电脑装置和数字产品间的数据的转运。
[0003]快闪存储器包括众多的存储区块(block),并且每一存储区块具有多个用以储存数据的储存页面(page)。快闪存储器是以存储区块为单元进行抹除,而以储存页面为单位进行写入。当快闪存储器接收到将区块全部抹除的命令时,快闪存储器会逐一对每一区块中的每一页面进行抹除的动作。当快闪存储器需要更新页面中的部分数据时,快闪存储器需要将原本页面中的数据读出,并将更新的数据以及原页面不需更新的数据整合后,写入另一个实体页面中。
【发明内容】
[0004]本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个区块,并且每一区块包括多个页面,其中每一页面具有多个子页面以及多个备用区块,每一备用区块用以储存一保留信息(Spare Data),保留信息分别相应于每一子页面。控制器用以根据保留信息对子页面进行存取。保留信息包括所相应的子页面的一元数据(Meta Data),用以记录所相应的子页面的数据。在另一实施例中,保留信息更包括所相应的元数据的一错误检查码(ECC Parity)。另外,每一子页面包括一数据区块。在另一实施例中,每一子页面更包括相应于数据区块的一错误检查码。另外,备用区块以及子页面是交错排列于页面中、页面中的一个的所有备用区块排列于页面的前端,或者页面中的一个的所有备用区块排列于页面的后端。在一实施例中,快闪存储器更包括至少一既定页面,用以储存一页面大小参数,并且页面大小参数用以代表每一页面的一页面大小。
[0005]本发明另提供一种数据存取方法,适用于一数据储存装置,其中数据储存装置包括一快闪存储器,快闪存储器包括多个区块,每一区块包括多个页面,每一页面具有多个子页面。数据存取方法包括:接收相应于对子页面中的一第一子页面进行存取的一存取命令,其中每一页面更包括多个备用区块,每一备用区块用以储存一保留信息(Spare Data),保留信息分别相应于每一子页面;以及根据相应于第一子页面的保留信息,对第一子页面进行存取,其中保留信息包括所相应的子页面的一元数据(Meta Data),用以记录所相应的子页面的数据。保留信息更包括所相应的元数据的一错误检查码(ECC Parity),并且对第一子页面进行存取的步骤更包括根据错误检查码修正元数据的至少一错误比特。每一子页面包括一数据区块以及相应于数据区块的一错误检查码,并且对第一子页面进行存取的步骤更包括根据错误检查码修正子页面的至少一错误比特。在一实施例中,快闪存储器更包括至少一既定页面,用以储存一页面大小参数,并且页面大小参数用以代表每一页面的一页面大小。
【附图说明】
[0006]图1为本发明所提供的一电子系统的一种实施例的方块图。
[0007]图2A为本发明所提供的页面的一种实施例的示意图。
[0008]图2B为本发明所提供的页面的另一种实施例的示意图。
[0009]图2C为本发明所提供的页面的另一种实施例的示意图。
[0010]图2D为本发明所提供的页面的另一种实施例的示意图。
[0011]图3为本发明所提供的一数据存取方法的一种实施例的流程图。
[0012]【附图标记说明】
[0013]100电子系统;
[0014]120 主机;
[0015]140数据储存装置;
[0016]160 控制器;
[0017]162运算单元;
[0018]164永久存储器;
[0019]180快闪存储器;
[0020]SP1-SP2 备用区块;
[0021]SPG1-SPG2 页面;
[0022]S300-S402 步骤。
【具体实施方式】
[0023]以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
[0024]图1为本发明所提供的一电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机110所下达的命令操作。控制器160包括一运算单元162以及一永久存储器(如,只读存储器ROM) 164。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。快闪存储器180包括多个区块,并且每一区块包括多个页面。另外,每一页面具有多个子页面以及多个备用区块(Spare Area)。每一子页面包括一数据区块。在另一实施例中,每一子页面更包括相应于数据区块的一错误检查码。每一备用区块用以储存一保留信息(Spare Data),保留信息分别相应于每一子页面。在一实施例中,保留信息包括所相应的子页面的一元数据(Meta Data),用以记录所相应的子页面的数据。举例而言,元数据可包括各区块、各页面以及各子页面的数据属性,例如从实体子页面到逻辑子页面的反转信息等等,本发明不限于此。在另一实施例中,保留信息更包括所相应的元数据的一错误检查码(ECC Parity)。因此,控制器160可根据保留信息对页面中的子页面进行存取。当每一页面仅包括一备用区块时,控制器160仅可对整个页面进行存取,其中当控制器160所接收的存取命令仅指示对一第一页面中的一第一扇区(sector)进行写入时,控制器160需将第一页面的第一扇区外的其他扇区的数据读出,并与存取命令所指示需要写入的数据整合,再将整合后的数据写入另一页面中。当页面中具有多个子页面以及所相应的多个备用区块时,控制器160可直接对小于页面的子页面进行写入,其中当控制器160所接收的存取命令仅指示对一第一页面中的一第一扇区进行写入,并且第一扇区构成一子页面时,控制器160可直接将存取命令所指示需要写入的数据写入子页面中。
[0025]值得注意的是,在快闪存储器180具有至少一既定页面,用以储存一页面大小参数,并且页面大小参数用以代表每一页面的一页面大小。举例而言,在数据储存装置140被格式化后,快闪存储器180中的每一页面具有一固定的页面大小,并且相应于页面大小的页面大小参数会被储存于快闪存储器180的至少一既定页面中,但本发明不限于此。在其他实施例中,页面大小参数亦可储存于电子系统100中的其他存储器中,并且既定页面亦可包括其他数据,例如相应于区块大小的参数、相应于子页面大小的参数等等,本发明不限于此。另外,页面大小可为4K、8K、16K等等,本发明不限于此。子页面的大小可为1Κ、2Κ、4Κ、8Κ等等,本发明不限于此。当数据储存装置140上电时,控制器160读取既定页面中的数据,并借以获得区块、页面、子页面的大小,以根据不同存取模式对快闪存储器180进行存取。
[0026]举例而言,每一区块中的每一页面的每一子页面分别具有一逻辑地址以及一实体地址,并且数据储存装置140更包括至少一映射表,用以储存每一区块中每一子页面的逻辑地址以及实体地址的对应关系。举例而言,映射表可储存于永久存储器164或者快闪存储器180中,本发明不限于此。另外,映射表可包括至少一区块映射表、多个页面映射表及/或多个子页面映射表。举例而言,控制器160可借由逻辑地址计算出逻辑地址所相应的逻辑区块以及逻辑子页面,并且根据区块映射表,获得相应于逻辑区块的实体区块。接着,根据相应于逻辑区块的子页面映射表,获得相应的子逻辑页面,再根据子逻辑页面定位至实体子页面,但本发明不限于此。可借由查表找出相应于逻辑地址的子页面的实体地址皆为本发明的范畴。
[0027]图2Α为本发明所提供的页面的一种实施例的示意图。在本实施例中,页面200Α的页面大小为8Κ。页面200Α具有两个子页面SPG1-SPG2,子页面SPG1-SPG2的子页面大小分别为4Κ,但本发明不限于此。页面200Α亦可包括子页面大小为2Κ的4个子页面或者子页面大小为IK的8个子页面。页面200Α的页面大亦不限于此。在本实施例中,页面200Α中的备用区块SP1-SP2是排列于页面200Α的前端,子页面SPG1-SPG2是排列于页面200Α的后端,其中备用区块SPl相应于子页面SPGl,备用区块SP2相应于子页面SPG2。
[0028]图2Β为本发明所提供的页面的另一种实施例的示意图。在本实施例中,页面200Β的页面大小为8Κ。页面200Β具有两个子页面SPG1-SPG2,子页面SPG1-SPG2的子页面大小分别为4Κ,但本发明不限于此。页面200Β亦可包括子页面大小为2Κ的4个子页面或者子页面大小为IK的8个子页面。页面200Β的页面大亦不限于此。在本实施例中,页面200Β中所有备用区块SP1-