CN101853692B - 具闪存测试功能的控制器及其储存系统与测试方法 - Google Patents
具闪存测试功能的控制器及其储存系统与测试方法 Download PDFInfo
- Publication number
- CN101853692B CN101853692B CN200910129267.XA CN200910129267A CN101853692B CN 101853692 B CN101853692 B CN 101853692B CN 200910129267 A CN200910129267 A CN 200910129267A CN 101853692 B CN101853692 B CN 101853692B
- Authority
- CN
- China
- Prior art keywords
- flash memory
- physical blocks
- test
- crystal grain
- flash
- 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)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明公开了一种具闪存测试功能的闪存控制器,其包括微处理器单元、闪存接口单元、主机接口单元与存储单元测试单元。闪存接口单元用以连接多个闪存芯片,其中每一闪存芯片包括多个闪存晶粒且每一闪存晶粒包括多个实体区块。主机接口单元用以连接一主机系统。存储单元测试单元用以判断这些闪存芯片的实体区块是否可被正常地写入、读取与抹除。基此,根据本发明的闪存控制器可在主机系统的指示下进行闪存芯片的测试并且确保此闪存芯片内的所有实体区块皆可完成测试。
Description
技术领域
本发明涉及一种存储器测试技术,特别涉及一种具闪存测试功能的控制器及其储存系统与测试方法。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存介质的需求也急速增加。由于闪存(Flash Memory)具有数据非挥发性、省电、体积小与无机械结构等的特性,适合可携式应用,最适合使用于这类可携式由电池供电的产品上。固态硬盘就是一种以NAND闪存作为储存介质的储存装置。
闪存储存装置的闪存芯片(chip)会依据其设计容量包括1个或多个闪存晶粒(die),且闪存晶粒会划分为多个实体区块,以作为储存数据之用。一般来说,厂商在完成闪存储存装置的制造后,会对此闪存储存装置进行其中之实体区块的读写测试,以确保闪存储存装置的质量。
在对闪存储存装置进行读取测试时,现有技术的方法是将此闪存储存装置连接于安装一测试软件的一主机系统上,并且由此测试软件对此闪存储存装置进行读写来测试此闪存储存装置的闪存芯片是否可正常储存数据。
一般来说,实体区块会由闪存储存装置的闪存控制器逻辑地分组为系统区(system area)、数据区(data area)、备用区(spare area)与取代区(replacement area)。系统区的实体区块是用以储存闪存储存系统的相关重要信息,而取代区的实体区块是用以取代数据区或备用区中已损坏的实体区块损坏,因此在一般存取状态下,主机系统无法存取系统区与取代区中的实体区块。至于归类为数据区的实体区块中会储存由写入指令所写入的有效数据,而备用区中的实体区块是用以在执行写入指令时替换数据区中的实体区块。
具体来说,当闪存储存装置接收到主机系统的写入指令而对数据区的实体区块进行写入时,闪存储存装置会从备用区中提取一实体区块,并且将在数据区中欲写入的实体区块中的有效旧数据与欲写入的新数据写入至从备用区中提取的实体区块中,并且将已写入新数据的实体区块逻辑地关联为数据区,并且将原本数据区的实体区块进行抹除并逻辑地关联为备用区。为了能够让主机系统能够顺利地存取以轮替方式储存数据的实体区块,闪存储存装置会提供逻辑区块给主机系统。也就是说,闪存储存系统会透过在逻辑地址-实体地址映射表(logicaladdress-physical address mapping table)中记录与更新逻辑区块与数据区的实体区块之间的对应关系来反映实体区块的轮替。所以主机系统仅需要针对所提供逻辑区块进行写入,而闪存储存装置会依据逻辑地址-实体地址映射表对所对应的实体区块进行读取或写入数据。
由于上述闪存储存系统的运作特性,因此,由主机系统上的测试软件来对闪存储存装置进行读写测试无法保证所有实体区块都已进行测试。
此外,在闪存储存装置中闪存芯片内的闪存晶粒由闪存储存系统中的闪存控制器管理,因此由主机系统上的测试软件来对闪存储存装置进行读写测试时,必须依照闪存控制器的相关规格写入测试数据,而无法同步对闪存储存装置中的所有闪存晶粒执行写入运作。因此当待测试的闪存储存装置中的闪存芯片是由多个闪存晶粒所组成时,现有的测试方法需要大量的时间才能完成对所有闪存晶粒的读写动作。
发明内容
本发明提供一种具闪存测试功能的闪存控制器,其能够有效地对与其连接的闪存芯片的所有实体区块进行测试。
本发明提供一种闪存测试方法,其能够有效地对闪存芯片的所有实体区块进行测试。
本发明提供一种闪存储存系统,其能有效地对其闪存芯片的所有实体区块进行测试。
本发明提供一种具闪存测试功能的闪存控制器,其包括微处理器单元、闪存接口单元、主机接口单元与存储单元测试单元(memory celltesting unit)。闪存接口单元连接到微处理器单元,且用以连接多个闪存晶粒且每一闪存晶粒包括多个实体区块。主机接口单元连接到微处理器单元,且用以连接一主机系统。存储单元测试单元是连接到微处理器单元,用以同时地使能每一闪存晶粒,并以一广播方式在每一闪存晶粒中同时写入一测试数据,其中存储单元测试单元会从每一实体区块中读取测试数据来判断每一实体区块是否为损坏实体区块。
在本发明的一个实施例中,上述闪存控制器更包括错误检查与校正单元(Error Checking and Correcting Unit),用以根据上述测试信息产生一错误检查与校正码(Error Chec king and Correcting Code),并且依据此错误检查与校正码对所读取的测试数据执行一检查与校正,其中上述存储单元测试单元根据该检查与校正的结果正结果判断每一实体区块是否为损坏实体区块。
在本发明的一个实施例中,上述之存储单元测试单元会根据每一闪存晶粒的识别码(ID)产生欲写入的多个实体地址,并依据实体地址将测试数据写入至实体区块中。
在本发明的一个实施例中,上述之存储单元测试单元动态地传送一测试状态信息给所连接的主机系统。
在本发明的一个实施例中,上述测试状态信息包括目前状态区位与错误数字段,其中目前状态区位记录每一闪存晶粒的测试进度,而错误数字段记录每一闪存晶粒中损坏实体区块的数目。
在本发明的一个实施例中,上述存储单元测试单元建立一错误列表,用以记录判断为损坏实体区块的实体区块的相关信息。
在本发明的一个实施例中,上述错误列表包括错误状态区位与地址字段,其中错误状态区位记录判断为损坏实体区块的实体区块的错误类型,而地址字段记录判断为损坏实体区块的实体区块的地址。
在本发明的一个实施例中,上述存储单元测试单元将上述错误列表储存在上述任一实体区块中。
本发明提供一种闪存测试方法,用以测试多个闪存晶粒且每一闪存晶粒具有多个实体区块,该闪存测试方法包括:使用一主机系统向一闪存控制器发送一闪存测试请求,其中所述闪存晶粒连接到该闪存控制器。该闪存测试方法也包括:由该闪存控制器同时地使能每一所述闪存晶粒并以一广播方式在每一闪存晶粒的每一实体区块中同时写入一测试数据,并且由该闪存控制器从每一实体区块中读取该测试数据来判断每一实体区块是否为损坏实体区块。
在本发明的一个实施例中,上述闪存测试方法更包括由此闪存控制器建立一错误列表,以记录判断为损坏实体区块的实体区块的相关信息。
在本发明的一个实施例中,上述在每一闪存晶粒的每一实体区块中写入测试数据与读取测试数据来判断每一实体区块是否为损坏实体区块的步骤包括:根据测试信息产生一错误检查与校正码;依据错误检查与校正码对所读取的测试数据执行一检查与校正;以及根据检查与校正的结果判断每一实体区块是否为损坏实体区块。
在本发明的一个实施例中,上述以广播方式在每一闪存晶粒的每一实体区块中同时写入测试数据的步骤包括:根据每一闪存晶粒的识别码(ID)产生欲写入的多个实体地址,并依据所产生的实体地址将测试数据写入至实体区块中。
在本发明的一个实施例中,上述闪存测试方法更包括:使用上述主机系统向上述闪存控制器发送一闪存测试回报请求,并且由上述闪存控制器动态地建立与传送一测试状态信息给上述主机系统。
在本发明的一个实施例中,上述建立测试状态信息的步骤包括:记录每一闪存晶粒的目前测试进度,以及记录每一闪存晶粒中损坏实体区块的数目。
在本发明的一个实施例中,上述建立该错误列表的步骤包括:记录判断为损坏实体区块的实体区块的错误类型,以及记录判断为损坏实体区块的实体区块的地址。
在本发明的一个实施例中,上述闪存测试方法更包括:将上述错误列表储存在上述任一实体区块中。
本发明提供一种具闪存测试功能的闪存储存系统,其包括连接器、多个闪存晶粒与闪存控制器。连接器用以连接一主机系统,闪存晶粒包括多个实体区块。闪存控制器连接到连接器与闪存晶粒,其中闪存控制器用以同时地使能每一闪存晶粒并以一广播方式在每一闪存晶粒的每一实体区块中同时写入测试数据,并且闪存控制器用以从每一实体区块中读取该测试数据来判断每一实体区块是否为损坏实体区块。
在本发明的一个实施例中,上述闪存控制器,用以根据测试数据产生一错误检查与校正码,依据错误检查与校正码对所读取的测试数据执行一检查与校正,并且根据检查与校正的结果判断每一实体区块是否为损坏实体区块。
在本发明的一个实施例中,上述闪存控制器会根据每一闪存晶粒的一识别码(ID)产生欲写入的多个实体地址,并依据所产生的实体地址将测试数据写入至实体区块中。
在本发明的一个实施例中,上述闪存控制器动态地传送一测试状态信息给上述主机系统。
在本发明的一个实施例中,上述测试状态信息包括目前状态区位与错误数字段,其中目前状态区位是记录每一闪存晶粒的测试进度,而错误数字段记录每一闪存晶粒中损坏实体区块的数目。
在本发明的一个实施例中,上述闪存控制器建立一错误列表,用以记录判断为损坏实体区块的实体区块的相关信息。
在本发明的一个实施例中,上述错误列表包括错误状态区位与地址字段,其中错误状态区位是记录判断为损坏实体区块的实体区块的错误类型,而地址字段记录判断为损坏实体区块的实体区块的地址。
在本发明的一个实施例中,上述闪存控制器将上述错误列表储存在上述任一实体区块中。
基于上述,本发明可确保所有实体区块都已进行测试,并且大幅缩短测试所需的时间。
为让本发明之上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是本发明一范例实施例的闪存储存系统的概要方块图。
图2是本发明一范例实施例的错误列表的数据结构示意图。
图3是本发明一范例实施例测试状态信息的数据结构示意图。
图4是本发明一范例实施例绘示闪存测试方法的流程图。
主要的附图标记说明:
100:闪存储存系统
110:闪存芯片
110-1、110-2、110-3、110-4:闪存晶粒
120:连接器
130:闪存控制器
130a:微处理器单元
130b:闪存接口单元
130c:主机接口单元
130d:存储单元测试单元
130e:错误检查与校正单元
152、156:数据总线
154、158:控制总线
200:主机系统
210:测试应用程序
300:总线
250:错误列表
252:错误状态区位
254:地址字段
350:测试状态信息
352:目前状态区位
354:错误数字段
400:测试程序
S401、S403、S405、S407、S409、S411、S413、S415、S417:测试程序的步骤
具体实施方式
图1是根据本发明一范例实施例所绘示的闪存储存系统的概要方块图。
请参照图1,闪存储存系统100与主机系统200连接,以使主机系统200可将数据写入至闪存储存系统100,或从闪存储存系统100中读取数据。在本范例实施例中,闪存储存系统100为固态硬盘(Solid StateDrive,SSD)。但必须了解的是:在本发明另一实施例中,闪存储存系统100也可以是记忆卡或随身碟。
闪存储存系统100包括:闪存芯片110、连接器120与闪存控制器130。
闪存芯片110电性连接至闪存控制器130并且用以储存数据。在本范例实施中,闪存芯片110为多层存储单元(Multi Level Cell,MLC)NAND闪存芯片。然而,必须了解的是:本发明不限于此。在本发明另一范例实施例中,单层存储单元(Single Level Cell,SLC)NAND闪存芯片亦可应用于本发明。
具体来说,闪存芯片110包括:闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4。其中,闪存晶粒110-1与闪存晶粒110-2经由数据总线152与控制总线154连接到闪存控制器130,并且闪存晶粒110-3与闪存晶粒110-4经由数据总线156与控制总线158连接到闪存控制器130。此外,闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4划分为多个实体区块。必须了解的是:在本范例实施例中,闪存芯片110以具有4个闪存晶粒的例子来进行说明,然而本发明不限于此,本发明可应用于具有任意数目闪存晶粒的闪存芯片。
每一实体区块通常会分割为一个以上个页面(page),例如64个页面、128个页面、256个页面等。页面通常为程序化(program)的最小单元。但要特别说明的是:在一些不同的闪存设计中,最小的程序化单位也可为一个扇区(sector)。也就是说,一个页面中有多个扇区并以一个扇区为程序化的最小单元。换言之,页面为写入数据或读取数据的最小单元。每一页面通常包括使用者数据区D与冗余区R。使用者数据区用以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误检查与校正码(Error Checking and Correcting Code,ECC Code)。为对应于磁盘驱动器的扇区(sector)大小,一般而言,使用者数据区D通常为512字节,而冗余区R通常为16字节。也就是说:一个页面地址为一个扇区。然而,亦可以多个扇区形成一个页面地址。在本范例实施例中,每一页面包括4个扇区。
连接器120用以经总线300连接主机系统200。在本实施例中,连接器120为SATA连接器。然而,必须了解的是本发明不限于此,连接器120亦可以是USB连接器、IEEE 1394连接器、PCI Express连接器、MS连接器、MMC连接器、SD连接器、CF连接器、IDE连接器或其他适合的连接器。
闪存控制器130会执行以硬件形式或韧体形式设置的多个逻辑开关或机械指令以配合连接器120与闪存芯片110来进行数据的写入、读取与抹除等运作。特别是,闪存控制器130具有测试闪存芯片110的功能。具体来说,在本范例实施例中,主机系统200包括测试应用程序210,并且当主机系统200执行测试应用程序210时会命令闪存控制器130测试闪存芯片110的实体区块是否可被正常读取、写入与抹除。
闪存控制器130包括微处理器单元130a、闪存接口单元130b、主机接口单元130c与存储单元测试单元130d。
微处理器单元130a用以控制闪存控制器130的整体运作。也就是说,闪存控制器130内所有组件的运作都由微处理器单元130a来控制。
闪存接口单元130b连接到微处理器单元130a,并且用以存取闪存芯片110。也就是,欲写入至闪存芯片110的数据会经由闪存接口单元130b转换为闪存芯片110所能接受的格式。
主机接口单元130c连接到微处理器单元130a,并且用以接收与识别主机系统200所传送的指令。也就是,主机系统200所传送的指令与数据会透过主机接口单元130c来传送至微处理器单元130a。在本范例实施例中,主机接口单元130c为SATA接口。然而,必须了解的是本发明不限于此,主机接口单元130c亦可以是USB接口、IEEE 1394接口、PCI Express接口、MS接口、MMC接口、SD接口、CF接口、IDE接口或其他适合的数据传输接口。值得一提的是:主机接口单元130c必须与连接器120相对应。也就是说,主机接口单元130c必须与连接器120互相搭配来配置。
存储单元(memory cell)测试单元130d连接到微处理器单元130a,并且用以对闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4的实体区块进行测试,以判断闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4中是否存有损坏(或不良)的实体区块。
例如,在本发明一范例实施例中,存储单元测试单元130d会在闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4的每一实体区块中写入一测试数据,并且读取此测试数据来判断每一实体区块是否可被正常写入与读取。此外,在本发明另一范例实施例中,存储单元测试单元130d更会根据闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4的一识别码(ID)来产生欲写入的多个实体地址,并依据所产生的实体地址将测试数据写入至所述实体区块中。
此外,在本发明一范例实施例中,闪存控制器130更包括错误检查与校正单元130e。错误检查与校正单元130e是用以依据欲写入至闪存芯片110的数据来产生对应的错误检查与校正码,并且可依据对应的错误检查与校正码来检查所读取的数据是否正确。错误检查与校正单元为此领域技术人员所熟知的技术,在此不详细说明其运作方式。由此,存储单元测试单元130d可依据测试数据所对应的错误检查与校正码来验证测试数据是否被正确地写入至闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4的每一实体区块,或者测试数据是否正确地从闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4的每一实体区块中被读取,或者闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4的每一实体区块是否被正确地抹除。
值得一提的是:在本发明一范例实施例中,当存储单元测试单元130d对闪存芯片110执行测试时,存储单元测试单元130d会透过控制总线154与控制总线158同时使能(Enable)闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4,并且将测试数据同步地写入至闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4的实体区块中。特别是,在本范例实施例中,由于测试闪存芯片110的动作是由闪存控制器130来执行,因此闪存控制器130可同时使能闪存晶粒110-1、闪存晶粒110-2、闪存晶粒110-3与闪存晶粒110-4以同步地写入测试数据。值得一提的是:在本发明另一范例实施例中,闪存储存系统100亦可仅配置单一控制总线(即,控制总线154与控制总线158为同一控制总线),并由此控制总线使能闪存芯片中的所有闪存晶粒。
此外,存储单元测试单元130d会在完成对闪存芯片110的测试后,建立错误列表以记录测试结果。具体来说,当在测试过程中存储单元测试单元130d发现闪存芯片110存有损坏的实体区块时,则存储单元测试单元130d会建立错误列表以记录每一损坏实体区块的相关信息。
图2是根据本发明一范例实施例绘示错误列表的数据结构示意图。
请参照图2,错误列表250包括错误状态区位252与地址字段254。
错误状态区位252用以记录损坏实体区块的错误类型。例如,在本范例实施例中,错误状态区位252会记录此损坏实体区块的异常情况属于写入错误、读取错误或抹除错误。例如,在错误状态区位252中0表示写入错误,1表示读取错误,而2表示抹除错误。地址字段254是用以记录损坏实体区块的地址,例如,地址字段254会包括两个子字段分别地记录此损坏实体区块属于哪个闪存晶粒及哪个实体区块。例如,如图2的范例所示,其中记录2个发生错误的损坏实体区块,第一个错误是写入错误,且此损坏地址在闪存晶粒110-1的第26个实体区块,并且第二个错误是读取错误,且此损坏地址发生在闪存晶粒110-3的第56个实体区块。
值得一提的是,在本发明另一范例实施例中,存储单元测试单元130d除了会将所建立的错误列表250传送给主机系统200的测试应用程序210外,亦会将错误列表250储存在闪存芯片110中未损坏的实体区块内。因此,已测试过之闪存芯片110的相关测试结果可由其他主机系统来读取。例如,当测试工程师使用主机系统200的测试应用程序210完成闪存芯片110的测试后,测试工程师可继续进行其他闪存芯片的测试程序,而其他工程师可于其他主机系统上读取已完成测试之闪存芯片110中所储存之测试结果,进而执行错误分析等后续工作。
此外,在存储单元测试单元130d正对闪存芯片110执行测试的过程中,主机系统200的测试应用程序210可持续地轮询目前的测试状况。例如,测试应用程序210可在测试过程中以使用相关指令(例如,制造商指令(vendor command))向存储单元测试单元130d下达闪存测试回报请求,以请求回报目前的测试状态,由此可由测试者自行决定是否停止测试。
例如,当存储单元测试单元130d从主机系统200的测试应用程序210中接收到闪存测试回报请求时,存储单元测试单元130d会动态地传送测试状态信息给主机系统200的测试应用程序210。由此,测试人员可依据目前的测试状态决定是否停止测试。特别是,在测试应用程序210下达闪存测试回报请求以请求回报目前的测试状态的同时,闪存控制器130的存储单元测试单元130d可继续其对实体区块所进行的测试,而无需为了响应测试状态而暂停测试。
图3是根据本发明一范例实施例绘示测试状态信息的数据结构示意图。
请参照图3,测试状态信息350包括目前状态区位352与错误数字段354。
目前状态区位352是记录每一闪存晶粒的测试进度,例如目前状态区位352会记录已完成测试或目前测试到哪个实体区块,例如,在目前状态区位352中0表示已完成,并且当目前状态区位352为非0时表示正进行某个实体区块的测试。错误数字段354记录每一闪存晶粒中损坏实体区块的数目。例如,如图3的范例所示,闪存晶粒110-1已完成测试,且其中损坏实体区块的数目为0;闪存晶粒110-2目前测试第1020个实体区块,且其中损坏实体区块的数目为1;闪存晶粒110-3已完成测试,且其中损坏实体区块的数目为1;闪存晶粒110-4目前测试第1021个实体区块,且其中损坏实体区块的数目为0。
在本范例实施例中,存储单元测试单元130d是以一韧体形式设置在控制器130中,例如以程序语言撰写相关机械指令并且储存于程序内存(例如,只读存储器(Read Only Memory,ROM))来实作存储单元测试单元130d。当闪存储存系统100从主机系统200的测试应用程序210中接收到闪存测试请求时,存储单元测试单元130d的多个机器指令会由微处理器单元130a来执行,以对闪存芯片110进行测试。此外,在本发明另一实施例中,存储单元测试单元130d亦可以一硬件形式设置在控制器130中。
此外,虽未绘示于本范例实施例,但闪存控制器130可更包括缓冲存储器、电源管理单元模块等用于控制闪存控制器的一般功能组件。
图4是根据本发明一范例实施例绘示闪存测试方法的流程图。
请参照图4,在测试程序400中,首先由主机系统200的测试应用程序210向闪存控制器130发送闪存测试请求(S401)。
接着,当闪存控制器130接收到测试请求时,由闪存控制器130在与其连接的每一闪存晶粒的每一实体区块中写入一测试数据(S403)。例如,在本范例实施例中,闪存控制器130会经过所有控制总线同时使能所有闪存晶粒,并以广播方式同步地在所有闪存晶粒中写入测试数据。在此所谓广播方式是指透过数据总线152与数据总线156将数据同时写入至所有的闪存晶粒中。值得一提的是,在本发明另一范例实施例中,闪存储存系统100亦可仅配置单一数据总线(即,数据总线152与数据总线156为同一数据总线),并由此数据总线将数据写入至所有的闪存晶粒中。
之后,在步骤S405中会从闪存晶粒的实体区块中读取此测试数据来判断实体区块是否为损坏实体区块。例如,在步骤S403中,当写入测试数据至实体区块时,可依据此所写入的测试数据产生错误检查与校正码,并将所产生的错误检查与校正码写入至实体区块中。之后,在步骤S405中可读取在写入运作中所写入的错误检查与校正码并依据所读取的错误检查与校正码来判断实体区块是否发生写入、读取或抹除错误。
倘若在步骤S405中判断有损坏实体区块时,则在步骤S407中会在错误列表(例如,错误列表250)中记录损坏实体区块的相关信息。
然后,在步骤S409中会判断是否从测试应用程序210中接收到闪存测试回报请求。倘若在步骤S409中接收到闪存测试回报请求时,则在步骤S411中会建立测试状态信息(例如,测试状态信息350)并且将此测试状态信息传送给测试应用程序210。
此外,在步骤S413中会判断是否从测试应用程序210中接收到停止测试请求。倘若在步骤S413中接收到停止测试请求时,则将错误列表储存在闪存芯片中(S415)并结束测试程序400。
此外,在步骤S417中会判断是否仍有实体区块未完成测试,倘若仍有实体区块未完成测试时,则返回步骤S405,若已完成所有闪存晶粒的测试时,则会执行步骤S415并结束测试程序400。
综上所述,本发明由闪存控制器依据主机系统的指示来对闪存芯片来执行测试程序,因此可由闪存控制器对实体区块直接进行测试,而确保所有实体区块都会被执行测试。此外,本发明由闪存控制器来执行测试程序,因此可同时使能所有闪存晶粒,对其进行广播式写入,因此可有效地缩短测试时间。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案而非限制。尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者替换不脱离本发明技术方案的精神和范围。
Claims (18)
1.一种具闪存测试功能的闪存控制器,包括:
一微处理器单元;
一闪存接口单元,连接到该微处理器单元,用以连接多个闪存晶粒且每一闪存晶粒包括多个实体区块;
一主机接口单元,连接到该微处理器单元,用以连接一主机系统;以及
一存储单元测试单元,连接到该微处理器单元,该存储单元测试单元同时地使能每一所述闪存晶粒并以一广播方式在每一所述闪存晶粒中同时写入一测试数据,
其中该存储单元测试单元执行一测试以从每一所述实体区块中读取该测试数据来判断每一所述实体区块是否为一损坏实体区块,
其中该存储单元测试单元在执行该测试的过程中从该主机系统接收一闪存测试回报请求且动态地传送一测试状态信息给该主机系统以回应该闪存测试回报请求,
其中该测试状态信息包括:一目前状态区位,记录每一所述闪存晶粒的测试进度;以及一错误数字段,记录每一所述闪存晶粒中该损坏实体区块的数目。
2.如权利要求1所述的具闪存测试功能的闪存控制器,更包括一错误检查与校正单元,用以根据该测试数据产生一错误检查与校正码,并且依据该错误检查与校正码对所读取的该测试数据执行一检查与校正;
其中,该存储单元测试单元根据该检查与校正的结果判断每一所述实体区块是否为该损坏实体区块。
3.如权利要求1所述的具闪存测试功能的闪存控制器,其中该存储单元测试单元根据每一所述闪存晶粒的一识别码(ID)产生欲写入的多个实体地址,并依据所述实体地址将该测试数据写入至所述实体区块中。
4.如权利要求1所述的具闪存测试功能的闪存控制器,其中该存储单元测试单元建立一错误列表,用以记录判断为该损坏实体区块的实体区块的相关信息。
5.如权利要求4所述的具闪存测试功能的闪存控制器,其中该错误列表包括:
一错误状态区位,记录判断为该损坏实体区块的实体区块的错误类型;以及
一地址字段,记录判断为该损坏实体区块的实体区块的地址。
6.如权利要求4所述的具闪存测试功能的闪存控制器,其中该存储单元测试单元将该错误列表储存在所述实体区块的其中之一中。
7.一种闪存测试方法,用以测试多个闪存晶粒,其中每一所述闪存晶粒具有多个实体区块,该闪存测试方法包括:
使用一主机系统向一闪存控制器发送一闪存测试请求,其中所述闪存晶粒连接到该闪存控制器;
由该闪存控制器同时地使能每一所述闪存晶粒并以一广播方式在每一所述闪存晶粒的每一实体区块中同时写入一测试数据,并且由该闪存控制器执行一测试以从每一实体区块中读取该测试数据来判断每一所述实体区块是否为一损坏实体区块;以及
在执行该测试的过程中使用该主机系统向该闪存控制器发送一闪存测试回报请求,并且由该闪存控制器动态地建立与传送一测试状态信息给该主机系统以回应该闪存测试回报请求,
其中建立该测试状态信息的步骤包括:记录每一所述闪存晶粒的目前测试进度;以及记录每一所述闪存晶粒中该损坏实体区块的数目。
8.如权利要求7所述的闪存测试方法,更包括由该闪存控制器建立一错误列表,以记录判断为该损坏实体区块的实体区块的相关信息。
9.如权利要求7所述的闪存测试方法,其中在每一所述闪存晶粒的每一实体区块中同时写入该测试数据与读取该测试数据来判断每一所述实体区块是否为该损坏实体区块的步骤包括:
根据该测试资料产生一错误检查与校正码;
依据该错误检查与校正码对所读取的该测试数据执行一检查与校正;以及
根据该检查与校正的结果判断每一所述实体区块是否为该损坏实体区块。
10.如权利要求7所述的闪存测试方法,其中以该广播方式在每一所述闪存晶粒的每一所述实体区块中同时写入该测试数据的步骤包括:
根据每一所述闪存晶粒的一识别码(ID)产生欲写入的多个实体地址,并依据所述实体地址将该测试数据写入至所述实体区块中。
11.如权利要求8所述的闪存测试方法,其中建立该错误列表的步骤包括:
记录判断为该损坏实体区块的实体区块的错误类型;以及
记录判断为该损坏实体区块的实体区块的地址。
12.如权利要求8所述的闪存测试方法,更包括将该错误列表储存在所述实体区块的任一之中。
13.一种具闪存测试功能的闪存储存系统,包括:
一连接器,用以连接一主机系统;
多个闪存晶粒,每一所述闪存晶粒包括多个实体区块;以及一闪存控制器,连接到该连接器与所述闪存晶粒,
其中,该闪存控制器用以同时地使能每一所述闪存晶粒,并以一广播方式在每一所述闪存晶粒的每一实体区块中同时写入一测试数据,
其中,该闪存控制器会执行一测试以从每一所述实体区块中读取该测试数据来判断每一所述实体区块是否为一损坏实体区块,
其中该闪存控制器在执行该测试的过程中从该主机系统接收一闪存测试回报请求且动态地传送一测试状态信息给该主机系统以回应该闪存测试回报请求,
其中该测试状态信息包括:一目前状态区位,记录每一所述闪存晶粒的测试进度;以及一错误数字段,记录每一所述闪存晶粒中该损坏实体区块的数目。
14.如权利要求13所述的具闪存测试功能的闪存储存系统,其中,该闪存控制器用以根据该测试数据产生一错误检查与校正码,依据该错误检查与校正码对所读取的该测试数据执行一检查与校正,并且根据该检查与校正的结果判断每一所述实体区块是否为该损坏实体区块。
15.如权利要求13所述的具闪存测试功能的闪存储存系统,其中该闪存控制器根据每一所述闪存晶粒的一识别码(ID)产生欲写入的多个实体地址,并依据所述实体地址将该测试数据写入至所述实体区块中。
16.如权利要求13具闪存测试功能的闪存储存系统,其中该闪存控制器建立一错误列表,用以记录判断为该损坏实体区块的实体区块的相关信息。
17.如权利要求16所述的具闪存测试功能的闪存储存系统,其中该错误列表包括:
一错误状态区位,记录判断为该损坏实体区块的实体区块的错误类型;以及
一地址字段,记录判断为该损坏实体区块的实体区块的地址。
18.如权利要求16所述的具闪存测试功能的闪存储存系统,其中该闪存控制器将该错误列表储存在所述实体区块的任一之中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910129267.XA CN101853692B (zh) | 2009-04-03 | 2009-04-03 | 具闪存测试功能的控制器及其储存系统与测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910129267.XA CN101853692B (zh) | 2009-04-03 | 2009-04-03 | 具闪存测试功能的控制器及其储存系统与测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101853692A CN101853692A (zh) | 2010-10-06 |
CN101853692B true CN101853692B (zh) | 2014-06-18 |
Family
ID=42805128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910129267.XA Active CN101853692B (zh) | 2009-04-03 | 2009-04-03 | 具闪存测试功能的控制器及其储存系统与测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101853692B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8422303B2 (en) * | 2010-12-22 | 2013-04-16 | HGST Netherlands B.V. | Early degradation detection in flash memory using test cells |
CN102736985B (zh) * | 2011-03-30 | 2015-10-14 | 群联电子股份有限公司 | 数据合并方法、控制器与储存装置 |
TWI502600B (zh) * | 2012-09-28 | 2015-10-01 | Leadconn Technology Co Ltd | 記憶體識別碼修正裝置 |
US9032264B2 (en) * | 2013-03-21 | 2015-05-12 | Kabushiki Kaisha Toshiba | Test method for nonvolatile memory |
KR101522293B1 (ko) * | 2013-08-29 | 2015-05-21 | 주식회사 유니테스트 | 복수개의 스토리지를 개별 제어 가능한 테스트 장치 |
CN106611608B (zh) * | 2015-10-23 | 2019-01-15 | 群联电子股份有限公司 | 存储器控制电路单元、存储器储存装置与数据传输方法 |
CN108242252B (zh) * | 2016-12-27 | 2023-10-10 | 兆易创新科技集团股份有限公司 | 一种nand闪存芯片的测试样本 |
CN109240904B (zh) * | 2017-07-10 | 2022-07-12 | 佛山市顺德区顺达电脑厂有限公司 | Fru写入测试系统及方法 |
CN107729271B (zh) * | 2017-10-26 | 2020-06-30 | 中国电子科技集团公司第五十八研究所 | 具备自测试功能的双总线型e-flash控制电路 |
CN111459745A (zh) * | 2019-01-21 | 2020-07-28 | 美超微电脑股份有限公司 | 系统主机储存设备连接端口测试方法 |
CN110610740A (zh) * | 2019-09-29 | 2019-12-24 | 深圳大普微电子科技有限公司 | 一种测试单元、方法、系统及控制器、存储设备 |
TWI731775B (zh) * | 2020-08-24 | 2021-06-21 | 點序科技股份有限公司 | 快閃記憶體的記憶體控制器及其控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1957337A (zh) * | 2004-05-19 | 2007-05-02 | 松下电器产业株式会社 | 存储器控制电路、非易失性存储装置及存储器控制方法 |
CN101147206A (zh) * | 2005-12-08 | 2008-03-19 | 爱德万测试株式会社 | 测试装置和测试方法 |
-
2009
- 2009-04-03 CN CN200910129267.XA patent/CN101853692B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1957337A (zh) * | 2004-05-19 | 2007-05-02 | 松下电器产业株式会社 | 存储器控制电路、非易失性存储装置及存储器控制方法 |
CN101147206A (zh) * | 2005-12-08 | 2008-03-19 | 爱德万测试株式会社 | 测试装置和测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101853692A (zh) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853692B (zh) | 具闪存测试功能的控制器及其储存系统与测试方法 | |
US8086919B2 (en) | Controller having flash memory testing functions, and storage system and testing method thereof | |
US9043536B2 (en) | Method of recording mapping information, and memory controller and memory storage apparatus using the same | |
US8892814B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
US10372619B2 (en) | Data backup method, data recovery method and storage controller | |
CN110335635B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
US10860247B2 (en) | Data writing method and storage controller | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
US8667348B2 (en) | Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same | |
US9442834B2 (en) | Data management method, memory controller and memory storage device | |
US9213631B2 (en) | Data processing method, and memory controller and memory storage device using the same | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
US9032135B2 (en) | Data protecting method, memory controller and memory storage device using the same | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
CN102902626B (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN106814968B (zh) | 存储器管理方法与系统及其存储器存储装置 | |
CN103389941A (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
CN104765625A (zh) | 休眠模式启动方法、存储器控制电路单元及存储装置 | |
CN108108118B (zh) | 数据写入方法以及存储控制器 | |
US8595418B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
CN112988069B (zh) | 存储器管理方法、存储器存储装置及存储器控制器 | |
CN112347524B (zh) | 闪存编程方法、装置及电子设备 | |
US10922023B2 (en) | Method for accessing code SRAM and electronic device |
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 |