一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据存取方法、存储器存储装置及存储器控制器与流程

2022-08-10 16:16:43 来源:中国专利 TAG:
1.本发明涉及一种存储器控制技术,且尤其涉及一种数据存取方法、存储器存储装置及存储器控制器。
背景技术
::2.可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小与无机械结构等特性,故被广泛地应用于各种电子装置。可复写式非易失性存储器具有多个实体区块(physicalblock),且每一实体区块具有多个实体页面(physicalpage)。其中,实体区块为数据抹除的最小单位,而实体页面则是数据写入的最小单位。3.随着半导体加工的进步,目前的技术已发展出具有能够存储多个数据位元的存储单元的快闪(flash)存储器模块。具体来说,快闪存储器模块的数据写入(或称为程序化)是利用施予电压至快闪存储器元件的特定端点(例如,控制栅极电压来改变栅极中的一电荷捕获层的电子量),因而改变了存储单元的通道的导通状态,以呈现不同的存储状态。例如,以二阶存储单元(multi-levelcell,mlc)nand型快闪存储器为例,当下页面数据为1且上页面数据为1时,控制电路会控制字线控制电路不改变存储单元中的栅极电压,而将存储单元的存储状态保持为“11”;当下页面数据为1且上页面数据为0时,字线控制电路会在控制电路的控制下改变存储单元中的栅极电压,而将存储单元的存储状态改变为“10”;当下页面数据为0且上页面数据为0时,字线控制电路会在控制电路的控制下改变存储单元中的栅极电压,而将存储单元的存储状态改变为“00”;并且,当下页面数据为0且上页面数据为1时,字线控制电路会在控制电路的控制下改变存储单元中的栅极电压,而将存储单元的存储状态改变为“01”。也就是说,当读取数据时,控制电路会根据目前存储单元中的栅极电压来识别此存储单元的存储状态。4.然而,在这种一个存储单元可存储多个位元的架构中,若同一条字线上的存储单元所存的数据不够乱时,可能会因为数据分布不平均、读取电压偏移或位元线电阻不均匀等因素而造成后续在读取数据时发生数据的识别错误(即读取错误)。因此,在将数据写入至可复写式非易失性存储器模块时,如何有效地扰乱所写入的数据,是本领域技术人员所致力的目标之一。技术实现要素:5.有鉴于此,本发明提供一种数据存取方法、存储器存储装置及存储器控制器,可提高写入数据的扰乱度,进而提高往后读取数据时的可靠度。6.本发明的实施例提供一种数据存取方法,其用于存取存储器模块,所述数据存取方法包括:从主机系统接收第一数据;对所述第一数据进行编码以产生第二数据,其中所述第二数据包括对应于所述第一数据的错误校正码;通过多个数据打乱模块对所述第二数据分别执行数据打乱以产生多个第三数据;根据所述多个第三数据的状态,从所述多个第三数据中选择其中之一作为第四数据;以及将所述第四数据存储至所述存储器模块中的第一实体单元。7.本发明的实施例另提供一种存储器存储装置,其包括连接接口、存储器模块及存储器控制器。所述连接接口用以连接至主机系统。所述存储器控制器连接至所述连接接口与存储器模块。所述存储器控制器用以:从所述主机系统接收第一数据;对所述第一数据进行编码以产生第二数据,其中所述第二数据包括对应于所述第一数据的错误校正码;通过多个数据打乱模块对所述第二数据分别执行数据打乱以产生多个第三数据;根据所述多个第三数据的状态,从所述多个第三数据中选择其中之一作为第四数据;以及发送写入指令序列,以指示将所述第四数据存储至所述存储器模块中的第一实体单元。8.本发明的实施例另提供一种存储器控制器,其包括主机接口、存储器接口、错误检查与校正电路、多个数据打乱模块及存储器控制电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至存储器模块。所述存储器控制电路连接至所述主机接口、所述存储器接口、所述错误检查与校正电路及所述多个数据打乱模块。所述存储器控制电路用以:从所述主机系统接收第一数据;通过所述错误检查与校正电路对所述第一数据进行编码以产生第二数据,其中所述第二数据包括对应于所述第一数据的错误校正码;通过所述多个数据打乱模块对所述第二数据分别执行数据打乱以产生多个第三数据;根据所述多个第三数据的状态,从所述多个第三数据中选择其中之一作为第四数据;以及发送写入指令序列,以指示将所述第四数据存储至所述存储器模块中的第一实体单元。9.基于上述,在从主机系统接收第一数据后,第一数据可被编码以产生包括错误校正码的第二数据,且多个第三数据可通过多个数据打乱模块对所述第二数据分别执行数据打乱而产生。根据所述多个第三数据的状态,所述多个第三数据的其中之一可被选择作为第四数据。尔后,所述第四数据可被存储至存储器模块中的第一实体单元。藉此,可提高写入数据的扰乱度,进而提高往后读取数据时的可靠度。附图说明10.图1是根据本发明的实施例所示出的存储器存储装置的示意图;11.图2是根据本发明的实施例所示出的存储器控制器的概要方块图;12.图3是根据本发明的实施例所示出的数据处理电路的概要方块图;13.图4是根据本发明的实施例所示出的数据打乱及存储流程的示意图;14.图5是根据本发明的实施例所示出的数据打乱及存储流程的示意图;15.图6是根据本发明的实施例所示出的具有不同数据打乱程度的数据及对应的评估值的示意图;16.图7是根据本发明的实施例所示出的数据读取与还原流程的示意图;17.图8是根据本发明的实施例所示出的数据存取方法的流程图;18.图9是根据本发明的实施例所示出的数据存取方法的流程图。具体实施方式19.现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。20.图1是根据本发明的实施例所示出的存储器存储系统的示意图。请参照图1,存储器存储系统10包括主机系统11与存储器存储装置12。主机系统11可为任意型态的计算机系统。例如。主机系统11可为笔记本计算机、台式计算机、智能手机、平板计算机、工业计算机、游戏机、数码相机等各式电子系统。存储器存储装置12用于存储来自主机系统11的数据。例如,存储器存储装置12可包括固态硬盘、u盘、存储卡或其他类型的非易失性存储装置。主机系统11可通过串行先进技术总线附属(serialadvancedtechnologyattachment,sata)接口、外设部件互连局部总线(peripheralcomponentinterconnectexpress,pciexpress)、通用串行总线(universalserialbus,usb)或其他类型的连接接口电性连接至存储器存储装置12。因此,主机系统11可将数据存储至存储器存储装置12和/或从存储器存储装置12读取数据。21.存储器存储装置12可包括连接接口121、存储器模块122及存储器控制器123。连接接口121用于将存储器存储装置12连接至主机系统11。例如,连接接口121可支援sata、pciexpress或usb等连接接口标准。存储器存储装置12可通过连接接口121与主机系统11通信。22.存储器模块122用于存储数据。存储器模块122可包括可复写式非易失性存储器模块,且可复写式非易失性存储器模块可包括多个存储单元阵列。存储器模块122中的存储单元是以电压的形式来存储数据。例如,存储器模块122可包括单阶存储单元(singlelevelcell,slc)nand型快闪存储器模块、二阶存储单元(mlc)nand型快闪存储器模块、三阶存储单元(triplelevelcell,tlc)nand型快闪存储器模块、四阶存储单元(quadlevelcell,qlc)nand型快闪存储器模块或其他具有相似特性的存储器模块。23.存储器控制器123连接至连接接口121与存储器模块122。存储器控制器123可用于控制存储器存储装置12。例如,存储器控制器123可控制连接接口121与存储器模块122以进行数据存取与数据管理。例如,存储器控制器123可包括中央处理单元(centralprocessingunit,cpu)、或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(digitalsignalprocessor,dsp)、可编程控制器、专用集成电路(applicationspecificintegratedcircuits,asic)、可编程逻辑器件(programmablelogicdevice,pld)或其他类似装置或这些装置的组合。24.在一实施例中,存储器控制器123亦称为快闪存储器控制器。在一实施例中,存储器模块122亦称为快闪存储器模块。存储器模块122可接收来自存储器控制器123的指令序列并根据此指令序列存取存储单元。25.图2是根据本发明的实施例所示出的存储器控制器的概要方块图。请参照图2,存储器控制器123包括主机接口21、存储器控制电路22及存储器接口23。26.存储器控制电路22用于控制存储器控制器123的整体运作。例如,存储器控制电路22可具有多个控制指令,并且在存储器存储装置12运作时,这些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器控制电路22的操作时,等同于说明存储器控制器123的操作。27.在本实施例中,存储器控制电路22的控制指令是以固件型式来操作。例如,存储器控制电路22具有微处理器单元(图中未示出)与只读存储器(图中未示出),并且控制指令是被烧录至此只读存储器中。当存储器存储装置12运作时,这些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。28.在另一实施例中,存储器控制电路22的控制指令也可以程序码型式存储于存储器模块122的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器控制电路22具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,只读存储器具有开机码(bootcode),并且当存储器控制器123被致能时,微处理器单元会先执行开机码来将存储于存储器模块122中的控制指令载入至存储器控制电路22的随机存取存储器中。之后,微处理器单元会运转这些控制指令以进行数据的写入、读取与抹除等运作。29.此外,在另一实施例中,存储器控制电路22的控制指令也可以一硬件型式来操作。例如,存储器控制电路22包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用于管理存储器模块122的存储单元或其群组。存储器写入电路用于对存储器模块122下达写入指令序列以将数据写入至存储器模块122中。存储器读取电路用于对存储器模块122下达读取指令序列以从存储器模块122中读取数据。存储器抹除电路用于对存储器模块122下达抹除指令序列以将数据从存储器模块122中抹除。数据处理电路用于处理欲写入至存储器模块122的数据以及从存储器模块122中读取的数据。写入指令序列、读取指令序列及抹除指令序列可分别包括一或多个程序码或指令码并且用于指示存储器模块122执行相对应的写入、读取及抹除等操作。在一实施例中,存储器控制电路22还可以下达其他类型的指令序列给存储器模块122以指示执行相对应的操作。30.主机接口21电性连接至存储器控制电路22并且用于接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口21来传送至存储器控制电路22。主机接口21可相容于sata、pciexpress或usb等连接接口标准。31.存储器接口23电性连接至存储器控制电路22并且用于存取存储器模块122。也就是说,欲写入至存储器模块122的数据会通过存储器接口23转换为存储器模块122所能接受的格式。具体来说,若存储器控制电路22要存取存储器模块122,存储器接口23会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用于指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器控制电路22产生并且通过存储器接口23传送至存储器模块122。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。32.在本实施例中,存储器控制器123可以针对存储于同一个实体页中的数据进行单框架(single-frame)编码,也可以针对存储于多个实体页中的数据进行多框架(multi-frame)编码。根据所采用的编码演算法,存储器控制器123可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。33.在一实施例中,存储器控制器123还包括错误检查与校正电路24、电源管理电路25及缓冲存储器26。34.错误检查与校正电路24电性连接至存储器控制电路22并且用于执行错误检查与校正操作以确保数据的正确性。35.具体来说,当存储器控制电路22从主机系统11中接收到写入指令时,错误检查与校正电路24会为对应写入指令的数据产生对应的错误校正码(errorcorrectingcode,ecc)和/或错误检查码(errordetectingcode,edc),并且存储器控制电路22会将对应写入指令的数据与对应的错误校正码和/或错误检查码写入至存储器模块122中。之后,当存储器控制电路22从存储器模块122中读取数据时会同时读取数据对应的错误校正码和/或错误检查码,并且错误检查与校正电路24会依据错误校正码和/或错误检查码对所读取的数据执行错误检查与校正操作。以下为了说明方便,将所提及的错误校正码视为包含错误校正码和/或错误检查码。36.电源管理电路25电性连接至存储器控制电路22并且用于控制存储器存储装置12的电源。37.缓冲存储器26电性连接至存储器控制电路22并且用于暂存来自于主机系统11的数据与指令或来自于存储器模块122的数据。38.在一实施例中,存储器控制器123还包括数据处理电路27。数据处理电路27电性连接至存储器管理电路22并可用于改善数据写入到存储器模块122的方式。例如,数据处理电路27可用以打乱欲写入至存储器模块122的数据和还原(即反打乱)从存储器模块122中读取的数据。39.具体来说,为了使写入至存储器模块122的数据呈现不规则的散乱状态,数据会先经过数据处理电路27的打乱处理(例如编辑、演算或重新排列)后再被写入,使实际写入至存储器模块122上的数据够乱,从而避免因为数据分布不平均、读取电压偏移或位元线电阻不均匀等因素而造成读取时的数据识别错误。其中,须注意的是,本实施例中,原始数据经过数据处理电路27的打乱处理,得到新数据,经过打乱处理的新数据与打乱前的原始数据不同。但是新数据中0与1的比例与原始数据中0与1的比例是相同的。示例性地,原始数据为“101011001”,原始数据中0与1的比例是4:5,即包括5个1、4个0。其打乱处理后的新数据中0与1的比例也得是4:5,不能是4个1、5个0或者其它的0与1的比例,若是其它的0与1的比例则表示打乱处理是失败的。此外,由于实际写入至存储器模块122中的数据是已被打乱过,因此,从存储器模块122中读出的数据也会先经过数据处理电路27的还原处理,以还原成原始的数据。40.图3是根据本发明的实施例所示出的数据处理电路的概要方块图。请参照图3,数据处理电路27可包括数据打乱模块31~34及数据选择模块35。需要指出的是,本发明实施例中的数据打乱模块31~34的个数并不限于4个,其数量亦可为n个,且n为大于1的任意正整数。本实施例列举4个只是方便解释本发明。41.在本实施例中,是假设数据打乱模块31~34及数据选择模块35皆实作为硬件电路,但本发明不限于此。在另一实施例中,数据打乱模块31~34和/或数据选择模块35亦可实作为软件或固件模块,本发明不加以限制。42.在本实施例中,来自主机系统11的数据(亦称为第一数据)可通过图2的错误检查与校正电路24进行编码,以产生编码后数据(亦称为第二数据)。例如,第二数据可包括对应于第一数据的错误校正码。43.进一步,请参照图3,数据打乱模块31~34可将第二数据打乱并输出对应的打乱后数据(亦称为第三数据)。在一实施例中,数据打乱模块31~34可分别地从图2的存储器控制器中接收不同的乱数(例如图2中包括有乱数产生器,图2未示出)。数据打乱模块31~34可分别使用所接收到的乱数作为种子对所接收到的数据(即原始数据或第二数据)进行数据打乱处理(例如随机化),以产生多个对应的第三数据。44.在本实施例中,数据打乱模块31~34是平行地运作,也就是说,当第二数据被输入至数据处理电路27时,数据打乱模块31~34会同时根据第二数据产生对应的第三数据。或者,在另一实施例中,数据打乱模块31~34也可根据第二数据而依序输出第三数据,而非平行地运作。45.数据选择模块35电性连接至数据打乱模块31~34。数据选择模块35可用以接收与分析数据打乱模块31~34所各个产生的第三数据。特别是,数据选择模块35可根据数据打乱模块31~34所产生的多个第三数据的状态,从所述多个第三数据中择一作为数据处理电路27的输出数据(亦称为第四数据)。或者,亦可视为数据选择模块35可根据所选择的第三数据产生所述第四数据。其中,第三数据的状态可反映所述多个第三数据各个的数据打乱程度(亦称为数据散乱度)。46.在一实施例中,数据选择模块35可根据数据打乱模块31~34所各个产生的第三数据的数据内容(例如位元“0”与“1”的分布),选择所述多个第三数据中具有最高的数据打乱程度(即最高的数据散乱度)的第三数据作为所述第四数据。亦即,数据选择模块35可从所述多个第三数据中选择打乱效果最佳的数据作为数据处理电路27的输出数据(即第四数据)。47.图4是根据本发明的实施例所示出的数据打乱及存储流程的示意图。请参照图4,在一实施例中,存储器控制电路22可从主机系统11接收数据401并将数据401输入至数据打乱模块31~34。数据打乱模块31~34可分别对数据401执行数据打乱并输出打乱后的数据402~405。亦即,数据402~405是由数据打乱模块31~34分别对同一笔数据401执行数据打乱而产生。特别是,数据402~405可具有各不相同的数据打乱程度。例如,数据402的数据打乱程度可不同于数据403的数据打乱程度,且数据403的数据打乱程度可不同于数据404的数据打乱程度等,依此类推。48.数据选择模块35可根据数据402~405的状态,从数据402~405中选择其中之一并根据所选择的数据产生数据406。例如,数据选择模块35可根据数据402~405的数据内容,选择数据402~405中数据打乱程度最高者并根据所选择的数据产生数据406。例如,假设数据403的数据打乱程度高于其余的数据402、404及405的数据打乱程度,则数据选择模块35可选择数据403并根据数据403产生数据406。此外,其余未被选择的数据402、404及405则可被舍弃或忽略。49.错误检查与校正电路24可对数据406进行编码以产生编码后的数据407。例如,数据407可带有对应于数据406的错误校正码,以更正往后读取数据406时所读取到的错误位元。接着,存储器控制电路22可发送写入指令序列至存储器模块122,以指示存储器模块122将数据407存储至存储器模块122中的实体单元(亦称为第一实体单元)41。例如,实体单元41可包括存储器模块122中用以存储数据407的实体区块。50.图5是根据本发明的实施例所示出的数据打乱及存储流程的示意图。请参照图5,在一实施例中,存储器控制电路22可从主机系统11接收数据501(即第一数据)并将数据501输入至错误检查与校正电路24。错误检查与校正电路24可对数据501进行编码以产生编码后的数据502(即第二数据)。例如,数据502可带有对应于数据501的错误校正码,以更正往后读取数据502时所读取到的错误位元。接着,数据502可被输入至数据打乱模块31~34。51.数据打乱模块31~34可分别对数据502执行数据打乱并输出打乱后的数据503~506(即第三数据)。亦即,数据503~506是由数据打乱模块31~34分别对同一笔数据502执行数据打乱而产生。特别是,数据503~506可具有各不相同的数据打乱程度。例如,数据503的数据打乱程度可不同于数据504的数据打乱程度,且数据504的数据打乱程度可不同于数据505的数据打乱程度等,依此类推。52.数据选择模块35可根据数据503~506的状态,从数据503~506中选择其中之一并根据所选择的数据产生数据507(即第四数据)。例如,数据选择模块35可根据数据503~506的数据内容,选择数据503~506中数据打乱程度最高者并根据所选择的数据产生数据507。例如,假设数据504的数据打乱程度高于其余的数据503、505及506的数据打乱程度,则数据选择模块35可选择数据504并根据数据504产生数据507。此外,其余未被选择的数据503、505及506则可被舍弃或忽略。53.存储器控制电路22可发送写入指令序列至存储器模块122,以指示存储器模块122将数据507存储至存储器模块122中的实体单元51(即第一实体单元)。例如,实体单元51可包括存储器模块122中用以存储数据507的实体区块。54.在一实施例中,数据选择模块35可分别对所述多个第三数据执行逻辑运算并根据所述逻辑运算的运算结果评估各个第三数据的数据打乱程度。例如,数据选择模块35可对分别对所述多个第三数据中的数据位元执行异或(xor)等逻辑运算,以获得多个评估值。所述评估值可反映各个第三数据的数据打乱程度。然后,数据选择模块35可根据所获得的评估值,选择所述多个第三数据的其中之一作为所述第四数据。55.图6是根据本发明的实施例所示出的具有不同数据打乱程度的数据及对应的评估值的示意图。请参照图6,假设图5中的数据503~506分别包括数据601~604。数据选择模块35可分别对数据601~604进行异或(xor)等逻辑运算,以获得多个评估值611~614。56.以数据601为例,数据选择模块35可依序对数据601中相邻的两个位元执行异或(xor)运算并累加所获得的运算值。数据选择模块35可根据所述运算值的累加结果获得对应于数据601的评估值611。评估值611的数值大小可正相关于数据601的数据打乱程度。例如,当评估值611的数值越大时,表示数据601中位元0与1的分布越平均且数据601的数据打乱效果越佳。依此类推,评估值611~614可分别反映数据601~604的数据打乱程度。特别是,无论打乱后的数据中的位元0与1的分布如何,打乱后的数据中0与1的比例与原始数据(即打乱前的数据)中0与1的比例是相同的。57.数据选择模块35可根据评估值611~614来评估数据601~604的数据打乱程度。以图6为例,评估值612的数值(即24)大于其余评估值611、613及614的数值,表示数据602的数据打乱程度高于其余数据601、603及604的数据打乱程度。因此,数据选择模块35可根据评估值611~614彼此间的数值大小关系(即评估值612的数值大于其余评估值611、613及614的数值),判定数据602的数据打乱程度高于其余数据601、603及604的数据打乱程度。然后,数据选择模块35可将评估值612所对应的数据602(即位元0与1的分布最平均、数据打乱程度最高和/或数据打乱效果最佳的那组数据)决定为第四数据。尔后,数据602(即第四数据)可取代主机系统11所指示存储的原始数据(即第一数据)而被存储至第一实体单元中。58.须注意的是,上述异或(xor)运算仅为用以评估数据打乱程度的其中一种逻辑运算的范例,且本发明不限于此。在其他实施例中,其他类型的逻辑运算也可以被采用以评估特定数据的数据打乱程度,本发明不加以限制。59.须注意的是,为了在读取数据时可正确还原出原始数据,在存储第四数据时,所述写入指令序列实际上可指示存储器模块122将第四数据连同识别信息存储至第一实体单元中。特别是,所述识别信息可对应数据打乱模块31~34的其中之一(亦称为第一数据打乱模块)。例如,所述识别信息可带有对应数据打乱模块31~34的其中之一(即第一数据打乱模块)的编号。以图5为例,假设数据507是根据数据504而产生,则在将数据507写入至实体单元51时,对应于数据打乱模块32(即第一数据打乱模块)的识别信息可一并被存储至实体单元51中。透过所述识别信息,后续在读取数据507时,数据507可再次经过数据打乱模块32(即第一数据打乱模块)处理(例如执行反打乱)以还原出对应于数据507的原始数据(即数据502)。60.在一实施例中,存储器控制电路22可从主机系统11接收读取指令。存储器控制电路22可根据所述读取指令发送读取指令序列至存储器模块122,以指示存储器模块122从第一实体单元读取所述第四数据。在读取所述第四数据后,存储器控制电路22可通过数据打乱模块31~34的其中之一(即第一数据打乱模块)将所述第三数据还原为原始数据(即第二数据)。接着,存储器控制电路22可通过错误检查与校正电路24对所述第二数据进行解码以产生解码后的数据(即第一数据)并将所述第一数据传送至主机系统11,以回应所述读取指令。61.在一实施例中,所述读取指令序列还可指示将所述第四数据连同原先存储的识别信息一并从第一实体单元读取出来。藉此,根据所述识别信息,当初用来打乱第二数据以产生所述第四数据的数据打乱模块(即第一数据打乱模块)可被确定并且用以还原(例如执行反打乱)当前读取的第四数据。62.图7是根据本发明的实施例所示出的数据读取与还原流程的示意图。须注意的是,假设在图5的实施例中,数据507(即第四数据)是根据数据打乱模块32(即第一数据打乱模块)所输出的数据504而产生。63.请参照图7,接续于图5的实施例,根据来自主机系统11的读取指令,数据701(即第四数据)及对应于数据打乱模块32的识别信息可从实体单元51读取出来。根据所述识别信息,数据打乱模块32可被确定且数据701可被输入至数据打乱模块32。数据打乱模块32可对数据701执行数据反打乱以还原出数据702。例如,数据702可视为对应于数据701的原始数据。接着,错误检查与校正电路24可对数据702进行解码(例如更正数据702中的错误位元)以产生数据703。接着,数据703可被传送给主机系统11,以回应来自主机系统11的读取指令。64.图8是根据本发明的实施例所示出的数据存取方法的流程图。请参照图8,在步骤s801中,从主机系统接收第一数据。在步骤s802中,对所述第一数据进行编码以产生第二数据,其中所述第二数据包括对应于所述第一数据的错误校正码。在步骤s803中,通过多个数据打乱模块对所述第二数据分别执行数据打乱以产生多个第三数据。在步骤s804中,根据所述多个第三数据的状态,从所述多个第三数据中选择其中之一作为第四数据。在步骤s805中,将所述第四数据存储至所述存储器模块中的第一实体单元。65.图9是根据本发明的实施例所示出的数据存取方法的流程图。请参照图9,在步骤s901中,从主机系统接收读取指令。在步骤s902中,根据所述读取指令,从第一实体单元读取所述第四数据。在步骤s903中,通过多个数据打乱模块的其中之一(即第一数据打乱模块)将所述第四数据还原为第二数据。在步骤s904中,对所述第二数据进行解码以产生所述第一数据。在步骤s905中,将所述第一数据传送至主机系统,以回应所述读取指令。66.然而,图8与图9中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图8与图9中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图8与图9的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。67.综上所述,根据本发明的实施例,在写入数据时,多个数据打乱模块可用以对编码后产生的同一笔数据进行打乱并输出多笔打乱后数据。尔后,所输出的数据打乱程度最高的打乱后数据可取代原始数据而被存储至存储器模块,而其余数据打乱程度较低的打乱后数据则可被舍弃或忽略(即不存储至存储器模块中)。藉此,可有效提高写入数据的扰乱度,进而提高往后读取数据时的可靠度。68.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献