CN101872318A - 用于快闪记忆体的资料存取方法及其储存***与控制器 - Google Patents
用于快闪记忆体的资料存取方法及其储存***与控制器 Download PDFInfo
- Publication number
- CN101872318A CN101872318A CN200910133685A CN200910133685A CN101872318A CN 101872318 A CN101872318 A CN 101872318A CN 200910133685 A CN200910133685 A CN 200910133685A CN 200910133685 A CN200910133685 A CN 200910133685A CN 101872318 A CN101872318 A CN 101872318A
- Authority
- CN
- China
- Prior art keywords
- data
- flash memory
- sub
- fast
- bit
- 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.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种用于快闪记忆体的资料存取方法及其储存***与控制器,其中,一种资料存取方法,用于在快闪记忆体中存取资料,此资料具有至少一子资料。此资料存取方法包括为欲写入的资料产生错误校正码,并且将欲写入的资料和所产生的错误校正码写入快闪记忆体中。此外,此资料存取方法也包括此资料的每一子资料产生对应的位元检查码,并将所产生的位元检查码写入快闪记忆体中。通过上述方案,当欲从快闪记忆体中读取子资料时,仅需根据所读取的子资料对应的位元检查单元来判断所读取的子资料是否存有错误位元,由此提升资料存取的速度。
Description
技术领域
本发明涉及一种用于快闪记忆体的资料存取方法及使用此方法的快闪记忆体储存***与快闪记忆体控制器。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对数码内容的储存需求也急速增加。由于快闪记忆体(Flash Memory)具有资料非挥发性、省电、体积小与无机械结构等的特性,适合使用者随身携带作为数码档案传递与交换的储存媒体。固态硬碟(Solid State Drive,SSD)就是以快闪记忆体作为储存媒体的一个例子,并且已广泛使用于电脑主机***中作为主硬碟。
在使用快闪记忆体作为储存媒体的快闪记忆体储存***中进行资料存取时,快闪记忆体储存***会通过一错误校正电路来执行一错误校正程序来验证所存取的资料是否正确。具体来说,当使用者欲写入资料至快闪记忆体储存***时,***会为此资料产生一错误校正码并且将欲写入的资料与所产生的错误校正码写入快闪记忆体中。之后,当使用者欲读取此资料时,***会从快闪记忆体中读取此资料及其错误校正码并且根据所读取的错误校正码检查与校正所读取的资料,由此确保所读取资料的正确性。特别是,错误校正电路与错误校正码会根据不同的校正能力而有所不同。也就是说,较低阶的错误校正电路与错误校正码仅能检查与校正较少的错误位元,而较高阶的错误校正电路与错误校正码可检查与校正较多的错误位元,其中储存较高阶的错误校正码所需的储存空间会大于储存较低阶的错误校正码所需的储存空间。
在快闪记忆体储存***的设计上,一般来说,快闪记忆体储存***的快闪记忆体包括多个实体区块(physical block),并且每一实体区块具有多个页面(page),而资料是以页面为单位写入快闪记忆体中。每一页面由资料位元区与冗余位元区所组成,资料位元区用以储存欲写入的资料,而冗余位元区用以储存此页面相关的控制资讯与错误校正码(Error Correction Code,ECC)。例如,当页面以1个扇区(即,512位元组)来配置时,此页面的资料位元区会以512个位元组来配置且冗余位元区会以16个位元组来配置,其中在冗余位元区中的6个位元组用以储存此页面的控制资讯而10个位元组用以储存用于此页面的错误校正码,也就是说10个位元组即足够储存对应512个位元组资料的错误校正码。
随着快闪记忆体技术的发展,每一页面的容量不断的增加。例如,目前已发展出1个页面具有4个扇区(即,2048位元组)的快闪记忆体。随着1个页面中可储存的位元组的数目增加,因此用于此页面错误校正码的校正能力也需提升,方能有效的确保页面中资料的正确性。因此,在以2048位元组来配置资料位元区的页面中,冗余位元区会以61位元组来配置,其中8位元组用以储存控制资讯而53位元组用以储存对应2048位元组的资料的错误校正码。
一般来说,电脑***以扇区为单元来存取资料,因此在快闪记忆体的页面由4个扇区所组成的快闪记忆体储存***的例子中,由于页面中的错误校正码根据4个扇区的资料来产生,所以既使电脑***仅读取此页面中的1个扇区的资料时,快闪记忆体储存***仍须读取此页面中完整的资料(即,4个扇区内的资料)并且以其对应的错误校正码来执行错误校正程序。基此,在电脑***读取少量资料的例子中,此种存取方式将会严重影响快闪记忆体储存***的存取速度。
发明内容
本发明的一目的是提供一种资料存取方法,其能够有效地提升在快闪记忆体中读取资料的速度。
本发明的另一目的是提供一种快闪记忆体控制器,其能够有效地提升在快闪记忆体中读取资料的速度。
本发明的再一目的是提供一种快闪记忆体储存***,其能够有效地提升在快闪记忆体中读取资料的速度。
为实现上述目的,本发明提出一种资料存取方法,用于在一快闪记忆体中存取一资料。此资料存取方法包括从一主机***中接收资料,其中所接收的资料包括多个子资料。此资料存取方法也包括为所接收的资料产生一错误校正码(Error Correction Code,ECC),并且将所接收的资料和所产生的错误校正码写入快闪记忆体中。并且,此资料存取方法还包括为每一子资料产生对应的一位元检查码,以及将所产生的位元检查码写至快闪记忆体中。
为实现上述目的,本发明还提出一种快闪记忆体控制器,用以在一快闪记忆体中存取一资料,此快闪记忆体控制器包括微处理器单元以及连接此微处理器单元的主机界面单元、快闪记忆体界面单元、记忆体操作单元、错误校正单元与位元检查单元。主机界面单元用以连接一主机***并从主机***中接收资料,其中所接收的资料包括多个子资料。快闪记忆体界面单元并且用以连接快闪记忆体。错误校正单元用以为所接收的资料产生一错误校正码,其中记忆体操作单元会将所接收的资料和所产生的错误校正码写入快闪记忆体中。位元检查单元用以为每一子资料产生一位元检查码,其中记忆体操作单元会将所产生的位元检查码写入快闪记忆体中。
本发明提出一种快闪记忆体储存***,其包括快闪记忆体与连接此快闪记忆体的快闪记忆体控制器。快闪记忆体控制器用以从一主机***中接收具有多个子资料的一资料,快闪记忆体控制器会为所接收的资料产生一错误校正码,并且将所接收的资料和所产生的错误校正码写入快闪记忆体中。此外,快闪记忆体控制器会为每一子资料产生一位元检查码,并且将所产生的位元检查码写入快闪记忆体中。
由上述技术方案可知,本发明能够在主机***所欲读取少于一个页面的小资料时,仅需针对欲读取的小资料检查是否存取错误位元而不需读取整个页面中的资料及其错误校正码,由此提升资料存取的速度。
为让本发明上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是根据本发明一范例实施例所绘示的快闪记忆体储存***的概要框图;
图2是根据本发明范例实施例所绘示实体区块的概要框图;
图3是根据本范例实施例所绘示的资料写入步骤的流程图;
图4是根据本发明范例实施例所绘示的写入范例的资料流示意图;
图5是根据本发明一范例实施例所绘示在实体区块中储存位元检查码表的范例;
图6是根据本范例实施例所绘示的资料读取步骤的流程图。
附图主要元件符号说明
110:快闪记忆体控制器; 110a:微处理器单元;
110b:记忆体操作单元; 110c:快闪记忆体界面单元;
110d:主机界面单元; 110e:错误校正单元;
110f:位元检查单元; 120:快闪记忆体晶片;
120-0~120-N:实体区块; D:资料位元区;
R:冗余位元区; 400:位元检查码表;
S301、S303、S305、S307、S309:资料写入步骤;
S601、S603、S605、S607、S609、S611、S613、S615、S617、S619、S621:资料读取步骤。
具体实施方式
图1是根据本发明一范例实施例所绘示的快闪记忆体储存***的概要框图。
请参照图1,通常快闪记忆体储存***100与主机***200一起使用,以使主机***200可将资料写入快闪记忆体储存***100或从快闪记忆体储存***100中读取资料。在本范例实施例中,快闪记忆体储存***100为固态硬碟(Solid State Drive,SSD)。但必须了解的是,在本发明另一实施例中快闪记忆体储存***100也可以是记忆卡或随身碟。
快闪记忆体储存***100包括快闪记忆体控制器110与快闪记忆体晶片120。
快闪记忆体控制器110会执行以硬件型式或固化软件型式设计的多个逻辑闸或控制指令,并且根据主机***200的指令在快闪记忆体晶片120中进行资料的写入、读取与抹除等运作。快闪记忆体控制器110包括微处理器单元110a、记忆体操作单元110b、快闪记忆体界面单元110c、主机界面单元110d、错误校正单元110e与位元检查单元110f。
微处理器单元110a用以控制快闪记忆体控制器110的整体运作。具体来说,微处理器单元110a与记忆体操作单元110b、快闪记忆体界面单元110c、主机界面单元110d、错误校正单元110e与位元检查单元110f等一起运作以进行快闪记忆体储存***100的写入、读取、抹除等运作。
记忆体操作单元110b连接微处理器单元110a,并且用以执行区块管理机制。特别是,记忆体操作单元110b用以执行根据本范例实施例的资料存取机制。
在本实施例中,记忆体操作单元110b以一固化软件型式设计在控制器110中。例如,将包括多个控制指令烧录至一程式记忆体(例如,唯读记忆体(Read Only Memory,ROM))中并且将此程式记忆体嵌入在快闪记忆体控制器110中以设计出记忆体操作单元110b,其中当快闪记忆体储存***100启动时,记忆体操作单元110b的多个机器指令会由微处理器单元110a来执行以完成根据本发明实施例的区块管理机制与资料写入机制。
在本发明另一实施例中,记忆体操作单元110b的控制指令也可以软件型式储存于快闪记忆体晶片120的特定区域中。同样的,当快闪记忆体储存***100启动时,记忆体操作单元110b的控制指令会由微处理器单元110a来执行。此外,在本发明另一实施例中,记忆体操作单元110b也可以一硬件型式设计在快闪记忆体控制器110中。
快闪记忆体界面单元110c连接微处理器单元110a并且用以存取快闪记忆体晶片120。也就是说,欲写入快闪记忆体晶片120的资料会经由快闪记忆体界面单元110c转换为快闪记忆体晶片120所能接受的格式。
主机界面单元110d连接微处理器单元110a并且用以接收与识别主机***200所传送的指令。也就是说,主机***200所传送的指令与资料会透过主机界面单元110d来传送至微处理器单元110a。在本范例实施例中,主机界面单元110d为SATA界面。然而,必须了解的是本发明不限于此,主机界面单元110d也可以是USB界面、IEEE 1394界面、PCIExpress界面、MS界面、MMC界面、SD界面、CF界面、IDE界面或其他适合的资料传输界面。
错误校正单元110e连接微处理器单元110a并且用以执行一错误校正程序。具体来说,当在错误校正单元110e中输入一资料时,错误校正单元110e会根据此资料产生一错误校正码,并且当在错误校正单元110e输入一资料与一错误校正码时,错误校正单元110e会根据所接收的错误校正码来为所接收的资料进行错误检查与校正。错误校正程序为资料储存媒体中常见的技术,在此不详细描述。值得一提的是,错误校正单元110e的错误校正能力必须能够支援快闪记忆体晶片120的规格。在本范例实施例中,错误校正单元110e具有检查与校正48个错误位元的能力。然而,必须了解的是,本发明不限于此,只要能够支援快闪记忆体晶片120规格的错误校正单元皆可应用于本发明。
位元检查单元110f连接微处理器单元110a并且用以执行一错误侦测程序。具体来说,当在位元检查单元110f中输入一资料时,位元检查单元110f会根据此资料产生一位元检查码,并且当在位元检查单元110f输入一资料与一位元检查码时,位元检查单元110f会根据所接收的位元检查码来为所接收的资料进行错误检查。例如,在本范例实施例中,位元检查单元110f以错误侦测电路(error detecting circuit)来设计,并且位元检查单元110f会产生错误侦测码(error detection code)作为位元检查码。然而,在本发明另一实施例中,位元检查单元110f也可以循环冗余检查电路(cyclicr edundancy check circuit)来设计,并且位元检查单元110f会产生循环冗余检查(cyclic redundancy check)码作为位元检查码。或者,在本发明另一实施例中,位元检查单元110f也可以低阶错误校正电路(error correcting circuit)来设计,并且位元检查单元110f会产生低阶错误校正码作为位元检查码,在此低阶错误校正电路与低阶错误校正码是指相对于错误校正单元110e与其错误校正码而言具较低错误校正能力的错误校正电路与错误校正码。
此外,虽未绘示于本范例实施例,但快闪记忆体控制器110还包括缓冲记忆体、电源管理单元等用于控制快闪记忆体的一般功能模组。
快闪记忆体晶片120连接快闪记忆体控制器110并且具有多个实体区块120-0~120-N以储存资料。在本范例实施例中,快闪记忆体晶片120为多层记忆单元(Multi Level Cell,MLC)NAND快闪记忆体。然而,必须了解的是,本发明不限于此。在本发明另一实施例中,单层记忆单元(Single Level Cell,SLC)NAND快闪记忆体也可应用于本发明。
图2是根据本发明范例实施例所绘示实体区块的概要框图。在本范例实施例中每一实体区块120-1~120-N的结构是相同的,图2的概要框图适用于每一实体区块120-0~120-N。
请参照图2,实体区块包括128个页面,并且每一页面可储存4个扇区的资料。具体来说,每一页面的资料位元区D为2048位元组,且每一页面的冗余位元区R为61位元组,其中冗余位元区R中8个位元组用于储存与页面相关的控制资讯并且53个位元组用于储存用于页面的错误校正码。
图3是根据本范例实施例所绘示的资料写入步骤的流程图。
请参照图2和图3,当主机***200欲写入资料至快闪记忆体储存***100时,在步骤S301中,快闪记忆体控制器110会从主机***200接收欲写入的资料。在本范例实施例中,所接收的资料具有至少一子资料,并且此多个子资料的大小为主机***200的最小存取单位(即,扇区)。例如,主机***200的存取单位为512位元组时,子资料的大小也为512位元组。具体来说,快闪记忆体控制器110会透过主机界面单元110d从主机***200接收到写入指令与对应此写入指令的子资料。
接着,在步骤S303中,快闪记忆体控制器110会为所接收的资料产生对应的错误校正码。具体来说,主机界面单元110d所接收到的资料会传送至错误校正单元110e,并且由错误校正单元110e产生对应的错误校正码。
之后,在步骤S305中,快闪记忆体控制器110的记忆体操作单元110b会将欲写入的资料及其对应错误校正码透过快闪记忆体界面单元110c写入快闪记忆体晶片120的实体区块120-0~120-N中。
然后,在步骤S307中,快闪记忆体控制器110会为每一子资料产生对应的位元检查码。具体来说,每一子资料会被传送至位元检查单元110f,并且位元检查单元110f会为每一子资料产生对应的位元检查码。
最后,在步骤S309中,记忆体操作单元110b会将所产生的位元检查码透过快闪记忆体界面单元110c写入快闪记忆体晶片120的实体区块120-0~120N中。值得一提的是,由于在页面中写入资料时冗余位元区仅足够储存对应此资料的错误校正码,因此在本范例实施例会中所产生对应子资料的位元检查码储存在另一实体区块的资料位元区中。也就是说,记忆体操作单元110b将所述多个位元检查码视为一般资料写入快闪记忆体晶片120中。值得一提的是,在本发明范例实施例中,记忆体操作单元110b会建立一位元检查码表400来记录所产生的位元检查码。
图4是根据本发明范例实施例所绘示的一写入范例的资料流示意图。
请参照图4,倘若快闪记忆体控制器110从主机***200接收到资料量为2048位元组的资料DATA,快闪记忆体控制器110会为资料DATA产生错误校正码ECC。此外,快闪记忆体控制器110会将资料DATA分割为子资料DATA1、子资料DATA2、子资料DATA3与子资料DATA4并且依序产生对应的位元检查码BCC1、位元检查码BCC2、位元检查码BCC3与位元检查码BCC4。之后,由子资料DATA1、子资料DATA2、子资料DATA3与子资料DATA4所组成的资料DATA会与错误校正码ECC写入实体区块120-0的页面0中。同时,快闪记忆体控制器110会将记录位元检查码BCC1、位元检查码BCC2、位元检查码BCC3与位元检查码BCC4的位元检查码表400会被写入实体区块120-N的页面0中。
图5是根据本发明一范例实施例所绘示在实体区块中储存位元检查码表的范例。
请参照图2和图5,例如,记录实体区块120-0~120-127位元检查码的位元检查码表400储存在实体区块120-N中。在本范例实施例中,由于子资料为512位元组且每一子资料的位元检查码所需的储存空间为4位元组,因此1个实体区块可储存对应128个实体区块的位元检查码。特别是,由于记忆体操作单元110b以储存一般资料的方式来储存位元检查码表400,因此实体区块的冗余位元区中会存有对应位元检查码的错误校正码。此外,在本发明另一范例实施例中,记忆体操作单元110b会建立一位元检查码对映表以记录位元检查码表中位元检查码与子资料之间的对应关系,由此以利于从位元检查码表中读取对应子资料的位元检查码。
值得一提的是,由于为快闪记忆体晶片120中所有实体区块建立位元检查码表400会需要较大的储存空间,因此在本发明另一范例实施例中,记忆体操作单元110b仅会针对经常以读取小资料(即,小于一个页面的资料量)方式进行存取的实体区块建立位元检查码表400。例如,主机***200会经常在储存档案配置表(File Allocation Table,FAT)的实体区块中读取小资料,由此可减少储存位元检查码表400所需的记忆体空间。
此外,由于在存取过程中位元检查码表400会不断的被更新,因此在快闪记忆体储存***100的运作期间,位元检查码表400会从快闪记忆体晶片120中载入缓冲记忆体(未绘示)中以利更新,并且当快闪记忆体储存***100关机时,位元检查码表400会被回写至快闪记忆体晶片120。
图6是根据本范例实施例所绘示的资料读取步骤的流程图。请参照图2、图5和图6,当主机***200欲从快闪记忆体储存***100中读取资料时,在步骤S601中,快闪记忆体控制器110会判断主机***200欲读取的资料量是否小于1个页面。具体来说,快闪记忆体控制器110会透过主机界面单元110d从主机***200中接收到读取指令,并且记忆体操作单元110b会根据读取指令中欲读取的位址来判断主机***200欲读取的资料量是否小于1个页面。
例如,在所述实体区块120-0的页面0储存有以子资料DATA1、子资料DATA2、子资料DATA3与子资料DATA4所组成资料DATA的例子中,倘若主机***200仅欲读取子资料DATA1、子资料DATA2、子资料DATA3与子资料DATA4的一部份而非整个资料DATA时,则表示主机***200欲读取的资料量是小于1个页面。
倘若在步骤S601中判断主机***200欲读取的资料量非小于1个页面时,则在步骤S603中记忆体操作单元110b会透过快闪记忆体界面单元110c从快闪记忆体晶片120中读取资料及其对应的错误校正码,并且在步骤S605中错误校正单元110e会根据所读取的资料与错误校正码执行错误校正程序。之后,在步骤S607中,记忆体操作单元110b会透过主机界面单元110d将已执行错误校正程序的资料传送给主机***200。例如,若主机***200欲读取实体区块120-0的页面0的资料DATA时,快闪记忆体控制器110会读取资料DATA及其错误校正码ECC,并且执行错误校正程序,然后再将已执行错误校正程序的资料DATA传送至主机***200。
倘若在步骤S 601中判断主机***200欲读取的资料量小于1个页面时,则在步骤S609中记忆体操作单元110b会透过快闪记忆体界面单元110c从快闪记忆体晶片120中读取所欲读取的子资料,并且在步骤S611中记忆体操作单元110b会从位元检查码表400中获取对应的位元检查码,其中倘若位元检查码表400未载入缓冲记忆体(未绘示)时,记忆体操作单元110b会从快闪记忆体晶片120中读取位元检查码表400。
之后,在步骤S613中位元检查单元110f会根据所读取的子资料及对应的位元检查码来判断所读取的子资料中是否存有错误位元。倘若所读取的子资料无存有错误位元时,则在步骤S615中记忆体操作单元110b会将所读取的子资料传送至主机***200。
倘若所读取的子资料存有错误位元时,则在步骤S617中会透过快闪记忆体界面单元110c从快闪记忆体晶片120中读取完整的资料及其对应的错误校正码,并且在步骤S619中错误校正单元110e会根据所读取的资料与错误校正码执行错误校正程序。最后,在步骤S621中记忆体操作单元110b会从已校正的资料中获取主机***200欲读取的子资料并将所获取的子资料传送给主机***200。
例如,若主机***200欲读取实体区块120-0的页面0的子资料DATA1时,快闪记忆体控制器110会读取子资料DATA1与位元检查码BCC1,并且根据位元检查码BCC1判断所读取的子资料DATA1中是否存有错误位元。若所读取的子资料DATA1中无存有错误位元时,则快闪记忆体控制器110会直接将所读取的子资料DATA1传送给主机***200。反之,若所读取的子资料DATA1中存有错误位元时,则快闪记忆体控制器110会从快闪记忆体晶片120中重新读取资料DATA及其错误校正码ECC,并且执行错误校正程序,然后再从已执行错误校正程序的资料DATA获取子资料DATA1并且将所获取的子资料DATA1传送至主机***200。
必须了解的是,图3与图6所述的执行顺序并非限制本发明,此领域技术人员可根据本发明的精神下以不同于图3与图6所述的顺序执行上述步骤。
综上所述,本发明是在对快闪记忆体的页面中写入资料时将资料对应主机***的存取单位分割为数个子资料,并且为每一资料产生一位元检查码,由此当主机***从快闪记忆体的页面中读取子资料时,可透过对应的位元检查码执行位元检查,并且仅在发生位元错误时才从快闪记忆体中读取整个页面的资料进行错误校正,由此可提升快闪记忆体的读取速度。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (25)
1.一种资料存取方法,其特征在于,用于在一快闪记忆体中存取一资料,所述资料存取方法包括:
从一主机***接收所述资料,其中所述资料包括多个子资料;
为所述资料产生一错误校正码;
将所述资料和所述错误校正码写入所述快闪记忆体中;
为每一所述多个子资料产生对应的一位元检查码,以生成对应所述多个子资料的多个位元检查码;以及
将所述多个位元检查码写入所述快闪记忆体中。
2.根据权利要求1所述的资料存取方法,其特征在于,还包括建立一位元检查码表并且在所述位元检查码表中记录所述多个位元检查码,其中将所述多个位元检查码写入所述快闪记忆体中的步骤包括将所述位元检查码表写入所述快闪记忆体中。
3.根据权利要求2所述的资料存取方法,其特征在于,还包括建立一位元检查码对映表以记录所述位元检查码表中所述多个位元检查码和所述多个子资料之间的一对映关系。
4.根据权利要求2所述的资料存取方法,其特征在于,还包括从所述快闪记忆体中载入所述位元检查码表至一缓冲记忆体中,并且从所述缓冲记忆体中读取对应所述多个子资料的所述多个位元检查码。
5.根据权利要求1所述的资料存取方法,其特征在于,还包括:
从所述快闪记忆体中读取所述多个子资料;
从所述快闪记忆体中读取对应所读取的所述多个子资料的位元检查码;
根据所读取的所述多个子资料的位元检查码判断所读取的所述多个子资料是否存有错误,
其中当所读取的所述多个子资料无存有错误时,将所读取的所述多个子资料传送给所述主机***。
6.根据权利要求5所述的资料存取方法,其特征在于,当所读取的所述多个子资料存有错误时,则所述资料存取方法还包括:
从所述快闪记忆体中读取所述资料与所述错误校正码;
根据所读取的所述错误校正码来校正所读取的所述资料;
从所校正的所述资料的中获取已校正的所述多个子资料;以及
将已校正的所述多个子资料传送给所述主机***。
7.根据权利要求1所述的资料存取方法,其特征在于,每一所述多个位元检查码为一错误侦测码或一循环冗余检查码。
8.根据权利要求1所述的资料存取方法,其特征在于,每一所述多个子资料的大小为所述主机***的一最小存取单位。
9.一种快闪记忆体控制器,其特征在于,用以在一快闪记忆体中存取一资料,所述快闪记忆体控制器包括:
一微处理器单元;
一主机界面单元,连接所述微处理器单元,所述主机界面单元用以连接一主机***并从所述主机***中接收所述资料,其中所述资料包括多个子资料;
一快闪记忆体界面单元,连接所述微处理器单元并且用以连接所述快闪记忆体;
一记忆体操作单元,连接所述微处理器单元;
一错误校正单元,连接所述微处理器单元并且用以为所述资料产生一错误校正码,其中所述记忆体操作单元会将所述资料和所述错误校正码写入所述快闪记忆体中;以及
一位元检查单元,连接所述微处理器单元并且用以为每一所述多个子资料产生一位元检查码,以生成对应所述多个子资料的多个位元检查码,其中所述记忆体操作单元会将所述多个位元检查码写入所述快闪记忆体中。
10.根据权利要求9所述的快闪记忆体控制器,其特征在于,所述记忆体操作单元还用以建立一位元检查码表,其中所述多个位元检查码记录在所述位元检查码表中。
11.根据权利要求10所述的快闪记忆体控制器,其特征在于,所述记忆体操作单元还用以建立一位元检查码对映表以记录所述位元检查码表中所述多个位元检查码和所述多个子资料之间的一对映关系。
12.根据权利要求10所述的快闪记忆体控制器,其特征在于,所述记忆体操作单元还用以从所述快闪记忆体中载入所述位元检查码表至一缓冲记忆体中,并且从所述缓冲记忆体中读取对应所述多个子资料的所述多个位元检查码。
13.根据权利要求9所述的快闪记忆体控制器,其特征在于,所述记忆体操作单元还用以从所述快闪记忆体中读取所述多个子资料,并且从所述快闪记忆体中读取对应所读取所述多个子资料的位元检查码,
其中所述位元检查单元会根据所读取的所述多个子资料的位元检查码判断所读取的所述多个子资料是否存有错误,
其中当所读取的所述多个子资料无存有错误时,所述记忆体操作单元将所读取的所述多个子资料传送给所述主机***。
14.根据权利要求13所述的快闪记忆体控制器,其特征在于,当所读取的所述多个子资料存有错误时,则所述记忆体操作单元会从所述快闪记忆体中读取所述资料与所述错误校正码,并且所述错误校正单元会根据所读取的所述错误校正码来校正所读取的所述资料,
其中所述记忆体操作单元会从所校正的所述资料中获取已校正的所述多个子资料,并且将已校正的所述多个子资料传送给所述主机***。
15.根据权利要求9所述的快闪记忆体控制器,其特征在于,所述位元检查单元为一错误侦测电路并且每一所述多个位元检查码为一错误侦测码。
16.根据权利要求9所述的快闪记忆体控制器,其特征在于,所述位元检查单元为一循环冗余检查电路并且每一所述多个位元检查码为一循环冗余检查码。
17.根据权利要求9所述的快闪记忆体控制器,其特征在于,每一所述多个子资料的大小为所述主机***的一最小存取单位。
18.一种快闪记忆体储存***,其特征在于,包括:
一快闪记忆体;
一快闪记忆体控制器,连接所述快闪记忆体,用以从一主机***中接收一资料,其中所述资料具有多个子资料,
其中所述快闪记忆体控制器会为所述资料产生一错误校正码,并且将所述资料和所述错误校正码写入所述快闪记忆体中,
其中所述快闪记忆体控制器会为每一所述多个子资料产生一位元检查码,以生成对应所述多个子资料的多个位元检查码,并且将所述多个位元检查码写入所述快闪记忆体中。
19.根据权利要求18所述的快闪记忆体储存***,其特征在于,所述快闪记忆体还包括一位元检查码表,其中所述多个位元检查码记录在所述位元检查码表中。
20.根据权利要求19所述的快闪记忆体储存***,其特征在于,所述快闪记忆体控制器还用以建立一位元检查码对映表以记录所述位元检查码表中所述多个位元检查码和所述多个子资料之间的一对映关系。
21.根据权利要求20所述的快闪记忆体储存***,其特征在于,还包括一缓冲记忆体,
其中所述快闪记忆体控制器还用以从所述快闪记忆体中载入所述位元检查码表至所述缓冲记忆体中,并且从所述缓冲记忆体中读取对应所述多个子资料的所述多个位元检查码。
22.根据权利要求18所述的快闪记忆体储存***,其特征在于,所述快闪记忆体控制器还用以从所述快闪记忆体中读取所述多个子资料,并且从所述快闪记忆体中读取对应所读取的所述多个子资料的位元检查码,
其中所述快闪记忆体控制器会根据所读取的所述多个子资料的位元检查码判断所读取的所述多个子资料是否存有错误,
其中当所读取的所述多个子资料无存有错误时,所述快闪记忆体控制器会将所读取的所述多个子资料传送给所述主机***。
23.根据权利要求22所述的快闪记忆体储存***,其特征在于,当所读取的所述多个子资料存有错误时,则所述快闪记忆体控制器会从所述快闪记忆体中读取所述资料与所述错误校正码,并且根据所读取的所述错误校正码来校正所读取的所述资料,
其中所述快闪记忆体控制器会从所校正的所述资料中获取已校正的所述多个子资料,并且将已校正的所述多个子资料传送给所述主机***。
24.根据权利要求18所述的快闪记忆体储存***,其特征在于,每一所述多个位元检查码为一错误侦测码或一循环冗余检查码。
25.根据权利要求18所述的快闪记忆体储存***,其特征在于,每一所述多个子资料的大小为所述主机***的一最小存取单位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910133685A CN101872318B (zh) | 2009-04-22 | 2009-04-22 | 用于快闪记忆体的资料存取方法及其储存***与控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910133685A CN101872318B (zh) | 2009-04-22 | 2009-04-22 | 用于快闪记忆体的资料存取方法及其储存***与控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101872318A true CN101872318A (zh) | 2010-10-27 |
CN101872318B CN101872318B (zh) | 2012-10-24 |
Family
ID=42997188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910133685A Active CN101872318B (zh) | 2009-04-22 | 2009-04-22 | 用于快闪记忆体的资料存取方法及其储存***与控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101872318B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819467A (zh) * | 2012-03-06 | 2012-12-12 | 宜鼎国际股份有限公司 | 可提高数据校正能力的闪存装置 |
TWI497511B (zh) * | 2012-11-08 | 2015-08-21 | Ind Tech Res Inst | 具嵌入式非揮發性記憶體之晶片及其測試方法 |
CN106021035A (zh) * | 2016-05-25 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种实现在内存颗粒进行故障校验以增强模组条稳定性的方法 |
CN106155581A (zh) * | 2015-02-05 | 2016-11-23 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4074029B2 (ja) * | 1999-06-28 | 2008-04-09 | 株式会社東芝 | フラッシュメモリ |
KR100680473B1 (ko) * | 2005-04-11 | 2007-02-08 | 주식회사 하이닉스반도체 | 액세스 시간이 감소된 플래시 메모리 장치 |
CN100465910C (zh) * | 2006-06-02 | 2009-03-04 | 上海思必得通讯技术有限公司 | 对产品中闪存数据的防错、纠错方法 |
-
2009
- 2009-04-22 CN CN200910133685A patent/CN101872318B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819467A (zh) * | 2012-03-06 | 2012-12-12 | 宜鼎国际股份有限公司 | 可提高数据校正能力的闪存装置 |
TWI497511B (zh) * | 2012-11-08 | 2015-08-21 | Ind Tech Res Inst | 具嵌入式非揮發性記憶體之晶片及其測試方法 |
CN106155581A (zh) * | 2015-02-05 | 2016-11-23 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN106155581B (zh) * | 2015-02-05 | 2019-04-12 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN106021035A (zh) * | 2016-05-25 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种实现在内存颗粒进行故障校验以增强模组条稳定性的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101872318B (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8074148B2 (en) | Memory management method and controller for non-volatile memory storage device | |
CN101576853B (zh) | 数据存取方法、使用此方法的控制器与存储*** | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
TWI571882B (zh) | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US8301981B2 (en) | Data access method for flash memory and storage system and controller thereof | |
CN102890645B (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
TW202040370A (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN103678162B (zh) | ***数据储存方法、存储器控制器与存储器储存装置 | |
US8943289B2 (en) | Data moving method for flash memory module, and memory controller and memory storage apparatus using the same | |
TWI616807B (zh) | 資料寫入方法以及儲存控制器 | |
CN101872318B (zh) | 用于快闪记忆体的资料存取方法及其储存***与控制器 | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN102129353A (zh) | 闪存储存***、闪存控制器与数据写入方法 | |
CN101566969B (zh) | 提升非易失性存储器存储装置的管理效能的方法及控制器 | |
CN108108118B (zh) | 数据写入方法以及存储控制器 | |
CN108664350B (zh) | 数据保护方法、存储器存储装置及存储器控制电路单元 | |
CN113138720B (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
TWI785571B (zh) | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
CN102841853B (zh) | 存储器管理表处理方法、存储器控制器与存储器储存装置 | |
CN102467459B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102043724B (zh) | 用于闪存的区块管理方法、控制器与存储*** | |
CN113504880A (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 |