CN101576853B - 数据存取方法、使用此方法的控制器与存储系统 - Google Patents
数据存取方法、使用此方法的控制器与存储系统 Download PDFInfo
- Publication number
- CN101576853B CN101576853B CN2008100962487A CN200810096248A CN101576853B CN 101576853 B CN101576853 B CN 101576853B CN 2008100962487 A CN2008100962487 A CN 2008100962487A CN 200810096248 A CN200810096248 A CN 200810096248A CN 101576853 B CN101576853 B CN 101576853B
- Authority
- CN
- China
- Prior art keywords
- physical address
- read
- write
- check code
- address
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一种用于快闪存储器的数据存取方法及使用此方法的控制器与存储系统。此数据存取方法包括:根据在该快闪存储器中对应写入指令中的逻辑地址的欲写入物理地址,来产生检查码;将该检查码和欲写入的主数据一起写入至该欲写入物理地址中;依据对应读取指令中的逻辑地址的欲读取物理地址,在该快闪存储器的物理地址上进行读取;从该快闪存储器的该物理地址中读取该物理地址中所存储的检查码;依据所读取的检查码来确认所读取的该物理地址是否为该欲读取物理地址;以及当判断该物理地址是该欲读取物理地址时,传送该物理地址中所存储的主数据。
Description
技术领域
本发明是有关于一种数据存取方法及使用此方法的控制器与存储系统,且特别是有关于一种用于快闪存储器的数据存取方法及使用此方法的控制器与存储系统。
背景技术
近年来,由于数字相机、具有照相功能的手机、MP3,以及MP4的成长十分迅速,所以使得消费者对存储介质的需求也急剧增加。综观现今所有的存储介质而言,由于快闪存储器(Flash Memory)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以最适合内建于上述所举例的多种可携式多媒体装置中。特别是,以快闪存储器为存储介质的固态硬盘(Solid StateDrive,SSD)可有效地缩小携带型计算机的体积。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
一般来说,快闪存储器的存储系统内会存有记录逻辑区块与物理区块之间的对映关系的映射表(mapping table)。当主机系统对某一逻辑区块的地址(例如页地址)进行存取时,存储系统会依据此映射表将数据写入至对应物理区块之中的地址或从对应物理区块之中的地址里读取数据。然而,随着工艺的越来越精密,信号指令传递的过程中所产生的细微噪声可能会影响数据或指令的内容,进而造成数据的存取错误。在现有技术中,一般会使用错误校正码(Error Correcting Code)来对所存取的数据进行错误校正。然而,对于所传输的指令而言并无任何确保其正确性的机制。例如,当存储系统传送读取指令以存取主机系统欲读取的逻辑地址1所对应的物理地址1时,此读取指令可能会因传输过程的噪声而被误判为请求读取物理地址2,并且物理地址2的数据会因此被传给主机系统。在此案例中,虽然所传递的数据已通过ECC机制验证其正确性而传送给主机系统,但由于所读取的地址发生误判因此主机系统并未接收到所欲读取的正确数据。换言之,在现有技术下存储系统无法确保所读取的地址是否是主机系统所欲读取的地址,因此无法确保 所读取数据的正确性。特别是,对于需要高度数据可靠性与正确性的固态硬盘来说,如何克服上述缺点是相当的重要。
发明内容
本发明提供一种数据存取方法,其能够确保从正确的快闪存储器物理地址中读取数据。
本发明提供一种控制器,其能够确保从正确的快闪存储器物理地址中读取数据。
本发明提供一种存储系统,其能够确保从正确的快闪存储器物理地址中读取数据。
本发明提出一种数据存取方法,其适用于快闪存储器,此数据存取方法包括:根据在该快闪存储器中对应写入指令中的逻辑地址的欲写入物理地址,来产生检查码;将该检查码和欲写入的主数据一起写入至该欲写入物理地址中;依据对应读取指令中的逻辑地址的欲读取物理地址,在该快闪存储器的物理地址上进行读取;从该快闪存储器的该物理地址中读取该物理地址中所存储的检查码;依据所读取的检查码来确认所读取的该物理地址是否为该欲读取物理地址;以及当判断该物理地址是该欲读取物理地址时,传送该物理地址中所存储的主数据。
在本发明的一实施例中,上述的数据存取方法还包括执行循环冗余检查(Cycle Redundancy Check,CRC)码产生程序来产生上述检查码。
在本发明的一实施例中,上述的数据存取方法还包括将检查码与逻辑地址存储在上述欲写入物理地址的冗余区中。
在本发明的一实施例中,上述的信息存取方法还包括根据检查码、写入指令中的逻辑地址和欲写入的主数据产生错误校正码,以及将所产生的错误校正码和该写入指令中的逻辑地址写入至上述欲写入物理地址中。
在本发明的一实施例中,上述的数据存取方法还包括从该快闪存储器的该物理地址中读取该物理地址中所存储的检查码、逻辑地址、主数据和错误校正码,依据所读取的物理地址中的错误校正码来确认所读取的检查码、逻辑地址与主数据的内容是否正确,其中当所读取的检查码、逻辑地址与主数据的内容为不正确时会对所读取的检查码、逻辑地址与主数据进行错误校正。
在本发明的一实施例中,上述的数据存取方法还包括当判断所读取的物 理地址不是欲读取物理地址时重新再读取一次欲读取物理地址。
在本发明的一实施例中,上述的信息存取方法还包括根据写入指令中的逻辑地址和在快闪存储器中对应写入指令中的逻辑地址的欲写入物理地址来产生检查码,并且将检查码、写入指令中的逻辑地址和欲写入的主数据一起写入至欲写入物理地址中。此数据存取方法还包括从快闪存储器的物理地址中读取此物理地址中所存储的检查码与逻辑地址,并且依据所读取的检查码与逻辑地址来验证所读取的物理地址是否为欲读取物理地址。
本发明提出一种控制器,其适用于具有快闪存储器的存储系统,此控制器包括快闪存储器接口、缓冲存储器、微处理器单元以及地址确认模块。快闪存储器接口用以存取快闪存储器。缓冲存储器用以暂时地存储数据。微处理器单元耦接至快闪存储器接口与缓冲存储器并且用以依据对应读取指令中的欲读取逻辑地址的欲读取物理地址来在快闪存储器的物理地址上进行读取。地址确认模块耦接至微处理器单元,其中该地址确认模块还包括:检查码产生单元,耦接至该微处理单元,且用以根据在该快闪存储器中对应写入指令中的逻辑地址的欲写入物理地址来产生检查码,其中该微处理器单元会将该检查码和欲写入的主数据一起写入至该欲写入物理地址中;校验单元,耦接至该微处理单元,且依据该微处理器单元从该快闪存储器的该物理地址中读取的该检查码,验证所读取的该物理地址是否为该欲读取物理地址,其中微处理器单元仅在当校验单元判断所读取的物理地址是欲读取的物理地址时才传送此物理地址中所存储的主数据。
在本发明的一实施例中,上述的检查码产生单元为循环冗余检查(CycleRedundancy Check,CRC)码产生单元,并且上述校验单元为循环冗余检查校验单元。
在本发明的一实施例中,上述的检查码存储在欲写入物理地址的冗余区中。
在本发明的一实施例中,上述的控制器还包括错误校正模块,其耦接至微处理器单元用以依据检查码、写入指令中的逻辑地址和欲写入的主数据来产生错误校正码,其中微处理器单元会将错误校正码和该写入指令中的逻辑地址写入至欲写入物理地址中。
在本发明的一实施例中,上述的错误校正模块会依据所读取的物理地址中的错误校正码来确认所读取的检查码、逻辑地址与主数据的内容是否正确, 并且当所读取的检查码、逻辑地址与主数据的内容为不正确时,错误校正模块会对所读取的检查码、逻辑地址与主数据进行错误校正。
在本发明的一实施例中,当该校验单元判断所读取的物理地址不是欲读取物理地址时则微处理器单元会重新再读取一次欲读取物理地址。
在本发明的一实施例中,上述的存储系统为USB随身盘、记忆卡或固态硬盘。
在本发明的一实施例中,上述检查码产生单元根据写入指令中的逻辑地址和在快闪存储器中对应写入指令中的逻辑地址的欲写入物理地址来产生检查码,其中微处理器单元会将所产生的检查码、写入指令中的逻辑地址和欲写入的主数据一起写入至欲写入物理地址中。上述校验单元依据微处理器单元从快闪存储器的物理地址中读取的检查码与逻辑地址来验证所读取的物理地址是否为欲读取物理地址。
本发明提出一种存储系统,其包括快闪存储器、总线接口与上述的任一项中的控制器。快闪存储器用以存储数据,并且总线接口用以连接主机。
本发明因在存储系统中加入地址确认模块的结构,因此可确认所读取的物理地址是否为读取指令中欲读取的物理地址,由此确保所读取数据的正确性。
附图说明
为让本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并结合附图,作详细说明如下。
图1是根据本发明第一实施例示出存储系统的概要方块图。
图2(a)和(b)是根据本发明第一实施例示出信息存取方法的流程图。
图3是根据本发明第二实施例示出存储系统的概要方块图。
图4(a)和(b)是根据本发明第二实施例示出信息存取方法的流程图。
主要组件符号说明
100、100’:存储系统
110、310:控制器
110a、310a:微处理器单元
110b、310b:快闪存储器接口
110c、310c:缓冲存储器
110d、310d:检查码产生单元
110e、310e:校验单元
120、320:总线接口
130、330:快闪存储器
130-0、130-1、130-2、130-N:区块
200:主机
300:总线
D:信息区
R:冗余区
310f:错误校正模块
S201、S203、S205、S207、S209、S211:数据存取的步骤
S401、S403、S405、S407、S409、S411、S413、S415:数据存取的步骤
具体实施方式
本发明所提出的存储系统的控制器包括地址确认模块,其中当控制器的微处理器单元从快闪存储器中的物理地址中读取数据时,地址确认模块会检查所读取的物理地址是否为读取指令中欲读取的物理地址,并且在地址确认模块判断目前所读取的物理地址是欲读取的物理地址时,微处理器单元才会传送所读取的数据。由此,可防止误传非主机所欲读取的物理地址的数据。以下将以多个示例实施例并结合附图详细说明本发明。
[第一实施例]
图1是根据本发明第一实施例示出存储系统的概要方块图。请参照图1,存储系统100包括控制器110、总线接口120以及快闪存储器130。通常存储系统100会与主机200一起使用,以使主机200可将数据写入至存储系统100或从存储系统100中读取数据。在本实施例中,存储系统100为固态硬盘(SolidState Drive,SSD)。但必须了解的是,在本发明另一实施例中存储系统100也可以是随身盘或记忆卡。
控制器110会协调总线接口120以及快闪存储器130的整体运作,例如数据的写入、读取与擦除等。控制器110包括微处理器单元110a、快闪存储器接口110b、缓冲存储器110c以及包含检查码产生单元110d与校验单元110e的地址确认模块。
微处理器单元110a会进行对快闪存储器130的写入、读取与擦除等运作。
快闪存储器接口110b电性连接至微处理器单元110a并且用以存取快闪存储器130。也就是,主机200欲写入至快闪存储器130的数据会经由快闪存储器接口110b转换为快闪存储器130所能接受的格式。
缓冲存储器110c电性连接至微处理器单元110a,并且用以暂时地存储系统性数据(例如逻辑与物理区块映射表)或者主机200所读取或写入的数据。在本实施例中,缓冲存储器110c为静态随机存取存储器(static random accessmemory,SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取存储器(Dynamic Random Access memory,DRAM)、磁阻式存储器(Magnetoresistive Random Access Memory,MRAM)、相变化存储器(PhaseChange Random Access Memory,PRAM)或其它适合的存储器也可应用于本发明。
检查码产生单元110d电性连接至微处理单元110a,并且用以产生检查码。具体来说,微处理单元110a会依据欲写入的逻辑地址与其在快闪存储器130中对应的物理地址来产生一组检查码,其中欲写入的逻辑地址与对应物理地址和所产生的检查码之间具有一固定关系,例如所产生的检查码是欲写入的逻辑地址除以其对应的物理地址的余数。在本实施例中,检查码产生单元110d是以循环冗余检查(Cycle Redundancy Check,CRC)产生电路来实现,因此所产生的检查码也称为CRC码。
值得一提的是,在本实施例中该微处理单元会将包含CRC码与欲写入的逻辑地址的冗余数据和欲写入的数据一起写入至此逻辑地址所对应的物理地址中。
校验单元110e电性连接至微处理单元110a,并且用以根据微处理单元110a所读取物理地址的冗余数据中的检查码与逻辑地址来验证所读取的数据是否为欲读取的物理地址中的数据。具体来说,当微处理器110a下达指令请求从某一物理地址中读取数据(以下称为主数据)时,快闪存储器接口110b会依据指令从快闪存储器130的物理地址中同时读取主数据与其中所记录的冗余数据(即检查码与逻辑地址)。当微处理器110a接收到这些数据时,会经由校验单元110e来验证所读取包含检查码与逻辑地址的冗余数据和欲读取的物理地址是否匹配。在本实施例中,校验单元110e是CRC解码电路,其对应实现检查码产生单元110d的CRC产生电路。
必须了解的是,本发明不限于以CRC产生电路与CRC解码电路来实现上述检查码产生单元110d与校验单元110e,本发明也可使用任何适合的验证模块来提供本实施例中地址确认模块的功能。
此外,虽未示出于本实施例,但控制器110可还包括一般快闪存储器控制器常见的功能模块,例如存储器管理模块、电源管理模块等。
总线接口120用以通过总线300连接主机200。在本实施例中,总线接口120为PCI Express接口。然而,必须了解的是本发明不限于此,总线接口120也可以是USB接口、IEEE 1394接口、SATA接口、MS接口、MMC接口、SD接口、CF接口、IDE接口或其它适合的数据传输接口。
快闪存储器130是电性连接至控制器110并且用以存储数据。在本实施中快闪存储器130为多层单元(Multi Level Cell,MLC)NAND快闪存储器。然而,必须了解的是,本发明不限于此。在本发明另一实施例中,单层单元(Single Level Cell,SLC)NAND快闪存储器也可应用于本发明。
快闪存储器130通常会被分割为多个物理区块(physical block)130-0至130-N,为方便说明以下将物理区块简称为区块。一般而言,在快闪存储器中区块为擦除的最小单位。也即,每一区块含有最小数目的一并被擦除的单元。每一区块通常会分割为数个页(page)。页通常为编程化(program)的最小单元,但要特别说明的是于有些不同的快闪存储器设计,最小的编程化单位也可为一个扇区(sector)大小,即一页中有多个扇区并以一扇区为程序化的最小单元。换言之,页为写入数据或读取数据的最小单元。在本实施例中,所述的物理地址是表示快闪存储器的页。
每一页通常包括数据区D与冗余区R。数据区用以记录使用者的数据,而冗余区用以记录系统的数据,例如CRC检查码、错误校正码(error correctingcode,ECC)等。为对应于磁盘驱动器的扇区(sector)大小,一般而言,数据区D通常为512字节,而冗余区R通常为16字节。也就是,一页为一个扇区。然而,也可以多个扇区形成一页,例如一页包括4个扇区。
一般而言,区块可由任意数目的页所组成,例如64页、128页、256页等。区块130-0至130-N通常也可被分组为数个区域(zone),以区域来管理存储器某种程度上是彼此独立地操作以增加操作执行的平行程度且简化管理的复杂度。
基于此,根据本实施例的存储系统100可通过检查码产生单元110d与校 验单元110e来确认所读取的物理地址是否为欲读取的物理地址,由此确保所读取数据的正确性。以下将配合图2详细说明存储系统100的数据存取步骤。
图2是根据本发明第一实施例示出信息存取方法的流程图。
请参照图2的(a),当主机200传送写入指令至存储系统100以写入数据(以下称为主数据)至快闪存储器130时,微处理器单元110a会将写入指令中的逻辑地址与其在快闪存储器130中对应的物理地址传送至检查码产生单元110d,并且检查码产生单元110d会据此产生一组检查码(在步骤S201中)。
之后,所产生的检查码、写入指令中的逻辑地址和主数据会通过快闪存储器接口110b一起写入至此对应物理地址中(在步骤S203中)。具体来说,微处理器单元110a会将主数据写入至对应物理地址的数据区D中,并且将包含检查码与欲写入的逻辑地址的冗余数据写入至对应物理地址的冗余区R中。
接着请参照图2的(b),当主机200发送读取指令至存储系统100以读取快闪存储器130中的主数据时,微处理器单元110a会依据对应读取指令中的逻辑地址的欲读取物理地址来从快闪存储器130的物理地址中同时读取主数据和其中所记录的检查码和逻辑地址(步骤S205中)。
所读取的检查码与逻辑地址会被传递至校验单元110e以验证所读取的检查码与逻辑地址和欲读取物理地址是否匹配(步骤S207)。
倘若在步骤S207中校验单元110e判断所读取的检查码与逻辑地址和欲读取物理地址是匹配时,则可确认所读取的主数据是主机200欲读取的物理地址中的数据,因此在步骤209中微处理器单元110a会传送所读取的主数据至主机200。
倘若在步骤S207中校验单元110e判断所读取的检查码与逻辑地址和欲读取物理地址是不匹配时,则在步骤S211中微处理器单元110a会重新存取读取指令中欲读取的物理地址并且执行步骤205。或者,在本发明另一实施例中,当校验单元110e判断所读取的检查码与逻辑地址和欲读取的物理地址是不匹配时,则微处理器单元110a会产生读取错误讯息以告知主机200。
基此,根据本发明实施例的存储系统100可判断所读取的物理地址与读取指令中欲读取的物理地址是否相符,以确保所读取的数据的正确性。
值得一提的是,在本实施例中是以写入指令中的逻辑地址与其在快闪存储器中对应的物理地址来产生检查码,并且以所读取物理地址中所存储的逻 辑地址与检查码来判断所读取物理地址是否为欲读取的物理地址。然而,在本发明另一实施例中,也可仅使用写入指令中的逻辑地址在快闪存储器中对应的物理地址来产生上述检查码,并且仅以所读取物理地址中所存储的检查码来判断所读取物理地址是否为欲读取的物理地址。此外,在本发明其它实施例中也可直接以写入指令中的逻辑地址在快闪存储器中对应的物理地址来作为上述检查码,以作为判断所读取物理地址是否为欲读取的物理地址的信息。
[第二实施例]
如前所述,为了确保所读取的数据的正确性最佳的是能确认来源地址的正确性与所读取数据本身内容的正确性。为了清楚了解本发明,第一实施例的存储系统100是仅以确认来源地址的正确性来实现,然而本发明确认地址的保护机制也可与确认所读取数据的机制一起实现。
图3是根据本发明第二实施例示出存储系统的概要方块图。请参照图3,存储系统100’包括控制器310、总线接口320以及快闪存储器330。通常存储系统100’会与主机200一起使用,以使主机200可将数据写入至存储系统100’或从存储系统100’中读取数据。在本实施例中,存储系统100’为固态硬盘(Solid State Drive,SSD)。但必须了解的是,在本发明另一实施例中存储系统100’也可以是随身盘或记忆卡。总线接口320与快闪存储器330的结构与运作是相同于第一实施例的总线接口120与快闪存储器130的结构与运作,在此省略其详细说明。
控制器310会协调总线接口320以及快闪存储器330的整体运作,例如数据的写入、读取与擦除等。控制器310包括微处理器单元310a、快闪存储器接口310b、缓冲存储器310c、检查码产生单元310d、校验单元310e与错误校正模块310f。
微处理器单元310a、快闪存储器接口310b、缓冲存储器310c、检查码产生单元310d与校验单元310e的结构是类似于第一实施例的微处理器单元110a、快闪存储器接口110b、缓冲存储器110c、检查码产生单元110d与校验单元110e的结构,以下将结合图4描述其运作上的不同之处。
错误校正模块310f耦接至微处理器单元310a。错误校正模块310f用以对欲存储至快闪存储器330的数据包执行错误校正编码程序,并且产生错误校正码。特别是,所产生的错误校正码会与欲存储的数据包一起写入至快闪 存储器330中,也就是错误校正码会被写入至物理地址的冗余区R中。此外,错误校正模块310f还用以在数据读取作业时依据所记录的错误校正码来检查及修正数据包在传输时可能产生的错误或噪声(noise)。
在根据本实施例的存储系统100’中可通过检查码产生单元310d、校验单元310e与错误校正模块310f的运作可确认所读取的物理地址是否为欲读取的物理地址并且确认所读取数据的内容,由此可更能保证所读取的数据的正确性。以下将结合图4详细说明存储系统100’的数据存取步骤。
图4是根据本发明第二实施例示出信息存取方法的流程图。
请参照图4的(a),当主机200传送写入指令至存储系统100’以写入数据(以下称为主数据)至快闪存储器330时,微处理器单元310a会将写入指令中的逻辑地址与其在快闪存储器330中对应的物理地址传送至检查码产生单元310d中,并且检查码产生单元310d会据此产生一组检查码(步骤S401)。
之后,所产生的检查码、写入指令中的逻辑地址和主数据会传送至错误校正模块310f,并且错误校正模块310f会据此产生一组错误校正码(步骤S403)。
此检查码、写入指令中的逻辑地址、主数据以及所产生的错误校正码会通过快闪存储器接口310b而一起被写入至快闪存储器330的对应物理地址中(步骤S405)。具体来说,微处理器单元310a会将主数据写入至对应物理地址的数据区中,并且将包含检查码与欲写入的逻辑地址的冗余数据以及错误校正码写入至对应物理地址的冗余区中。
接着请参照图4的(b),当主机200传送读取指令至存储系统100’以读取快闪存储器330中的主数据时,微处理器单元110a会依据对应读取指令中的逻辑地址的欲读取物理地址通过快闪存储器接口310b来从快闪存储器330的物理地址中同时读取此物理地址中的检查码、逻辑地址、主数据以及错误校正码(步骤S407)。
所读取的检查码、逻辑地址、主数据以及错误校正码会被传送至错误校正模块310f,并且错误校正模块310f会执行错误校正程序,以验证所读取的检查码、逻辑地址和主数据的内容是否正确无误,且在发生错误时会修正错误的内容(步骤S409)。
之后,已经过错误校正的检查码、逻辑地址和主数据会传送至校验单元310e,并且校验单元310e会验证已错误校正的检查码与逻辑地址和欲读取物 理地址是否匹配(步骤S411)。
倘若在步骤S411中校验单元310e判断已错误校正的检查码与逻辑地址和欲读取物理地址是匹配而确认所读取的主数据是主机200欲读取的物理地址中的数据时,则在步骤413中微处理器单元310a会传送所读取的主数据至主机200。
倘若在步骤S411中校验单元310e判断所读取冗余数据中的检查码与逻辑地址和欲读取物理地址是不匹配时,则在步骤S415中微处理器单元310a会重新存取读取指令中欲读取的物理地址并且执行步骤407。或者,在本发明另一实施例中,当校验单元310e判断已错误校正的检查码与逻辑地址和欲读取物理地址是不匹配时,则微处理器单元310a会产生读取错误讯息以告知主机200。
基于此,根据本发明实施例的存储系统100’可通过校验单元310e判断所读取的物理地址与读取指令中欲读取的物理地址是否相符,并且可通过错误校正模块310f判断所读取数据的内容是否正确,由此可更确保所传送数据的正确性。
综上所述,本发明实施例在快闪存储器存储系统中实现为地址确认模块(例如,在上述实施例中是以检查码产生单元与校验单元来实现),以判断所读取的物理地址是否为主机欲读取的物理地址,由此确保数据来源的正确性。此外,快闪存储器存储系统还包括错误校正模块以确认所读取数据的内容,由此确保数据本身的正确性。由此,根据本发明实施例的快闪存储器存储系统可更有效地确认所传送数据的正确性。
虽然本发明已以较佳实施例公开如上,但是其并非用以限定本发明,任何所属技术领域的普通技术人员,在不脱离本发明的精神和范围内,可作些许的更动与润饰,因此本发明的保护范围以后附的权利要求书的限定为准。
Claims (16)
1.一种数据存取方法,其适用于快闪存储器,该数据存取方法包括:
根据在该快闪存储器中对应写入指令中的逻辑地址的欲写入物理地址,来产生检查码;
将该检查码和欲写入的主数据一起写入至该欲写入物理地址中;
依据对应读取指令中的逻辑地址的欲读取物理地址,在该快闪存储器的物理地址上进行读取;
从该快闪存储器的该物理地址中读取该物理地址中所存储的检查码;
依据所读取的检查码来确认所读取的该物理地址是否为该欲读取物理地址;以及
当判断该物理地址是该欲读取物理地址时,传送该物理地址中所存储的主数据。
2.如权利要求1所述的数据存取方法,还包括执行循环冗余检查码产生程序来产生该检查码。
3.如权利要求1所述的数据存取方法,还包括将该检查码存储在该欲写入物理地址的冗余区中。
4.如权利要求1所述的数据存取方法,还包括:
根据该检查码、该写入指令中的逻辑地址和欲写入的该主数据产生错误校正码;以及
将该错误校正码和该写入指令中的逻辑地址写入至该欲写入物理地址中。
5.如权利要求4所述的数据存取方法,还包括:
从该快闪存储器的该物理地址中读取该物理地址中所存储的检查码、逻辑地址、主数据和错误校正码,依据所读取的该物理地址中的该错误校正码,来确认所读取的检查码、逻辑地址与主数据的内容是否正确,
其中当所读取的检查码、逻辑地址与主数据的内容为不正确时,会对所读取的检查码与主数据进行错误校正。
6.如权利要求1所述的数据存取方法,还包括当判断所读取的该物理地址不是该欲读取物理地址时,重新再读取一次该欲读取物理地址。
7.如权利要求1所述的数据存取方法,还包括:
根据写入指令中的逻辑地址和在该快闪存储器中对应该写入指令中的逻辑地址的欲写入物理地址来产生检查码;
将该检查码、该写入指令中的逻辑地址和欲写入的主数据一起写入至该欲写入物理地址中;
从该快闪存储器的该物理地址中读取该物理地址中所存储的检查码与逻辑地址;以及
依据所读取的检查码与逻辑地址来验证该物理地址是否为该欲读取物理地址。
8.一种控制器,其适用于具有快闪存储器的存储系统,该控制器包括:
快闪存储器接口,用以存取该快闪存储器;
缓冲存储器,用以暂时地存储数据;
微处理器单元,耦接至该快闪存储器接口与该缓冲存储器,用以依据对应读取指令中的逻辑地址的欲读取物理地址,在该快闪存储器的物理地址上进行读取;以及
地址确认模块,耦接至该微处理器单元,其中该地址确认模块还包括:
检查码产生单元,耦接至该微处理单元,且用以根据在该快闪存储器中对应写入指令中的逻辑地址的欲写入物理地址来产生检查码,其中该微处理器单元会将该检查码和欲写入的主数据一起写入至该欲写入物理地址中;
校验单元,耦接至该微处理单元,且依据该微处理器单元从该快闪存储器的该物理地址中读取的该检查码,验证所读取的该物理地址是否为该欲读取物理地址,
其中该微处理器单元仅在当该校验单元判断所读取的该物理地址是该欲读取物理地址时,才传送该物理地址中所存储的主数据。
9.如权利要求8所述的控制器,其中该检查码产生单元为循环冗余检查码产生单元,并且该校验单元为循环冗余检查校验单元。
10.如权利要求8所述的控制器,其中该检查码存储在该欲写入物理地址的冗余区中。
11.如权利要求8所述的控制器,还包括错误校正模块,耦接至该微处理器单元,用以依据该检查码、该写入指令中的逻辑地址和欲写入的该主数据产生错误校正码,
其中该微处理器单元会将该错误校正码和该写入指令中的逻辑地址写入至该欲写入物理地址中。
12.如权利要求11所述的控制器,其中该错误校正模块会依据所读取的该物理地址中的该错误校正码来确认所读取的检查码、逻辑地址与主数据的内容是否正确,并且当所读取的检查码、逻辑地址与主数据的内容为不正确时,该错误校正模块会对所读取的检查码、逻辑地址与主数据进行错误校正。
13.如权利要求8所述的控制器,其中当该校验单元判断所读取的该物理地址不是该欲读取物理地址时则该微处理器单元会重新再读取一次该欲读取物理地址。
14.如权利要求8所述的控制器,其中该存储系统为USB随身盘、记忆卡或固态硬盘。
15.如权利要求8所述的控制器,其中该检查码产生单元根据写入指令中的逻辑地址和在该快闪存储器中对应该写入指令中的逻辑地址的欲写入物理地址来产生检查码,其中该微处理器单元会将该检查码、该写入指令中的逻辑地址和欲写入的主数据一起写入至该欲写入物理地址中,
其中该校验单元依据该微处理器单元从该快闪存储器的该物理地址中读取的该检查码与该逻辑地址,验证所读取的该物理地址是否为该欲读取物理地址。
16.一种存储系统,包括:
快闪存储器,用以存储数据;
总线接口,用以连接主机;以及
如权利要求8-15中任一项中的控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100962487A CN101576853B (zh) | 2008-05-06 | 2008-05-06 | 数据存取方法、使用此方法的控制器与存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100962487A CN101576853B (zh) | 2008-05-06 | 2008-05-06 | 数据存取方法、使用此方法的控制器与存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101576853A CN101576853A (zh) | 2009-11-11 |
CN101576853B true CN101576853B (zh) | 2011-12-21 |
Family
ID=41271788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100962487A Active CN101576853B (zh) | 2008-05-06 | 2008-05-06 | 数据存取方法、使用此方法的控制器与存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101576853B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147753B (zh) * | 2010-02-10 | 2013-04-17 | 慧荣科技股份有限公司 | 非挥发性记忆装置及其数据处理方法 |
CN102541769B (zh) * | 2010-12-13 | 2014-11-05 | 中兴通讯股份有限公司 | 一种存储器接口访问控制方法及装置 |
US8671250B2 (en) * | 2011-12-15 | 2014-03-11 | Western Digital Technologies, Inc. | Data storage device generating redundancy for data path protection of a parity sector |
CN107423231B (zh) * | 2013-08-05 | 2020-11-20 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法以及记忆装置与控制器 |
US20150046772A1 (en) * | 2013-08-06 | 2015-02-12 | Sandisk Technologies Inc. | Method and device for error correcting code (ecc) error handling |
CN105630404A (zh) * | 2015-04-02 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种使用mram的固态硬盘及读写方法 |
CN105630691A (zh) * | 2015-04-29 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种使用mram的固态硬盘及使用物理地址的读写方法 |
CN106201325B (zh) * | 2015-04-29 | 2019-04-23 | 群联电子股份有限公司 | 数据存取方法、存储器控制电路单元与存储器存储装置 |
TWI566096B (zh) * | 2015-09-11 | 2017-01-11 | 慧榮科技股份有限公司 | 資料儲存系統與其相關方法 |
CN109491593B (zh) * | 2018-09-28 | 2020-11-17 | 方一信息科技(上海)有限公司 | 一种数据存储管理系统及方法 |
CN109683822B (zh) * | 2018-12-19 | 2022-03-29 | 深圳忆联信息系统有限公司 | 一种ssd soc芯片内容地址搜索控制器的方法及其系统 |
CN110136769B (zh) * | 2019-04-16 | 2020-11-24 | 珠海市杰理科技股份有限公司 | Otp寄存器数据修正方法、装置、计算机设备和存储介质 |
CN110232002A (zh) * | 2019-08-09 | 2019-09-13 | 深圳市硅格半导体有限公司 | 一种提升闪存读取准确性的方法、系统及装置 |
CN112162709A (zh) * | 2020-10-30 | 2021-01-01 | 深圳忆联信息系统有限公司 | 查询数据正确性的方法、装置、计算机设备及存储介质 |
-
2008
- 2008-05-06 CN CN2008100962487A patent/CN101576853B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101576853A (zh) | 2009-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101576853B (zh) | 数据存取方法、使用此方法的控制器与存储系统 | |
US8074148B2 (en) | Memory management method and controller for non-volatile memory storage device | |
US8902671B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
EP2646919A2 (en) | Transaction log recovery | |
US20190266096A1 (en) | Data storage device, method of operating the same, and storage system having the same | |
US8423838B2 (en) | Block management method, memory controller, and memory storage apparatus | |
TWI454912B (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
CN101567220A (zh) | 闪存的损坏区块辨识方法、储存系统及其控制器 | |
CN101667157A (zh) | 闪存数据传输方法、闪存储存系统及控制器 | |
US8301981B2 (en) | Data access method for flash memory and storage system and controller thereof | |
CN109727630B (zh) | 存储系统及其操作方法 | |
TWI415134B (zh) | 資料存取方法、使用此方法的控制器與儲存系統 | |
TW201135462A (en) | Method of dynamically switching partitions, memory card controller and memory card storage system | |
CN102890645A (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
CN102129353A (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
US9009571B2 (en) | Storage medium, system and method utilizing the same | |
CN103389941A (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
CN101872318B (zh) | 用于快闪记忆体的资料存取方法及其储存系统与控制器 | |
TW201908957A (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN112905107A (zh) | 数据存储装置及其操作方法 | |
CN112051963A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
TWI436209B (zh) | 記憶體管理表處理方法、記憶體控制器與記憶體儲存裝置 | |
CN102841853B (zh) | 存储器管理表处理方法、存储器控制器与存储器储存装置 | |
CN114981784A (zh) | 用于控制数据储存装置之方法及相关闪存控制器 | |
CN110008146B (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 |