CN102890645B - 存储器储存装置、存储器控制器与数据写入方法 - Google Patents
存储器储存装置、存储器控制器与数据写入方法 Download PDFInfo
- Publication number
- CN102890645B CN102890645B CN201110203499.2A CN201110203499A CN102890645B CN 102890645 B CN102890645 B CN 102890645B CN 201110203499 A CN201110203499 A CN 201110203499A CN 102890645 B CN102890645 B CN 102890645B
- Authority
- CN
- China
- Prior art keywords
- data
- write
- write data
- type
- length
- 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
Links
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储器储存装置、存储器控制器与数据写入方法。此存储器储存装置耦接主机系统,且存储器储存装置包括错误检查与校正电路与可复写式非易失性存储器芯片。此方法包括在准备将写入数据写入至可复写式非易失性存储器芯片时,判断写入数据是否属于特定类型。此方法还包括若写入数据属于特定类型,由错误检查与校正电路根据写入数据产生符合第一长度的至少一第一类错误检查与校正码。此方法还包括若写入数据不属于特定类型,由错误检查与校正电路根据写入数据产生符合第二长度的至少一第二类错误检查与校正码。其中,第一长度大于第二长度。
Description
技术领域
本发明涉及一种数据写入方法,尤其涉及一种强化特定数据的保护的数据写入方法与实行该方法的存储器储存装置与存储器控制器。
背景技术
可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小与无机械结构等特性,故被广泛地应用于各种电子装置。可复写式非易失性存储器具有多个实体区块,且每一实体区块具有多个实体页面。其中,实体区块为数据抹除的最小单位,而实体页面则是数据写入的最小单元。储存装置中的存储器管理电路会将主机系统欲存取的逻辑存取地址转换对应的逻辑页面,并至该逻辑页面所对应的实体页面进行存取。
由于储存在可复写式非易失性存储器的数据可能会因存储器单元漏电、编程失败或损毁等因素而产生错误位元,因此使用可复写式非易失性存储器的储存装置会配置一错误检查与校正电路来识别数据的正确性。一般来说,错误检查与校正电路对于所有存入可复写式非易失性存储器的数据是采用统一的保护方式。换言之,错误检查与校正电路会为所有数据产生相同长度的错误检查与校正码,因此无论数据是属于何种类型,错误检查与校正电路所能检测与校正的错误位元数都相同。然而,对于重要性高且损坏时会对系统运作造成严重影响的数据,却往往因为缺乏较为强大的错误检查与校正机制,而无法降低因其损坏而导致系统完全无法使用的风险。
发明内容
有鉴于此,本发明提供一种数据写入方法、存储器控制器以及存储器储存装置,用以对维持存储器储存装置正常运作的重要数据进行更完善的保护,以提升存储器储存装置的可靠度。
本发明提出一种数据写入方法,用于耦接至主机系统的存储器储存装置,其中存储器储存装置包括错误检查与校正电路与可复写式非易失性存储器芯片,且可复写式非易失性存储器芯片包括多个实体页面。此方法包括在准备将写入数据写入至可复写式非易失性存储器芯片时,判断写入数据是否属于特定类型。此方法还包括若写入数据属于特定类型,由错误检查与校正电路根据写入数据产生符合第一长度的至少一第一类错误检查与校正码。此方法还包括若写入数据不属于特定类型,由错误检查与校正电路根据写入数据产生符合第二长度的至少一第二类错误检查与校正码。其中,第一长度大于第二长度。
从另一观点来看,本发明提出一种存储器控制器,用于管理存储器储存装置中的可复写式非易失性存储器芯片。此存储器控制器包括主机系统接口、存储器接口、错误检查与校正电路,以及存储器管理电路。主机系统接口用以耦接主机系统。存储器接口用以耦接可复写式非易失性存储器芯片,此可复写式非易失性存储器芯片包括多个实体页面。存储器管理电路耦接至主机系统接口、存储器接口与错误检查与校正电路。存储器管理电路用以在准备将写入数据写入至可复写式非易失性存储器芯片时,判断写入数据是否属于特定类型。若写入数据属于特定类型,存储器管理电路通知错误检查与校正电路根据写入数据产生符合第一长度的至少一第一类错误检查与校正码。若写入数据不属于特定类型,存储器管理电路通知错误检查与校正电路根据写入数据产生符合第二长度的至少一第二类错误检查与校正码,其中第一长度大于第二长度。
从又一观点来看,本发明提出一种存储器储存装置,包括可复写式非易失性存储器芯片、连接器,以及存储器控制器。其中,可复写式非易失性存储器芯片包括多个实体页面。连接器用以耦接主机系统。存储器控制器耦接至可复写式非易失性存储器芯片与连接器。存储器控制器用以在准备将写入数据写入至可复写式非易失性存储器芯片时,判断写入数据是否属于特定类型。若写入数据属于特定类型,存储器控制器根据写入数据产生符合第一长度的至少一第一类错误检查与校正码,若写入数据不属于特定类型,存储器控制器根据写入数据产生符合第二长度的至少一第二类错误检查与校正码,其中第一长度大于第二长度。
基于上述,本发明在将属于特定类型的重要数据写入可复写式非易失性存储器芯片时,会产生较长的错误检查与校正码,以提升错误检查与校正电路对这类数据所能检测与校正的错误位元数,据以增加存储器储存装置的稳定度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本发明一范例实施例显示的使用存储器储存装置的主机系统的示意图。
图1B是根据本发明范例实施例所显示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所显示的主机系统与存储器储存装置的示意图。
图2是图1A所示的存储器储存装置的概要方框图。
图3是根据本发明一范例实施例显示的存储器控制器的概要方框图。
图4是根据本发明的一范例实施例所显示的管理实体区块的示意图。
图5A、图5B是根据本发明的一范例实施例所显示的实体页面的数据配置方式的示意图。
图6是根据本发明的一范例实施例所显示的数据写入方法的流程图。
附图标记:
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:可复写式非易失性存储器芯片
1041:主机系统接口
1043:存储器管理电路
1045:存储器接口
1047:错误检查与校正电路
3002:缓冲存储器
3004:电源管理电路
502:数据区
504:闲置区
506:系统区
508:取代区
610(0)~610(L):逻辑区块
410(0)~410(N):实体区块
510、520:实体页面
D1、D2、D3、D4:数据位元区
S1、S2、S3、S4:冗余位元区
ECC1、ECC2、ECC3、ECC4:错误校正位元区
S610~S650:本发明的一范例实施例所述的数据写入方法的各步骤
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存系统)包括存储器芯片与控制器(亦称,控制电路)。通常存储器储存装置会与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。另外,亦有存储器储存装置是包括嵌入式存储器与可执行于主机系统上以实质地作为此嵌入式存储器的控制器的软件。
图1A是根据本发明一范例实施例所显示的使用存储器储存装置的主机系统的示意图。
主机系统1000包括计算机1100与输入/输出(Input/Output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(RandomAccessMemory,RAM)1104、系统总线1108以及数据传输接口1110。输入/输出装置1106包括如图1B所示的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明范例实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至存储器储存装置100,或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的记忆卡1214、随身碟1212、或固态硬盘(SolidStateDrive,SSD)1216。
一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是手机、数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机1310时,存储器储存装置则为其所使用的安全数码(SecureDigital,SD)卡1312、多媒体记忆(MultimediaCard,MMC)卡1314、记忆棒(MemoryStick)1316、小型闪速(CompactFlash,CF)卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。
图2是图1A所示的存储器储存装置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包括多个实体区块,且每一实体区块包括多个实体页面。举例来说,可复写式非易失性存储器芯片106为多阶存储单元(MultiLevelCell,MLC)NAND闪速存储器芯片,但本发明不限于此,可复写式非易失性存储器芯片106也可以是单阶存储单元(SingleLevelCell,SLC)NAND闪速存储器芯片、其他闪速存储器芯片或任何具有相同特性的存储器芯片。
图3是根据本发明一范例实施例所显示的存储器控制器的概要方框图。请参照图3,存储器控制器104包括主机系统接口1041、存储器管理电路1043、存储器接口1045,以及错误检查与校正电路1047。
主机系统接口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所能接受的格式。
错误检查与校正电路1047耦接至存储器管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路1047会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),且存储器管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器芯片106。之后当存储器管理电路1043从可复写式非易失性存储器芯片106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路1047会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。在本范例实施例中,错误检查与校正电路1047会根据存储器管理电路1043的指示,以替属于不同类型的数据产生不同长度的错误检查与校正码。
在本发明的另一范例实施例中,存储器控制器104还包括缓冲存储器3002。缓冲存储器3002可以是静态随机存取存储器(StaticRandomAccessMemory,SRAM)、或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等,本发明并不加以限制。缓冲存储器3002耦接至存储器管理电路1043,用以暂存来自于主机系统1000的数据,或暂存来自于可复写式非易失性存储器芯片106的数据。
在本发明又一范例实施例中,存储器控制器104还包括电源管理电路3004。电源管理电路3004耦接至存储器管理电路1043,用以控制存储器储存装置100的电源。
图4是根据本发明的一范例实施例所显示的管理可复写式非易失性存储器芯片106的实体区块的示意图。
请参阅图4,本范例实施例的可复写式非易失性存储器芯片106包括实体区块410(0)~410(N),且每一实体区块包括数个实体页面。存储器控制器104中的存储器管理电路1043会将实体区块410(0)~410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。其中,图4所标示的F、S、R与N为正整数,代表各区配置的实体区块数量,其可由存储器储存装置100的制造商依据所使用的可复写式非易失性存储器芯片106的容量来设定。
逻辑上属于数据区502与闲置区504的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体区块是被视为已储存数据的实体区块,而闲置区504的实体区块是用以替换数据区502的实体区块。换句话说,闲置区504的实体区块为空或可使用的实体区块(无记录数据或标记为已没用的无效数据)。当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路1043会从闲置区504中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区502的实体区块。
逻辑上属于系统区506的实体区块是用以记录系统数据。举例来说,系统数据包括关于可复写式非易失性存储器芯片106的制造商与型号等信息,以及在主机系统1000使用存储器储存装置100的期间,存储器管理电路1043为了管理实体区块所建立的各种表格。
逻辑上属于取代区508的实体区块是用以在数据区502、闲置区504或系统区506中的实体区块损毁时,取代损坏的实体区块。具体而言,倘若取代区508中仍存有正常的实体区块且数据区502的实体区块损坏时,存储器管理电路1043会从取代区508中提取正常的实体区块来更换数据区502中损坏的实体区块。
为了让主机系统1000能对可复写式非易失性存储器芯片106进行存取,存储器管理电路1043会配置数个逻辑区块610(0)~610(L)以映射数据区502中的实体区块410(0)~410(F-1)。其中每一逻辑区块包括多个逻辑页面,而逻辑区块610(0)~610(L)中的逻辑页面会依序映射实体区块410(0)~410(F-1)中的实体页面。
详言之,存储器管理电路1043将所配置的逻辑区块610(0)~610(L)提供给主机系统1000,并维护逻辑区块-实体区块映射表(logicalblock-physicalblockmappingtable)以记录逻辑区块610(0)~610(L)与实体区块410(0)~410(F-1)的映射关系。因此,当主机系统1000欲存取一逻辑存取地址时,存储器管理电路1043会将此逻辑存取地址转换为对应的逻辑区块的逻辑页面,再通过逻辑区块-实体区块映射表找到其所映射的实体页面来进行存取。
对于所有写入至可复写式非易失性存储器芯片106的数据来说,某些数据的损坏与否对于存储器储存装置100是否能正常运作会造成最直接的影响。举例而言,倘若为了管理实体区块所建立的各种映射表损坏,存储器管理电路1043便无法正确地存取主机系统1000所欲存取的数据。更进一步来说,倘若存储器管理电路1043的控制指令是以程序码型式储存于可复写式非易失性存储器芯片106,若上述程序码损毁,存储器控制器104将会失效而导致主机系统1000无法再使用存储器储存装置100。
基此,为了强化对于直接影响存储器储存装置100运作的数据的保护,每当存储器管理电路1043在准备将一写入数据写入至可复写式非易失性存储器芯片106时,便会去判断此写入数据是否属于需要特别保护的特定类型。举例来说,倘若写入数据并非来自主机系统1000、写入数据是除了使用者数据以外的数据,或者写入数据所欲写入的位置是可复写式非易失性存储器芯片106的特定区域(例如,系统区506),存储器管理电路1043便判定此写入数据是属于特定类型。
尔后,存储器管理电路1043可利用下达参数的方式通知错误检查与校正电路1047针对不同类型的写入数据产生不同长度的错误检查与校正码。也就是说,在存储器控制器104中只需配置唯一一个错误检查与校正电路1047,存储器管理电路1043便能藉由参数调整来使其产生不同长度的错误检查与校正码。
详言之,倘若写入数据是属于特定类型,存储器管理电路1043会下达第一参数至错误检查与校正电路1047。而错误检查与校正电路1047便会根据第一参数与写入数据来产生至少一第一类错误检查与校正码,其中每一第一类错误检查与校正码都符合第一长度。而倘若写入数据不属于特定类型,存储器管理电路1043则会下达第二参数至错误检查与校正电路1047,以由错误检查与校正电路1047根据第二参数与写入数据产生至少一第二类错误检查与校正码,而每一第二类错误检查与校正码都符合第二长度。在本范例实施例中,第一长度大于第二长度,因此只要写入数据是属于特定类型,其所对应的错误检查与校正码便具有较长的长度。因此相对来说,错误检查与校正电路1047针对属于特定类型的写入数据所能检测与校正的错误位元数也较多。
一般来说,每一实体页面会包括用来储存写入数据的数据位元区,用来储存逻辑存取地址、偏移及遮罩等相关系统数据的冗余位元区,以及用来储存错误检查与校正码的错误校正位元区,而一般所称具有4千位元组(kilobyte,KB)页面容量的实体页面实际可储存的数据量为4320位元组。假设每一数据位元区的容量被预先定义为1024位元组,且存储器管理电路1043所下达的第一参数是对应长度为119位元组的第一类错误检查与校正码,而第二参数是对应长度为51位元组的第二类错误检查与校正码,由于不同长度的错误检查与校正码需搭配不同的配置方式来储存数据,以下以图5A、图5B来说明在本范例实施例中用以储存不同类型的写入数据的实体页面的数据配置方式。
请参阅图5A,在本范例实施例中,实体页面510是用以储存属于特定类型的写入数据。实体页面510包括两个数据位元区D1、D2(容量大小均为1024位元组)。其中,数据位元区D1对应冗余位元区S1(容量大小为8位元组)及错误校正位元区ECC1(容量大小为119位元组),而数据位元区D2则对应冗余位元区S2(容量大小为2位元组)及错误校正位元区ECC2(容量大小为119位元组)。在图5A以斜线标示之处为没有使用的剩余空间,其容量大小为2024位元组。
值得一提的是,由于在图5A所示的配置方式中,以斜线标示的剩余空间的大小还足以配置另一组容量大小分别为1024位元组、2位元组、119位元组的数据位元区、冗余位元区,以及错误校正位元区,因此在本发明的另一范例实施例中,用以储存属于特定类型的写入数据的实体页面也可包括三个数据位元区。
请参阅图5B,对于用来储存不属于特定类型的写入数据的实体页面520来说,其包括四个数据位元区D1、D2、D3、D4(容量大小均为1024位元组),分别对应四个冗余位元区S1、S2、S3、S4(容量大小分别为8、2、2、2位元组)以及四个错误校正位元区ECC1、ECC2、ECC3、ECC4(容量大小均为51位元组)。在图5B以斜线标示之处为没有使用的剩余空间,其容量大小为6位元组。
同时比较图5A与图5B可以发现,用于储存属于特定类型的写入数据的实体页面510所对应的数据位元区数量较少,因此相较实体页面520来说,实体页面510所能储存的写入数据量较少。但由于在实体页面510中每一错误校正位元区ECC1、ECC2能存放长度为119位元组的错误检查与校正码,因此针对实体页面510中的每一数据位元区,错误检查与校正电路1047所能检测和校正的错误位元数为68位元。而因为实体页面520中的每一错误校正位元区仅能存放长度为51位元组的错误检查与校正码,因此针对实体页面510中的每一数据位元区,错误检查与校正电路1047仅能检测与校正29位元的错误位元数。
然而必须特别说明的是,上述实体页面的页面容量以及储存数据的配置方式仅是为了说明而举出的范例,本发明并不局限于此。进一步来说,存储器管理电路1043会根据可复写式非易失性存储器芯片106的每一实体页面的页面容量、预先定义的数据位元区容量与冗余位元区容量来计算错误检查与校正电路1047最多能支持多长的错误检查与校正码,并以此长度作为第一长度。并且,存储器管理电路1043至少会根据页面容量、数据位元区容量与第一长度以计算出被用来写入属于特定类型的写入数据的实体页面所对应的第一数据位元区数量(在一范例实施例中,存储器管理电路1043是根据页面容量、数据位元区容量、冗余位元区容量,以及第一长度来计算第一数据位元区数量)。除此之外,存储器管理电路1043会决定一个小于第一长度的第二长度,再至少根据页面容量、数据位元区容量与第二长度,算出被用来写入不属于特定类型的写入数据的实体页面所对应的第二数据位元区数量(在一范例实施例中,存储器管理电路1043是根据页面容量、数据位元区容量、冗余位元区容量,以及第二长度来计算第二数据位元区数量)。其中,第一数据位元区数量会小于第二数据位元区数量。
存储器管理电路1043可以上述方式决定不同类型的写入数据在实体页面中所要对应的数据配置方式。在实际要将写入数据写入可复写式非易失性存储器芯片106时,存储器管理电路1043先根据写入数据是否属于特定类型而选择对应的数据配置方式,并将对应的参数下达至错误检查与校正电路1047。错误检查与校正电路1047会根据要采用的数据配置方式的数据位元区容量以及参数所对应的错误检查与校正码长度,替符合数据位元区容量的每一数据片段产生一错误检查与校正码。尔后,存储器管理电路1043会利用缓冲存储器3002将写入数据及其所对应的一或多个错误检查与校正码整理为适当的数据配置方式,再将其写入一或多个实体页面。
详细地说,针对属于特定类型的写入数据,存储器管理电路1043会根据第一数据位元区数量将写入数据及所对应的符合第一长度的至少一第一类错误检查与校正码写入至一或多个实体页面。针对不属于特定类型的写入数据,存储器管理电路1043则根据第二数据位元区数量将写入数据及所对应的符合第二长度的至少一第二类错误检查与校正码写入至一或多个实体页面。
在上述范例实施例中,存储器储存装置100仅使用单一个错误检查与校正电路1047来对属于特定类型的写入数据产生较长的错误检查与校正码,并且对不属于特定类型的写入数据产生较短的错误检查与校正码。如此一来,可提升错误检查与校正电路1047针对特定类型数据所能检测与校正的错误位元数,据此达到提升存储器储存装置100的稳定度与可靠性的目的。
图6是根据本发明的一范例实施例所显示的数据写入方法的流程图。
请参阅图6,在存储器管理电路1043准备将写入数据写入至可复写式非易失性存储器芯片106时,如步骤S610所示,存储器管理电路1043判断写入数据是否属于特定类型。例如,判断写入数据是否不来自主机系统1000,或写入数据是否是要写入可复写式非易失性存储器芯片106的系统区506,或写入数据是除了使用者数据以外的数据。
若写入数据属于特定类型,在步骤S620中,存储器管理电路1043通知错误检查与校正电路1047根据写入数据产生符合第一长度的至少一第一类错误检查与校正码。接着如步骤S630所示,存储器管理电路1043根据第一数据位元区数量将写入数据及所对应的上述第一类错误检查与校正码写入至少一实体页面。
若写入数据不属于特定类型,则如步骤S640所示,存储器管理电路1043通知错误检查与校正电路1047根据写入数据产生符合第二长度的至少一第二类错误检查与校正码,并且在步骤S650中,存储器管理电路1043根据第二数据位元区数量将写入数据及所对应的至少一第二类错误检查与校正码写入至少一实体页面。
综上所述,本发明所述的数据写入方法、存储器控制器以及存储器储存装置能分辨写入数据的类型,并根据不同类型的写入数据产生不同长度的错误检查与校正码。如此一来,对于会对存储器储存装置能否正常运作造成直接影响的重要数据,采用较长的错误检查与校正码以确保能检测与校正较多的错误位元数,进而提升存储器储存装置的稳定度。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
Claims (21)
1.一种数据写入方法,用于耦接至一主机系统的一存储器储存装置,其中该存储器储存装置包括一错误检查与校正电路与一可复写式非易失性存储器芯片,该可复写式非易失性存储器芯片包括多个实体页面,该方法包括:
在准备将一写入数据写入至该可复写式非易失性存储器芯片时,判断该写入数据是否属于一特定类型,其中若该写入数据不来自该主机系统、该写入数据是除了使用者数据以外的数据或该写入数据欲写入该可复写式非易失性存储器芯片的一系统区,则判定该写入数据属于该特定类型;
若该写入数据属于该特定类型,由该错误检查与校正电路根据该写入数据产生符合一第一长度的至少一第一类错误检查与校正码;
若该写入数据不属于该特定类型,由该错误检查与校正电路根据该写入数据产生符合一第二长度的至少一第二类错误检查与校正码,其中该第一长度大于该第二长度;以及
将对应该写入数据的错误检查与校正码写入至该可复写式非易失性存储器芯片。
2.根据权利要求1所述的数据写入方法,其中判断该写入数据是否属于该特定类型的步骤包括:
若该写入数据欲写入该可复写式非易失性存储器芯片的一数据区,则判定该写入数据不属于该特定类型。
3.根据权利要求1所述的数据写入方法,其中由该错误检查与校正电路根据该写入数据产生符合该第一长度的该至少一第一类错误检查与校正码的步骤包括:
由该错误检查与校正电路接收一第一参数;以及
根据该第一参数与该写入数据产生该至少一第一类错误检查与校正码。
4.根据权利要求3所述的数据写入方法,其中由该错误检查与校正电路根据该写入数据产生符合该第二长度的该至少一第二类错误检查与校正码的步骤包括:
由该错误检查与校正电路接收一第二参数;以及
根据该第二参数与该写入数据产生该至少一第二类错误检查与校正码。
5.根据权利要求1所述的数据写入方法,其中各该些实体页面具有一页面容量,该方法还包括:
定义一数据位元区容量,其中该数据位元区容量小于该页面容量;
至少根据该页面容量、该数据位元区容量与该第一长度,计算被用来写入属于该特定类型的写入数据的实体页面所对应的一第一数据位元区数量;以及
至少根据该页面容量、该数据位元区容量与该第二长度,计算被用来写入不属于该特定类型的写入数据的实体页面所对应的一第二数据位元区数量,其中该第一数据位元区数量小于该第二数据位元区数量。
6.根据权利要求5所述的数据写入方法,其中将对应该写入数据的该错误检查与校正码写入至该可复写式非易失性存储器芯片的步骤包括:
根据该第一数据位元区数量将该写入数据及所对应的符合该第一长度的该至少一第一类错误检查与校正码写入该些实体页面至少其中之一。
7.根据权利要求5所述的数据写入方法,其中将对应该写入数据的该错误检查与校正码写入至该可复写式非易失性存储器芯片的步骤包括:
根据该第二数据位元区数量将该写入数据及所对应的符合该第二长度的该至少一第二类错误检查与校正码写入该些实体页面至少其中之一。
8.一种存储器控制器,用于管理一存储器储存装置中的一可复写式非易失性存储器芯片,该存储器控制器包括:
一主机系统接口,用以耦接一主机系统;
一存储器接口,用以耦接该可复写式非易失性存储器芯片,其中该可复写式非易失性存储器芯片包括多个实体页面;
一错误检查与校正电路;以及
一存储器管理电路,耦接至该主机系统接口、该存储器接口与该错误检查与校正电路,该存储器管理电路用以在准备将一写入数据写入至该可复写式非易失性存储器芯片时,判断该写入数据是否属于一特定类型,
其中若该写入数据不来自该主机系统、该写入数据是除了使用者数据以外的数据或该写入数据欲写入该可复写式非易失性存储器芯片的一系统区,则该存储器管理电路判定该写入数据属于该特定类型,
若该写入数据属于该特定类型,该存储器管理电路通知该错误检查与校正电路根据该写入数据产生符合一第一长度的至少一第一类错误检查与校正码,
若该写入数据不属于该特定类型,该存储器管理电路通知该错误检查与校正电路根据该写入数据产生符合一第二长度的至少一第二类错误检查与校正码,其中该第一长度大于该第二长度,
该存储器管理电路还用以将对应该写入数据的错误检查与校正码写入至该可复写式非易失性存储器芯片。
9.根据权利要求8所述的存储器控制器,其中若该写入数据欲写入该可复写式非易失性存储器芯片的一数据区,该存储器管理电路判定该写入数据不属于该特定类型。
10.根据权利要求8所述的存储器控制器,其中该存储器管理电路下达一第一参数至该错误检查与校正电路,该错误检查与校正电路根据该第一参数与该写入数据产生符合该第一长度的该至少一第一类错误检查与校正码。
11.根据权利要求10所述的存储器控制器,其中该存储器管理电路下达一第二参数至该错误检查与校正电路,该错误检查与校正电路根据该第二参数与该写入数据产生符合该第二长度的该至少一第二类错误检查与校正码。
12.根据权利要求8所述的存储器控制器,其中各该些实体页面具有一页面容量,而该存储器管理电路定义小于该页面容量的一数据位元区容量,
该存储器管理电路至少根据该页面容量、该数据位元区容量与该第一长度,计算被用来写入属于该特定类型的写入数据的实体页面所对应的一第一数据位元区数量,
该存储器管理电路至少根据该页面容量、该数据位元区容量与该第二长度,计算被用来写入不属于该特定类型的写入数据的实体页面所对应的一第二数据位元区数量,其中该第一数据位元区数量小于该第二数据位元区数量。
13.根据权利要求12所述的存储器控制器,其中若该写入数据属于该特定类型,该存储器管理电路根据该第一数据位元区数量将该写入数据及所对应的符合该第一长度的该至少一第一类错误检查与校正码写入该些实体页面至少其中之一。
14.根据权利要求12所述的存储器控制器,其中若该写入数据不属于该特定类型,该存储器管理电路根据该第二数据位元区数量将该写入数据及所对应的符合该第二长度的该至少一第二类错误检查与校正码写入该些实体页面至少其中之一。
15.一种存储器储存装置,包括:
一可复写式非易失性存储器芯片,包括多个实体页面;
一连接器,用以耦接一主机系统;
一存储器控制器,耦接至该可复写式非易失性存储器芯片与该连接器,该存储器控制器用以在准备将一写入数据写入至该可复写式非易失性存储器芯片时,判断该写入数据是否属于一特定类型,其中若该写入数据不来自该主机系统、该写入数据是除了使用者数据以外的数据或该写入数据欲写入该可复写式非易失性存储器芯片的一系统区,则该存储器控制器判定该写入数据属于该特定类型,
若该写入数据属于该特定类型,该存储器控制器根据该写入数据产生符合一第一长度的至少一第一类错误检查与校正码,
若该写入数据不属于该特定类型,该存储器控制器根据该写入数据产生符合一第二长度的至少一第二类错误检查与校正码,其中该第一长度大于该第二长度,
该存储器控制器还用以将对应该写入数据的错误检查与校正码写入至该可复写式非易失性存储器芯片。
16.根据权利要求15所述的存储器储存装置,其中若该写入数据欲写入该可复写式非易失性存储器芯片的一数据区,该存储器控制器判定该写入数据不属于该特定类型。
17.根据权利要求15所述的存储器储存装置,其中该存储器控制器包括:
一错误检查与校正电路,用以根据一第一参数与该写入数据产生符合该第一长度的该至少一第一类错误检查与校正码。
18.根据权利要求17所述的存储器储存装置,其中该错误检查与校正电路还用以根据一第二参数与该写入数据产生符合该第二长度的该至少一第二类错误检查与校正码。
19.根据权利要求15所述的存储器储存装置,其中各该些实体页面具有一页面容量,而该存储器控制器定义小于该页面容量的一数据位元区容量,
该存储器控制器至少根据该页面容量、该数据位元区容量与该第一长度,计算被用来写入属于该特定类型的写入数据的实体页面所对应的一第一数据位元区数量,
该存储器控制器至少根据该页面容量、该数据位元区容量与该第二长度,计算被用来写入不属于该特定类型的写入数据的实体页面所对应的一第二数据位元区数量,其中该第一数据位元区数量小于该第二数据位元区数量。
20.根据权利要求19所述的存储器储存装置,其中若该写入数据属于该特定类型,该存储器控制器根据该第一数据位元区数量将该写入数据及所对应的符合该第一长度的该至少一第一类错误检查与校正码写入该些实体页面至少其中之一。
21.根据权利要求19所述的存储器储存装置,其中若该写入数据不属于该特定类型,该存储器控制器根据该第二数据位元区数量将该写入数据及所对应的符合该第二长度的该至少一第二类错误检查与校正码写入该些实体页面至少其中之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110203499.2A CN102890645B (zh) | 2011-07-20 | 2011-07-20 | 存储器储存装置、存储器控制器与数据写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110203499.2A CN102890645B (zh) | 2011-07-20 | 2011-07-20 | 存储器储存装置、存储器控制器与数据写入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102890645A CN102890645A (zh) | 2013-01-23 |
CN102890645B true CN102890645B (zh) | 2015-11-25 |
Family
ID=47534153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110203499.2A Active CN102890645B (zh) | 2011-07-20 | 2011-07-20 | 存储器储存装置、存储器控制器与数据写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102890645B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252600B (zh) * | 2013-06-27 | 2017-08-11 | 群联电子股份有限公司 | 数据保护方法、存储器控制器与存储器储存装置 |
CN105321566B (zh) * | 2014-06-30 | 2019-07-12 | 华邦电子股份有限公司 | 半导体存储装置及其编程方法 |
US10395753B2 (en) | 2014-08-28 | 2019-08-27 | Winbond Electronics Corp. | Semiconductor memory device and programming method thereof |
CN105468292B (zh) * | 2014-09-05 | 2019-04-23 | 群联电子股份有限公司 | 数据存取方法、存储器储存装置及存储器控制电路单元 |
TWI671637B (zh) * | 2018-04-25 | 2019-09-11 | 點序科技股份有限公司 | 記憶體管理裝置及其操作方法 |
KR20200087486A (ko) * | 2019-01-11 | 2020-07-21 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 휘발성 메모리 내 오류를 처리하는 방법 및 장치 |
CN112835536B (zh) * | 2021-03-10 | 2023-08-29 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1140881A (zh) * | 1995-05-18 | 1997-01-22 | 索尼公司 | 对应纠错系统的数据记录/再现设备及方法和记录介质 |
CN1153440A (zh) * | 1995-01-25 | 1997-07-02 | 索尼公司 | 数字信号译码装置 |
CN1225530A (zh) * | 1997-10-24 | 1999-08-11 | 索尼公司 | 加和编码纠错码的方法和装置及发送带纠错码数据的方法 |
CN1622213A (zh) * | 2003-11-28 | 2005-06-01 | 株式会社东芝 | 纠错电路和光碟装置及纠错方法和光碟再生方法 |
CN101763903A (zh) * | 2008-12-22 | 2010-06-30 | 财团法人工业技术研究院 | 快闪存储器控制器、其纠错码控制器及其方法和系统 |
CN101930407A (zh) * | 2009-06-26 | 2010-12-29 | 群联电子股份有限公司 | 闪速存储器控制电路及其存储系统与数据传输方法 |
CN101937710A (zh) * | 2009-06-30 | 2011-01-05 | 联发科技股份有限公司 | 固态磁盘驱动和管理存储装置的方法 |
CN101944386A (zh) * | 2009-07-03 | 2011-01-12 | 群联电子股份有限公司 | 识别闪速存储器中错误数据的控制电路及存储系统与方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4404625B2 (ja) * | 2003-12-25 | 2010-01-27 | パナソニック株式会社 | 情報処理装置および該装置用のromイメージ生成装置 |
-
2011
- 2011-07-20 CN CN201110203499.2A patent/CN102890645B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1153440A (zh) * | 1995-01-25 | 1997-07-02 | 索尼公司 | 数字信号译码装置 |
CN1140881A (zh) * | 1995-05-18 | 1997-01-22 | 索尼公司 | 对应纠错系统的数据记录/再现设备及方法和记录介质 |
CN1225530A (zh) * | 1997-10-24 | 1999-08-11 | 索尼公司 | 加和编码纠错码的方法和装置及发送带纠错码数据的方法 |
CN1622213A (zh) * | 2003-11-28 | 2005-06-01 | 株式会社东芝 | 纠错电路和光碟装置及纠错方法和光碟再生方法 |
CN101763903A (zh) * | 2008-12-22 | 2010-06-30 | 财团法人工业技术研究院 | 快闪存储器控制器、其纠错码控制器及其方法和系统 |
CN101930407A (zh) * | 2009-06-26 | 2010-12-29 | 群联电子股份有限公司 | 闪速存储器控制电路及其存储系统与数据传输方法 |
CN101937710A (zh) * | 2009-06-30 | 2011-01-05 | 联发科技股份有限公司 | 固态磁盘驱动和管理存储装置的方法 |
CN101944386A (zh) * | 2009-07-03 | 2011-01-12 | 群联电子股份有限公司 | 识别闪速存储器中错误数据的控制电路及存储系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102890645A (zh) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102890645B (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
US9652330B2 (en) | Method for data management and memory storage device and memory control circuit unit | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN104423888A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US9063888B2 (en) | Program code loading and accessing method, memory controller, and memory storage apparatus | |
CN102890655B (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN103631670A (zh) | 存储器储存装置、存储器控制器与数据处理方法 | |
CN103678162B (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN103593296A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
US9213597B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
CN104252317A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN113138720A (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
CN103544118A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN102999437A (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
CN104252600A (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
TWI785571B (zh) | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
CN102467459B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN101872318A (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 |