CN1933027A - 一种反及型闪存的识别方法与*** - Google Patents
一种反及型闪存的识别方法与*** Download PDFInfo
- Publication number
- CN1933027A CN1933027A CNA2006101077148A CN200610107714A CN1933027A CN 1933027 A CN1933027 A CN 1933027A CN A2006101077148 A CNA2006101077148 A CN A2006101077148A CN 200610107714 A CN200610107714 A CN 200610107714A CN 1933027 A CN1933027 A CN 1933027A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- type flash
- paging
- reaches
- type
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种不需要读取装置识别表的反及型闪存的识别方法与***。该方法包含:执行一识别流程以将一预定区块中第一个分页设定为一目标区域;使用一测试组合表单来读取该目标区域;通过比较该目标区域所读回的信息与该测试组合表单,来评量出一结果;尝试采用该测试组合表单中所列的所有测试组合,直到产生一正确结果而可辨识出该反及型闪存。当没有任一测试组合符合时,则告知错误。
Description
技术领域
本发明涉及反及型闪存的识别,特别是有关于一种不需读取反及型闪存的装置识别码即可识别反及型闪存的方法与***。
背景技术
在非易失型闪存的市场中有两大主流,分别称为反或型闪存(NOR-flashmemory)与反及型闪存(NAND-Flash memory),反或型闪存首先于1988年间问世,在当时,反或型闪存彻底革新了内存的市场。在早年,市场是由EPROM与EEPROM所占领,一般来说,反或型闪存较反及型闪存提供更高的读取效能,因此,反或型闪存通常会被使用于如程序代码储存或执行等应用,而反或型闪存则常应用于消费性电子装置,例如:低阶的行动电话、嵌入式应用装置以及简易的消费性电子产品。
东芝公司(Toshiba)在1989年间提出了反及型闪存的架构。反及型闪存适用于许多型式的档案储存,目前在一些很常见的消费性电子装置中,也常使用反及型闪存。在消费性电子产品市场中,反及型闪存常用于MP3播放器、USB闪存、数字相机存储卡以及许多其它装置中。反及型闪存是设计为有高容量、低成本以及快速的反应速率。此外,反及型闪存另提供多种优点,例如反及型闪存通常比反或型闪存便宜、反及型闪存具有非常高的存储单元密度(celldensity)、反及型闪存容量、反及型闪存的写入速率与清除速率较反或型闪存来的高,诸如此类。因此,很明显地,反及型闪存明显地适用于上述各种消费性电子装置的数据储存。
反及型闪存的存取方法与其它一般的内存装置不同。反及型闪存须在***确实了解反及型闪存的组态下才能进一步读取与写入数据。一般而言,反及型闪存的结构为具有多个区块的一内存阵列。举例来说,一般称为小容量反及型闪存的可能容量为:8MB、16MB、32MB或64MB,而称为大容量反及型闪存的可能容量为:128MB、256MB、512MB或1GB。对小容量反及型闪存而言,每个区块皆包含32个内存分页(page),而每一内存分页则划分为一个包含512字节的数据区(data area)以及一个包含16字节的备用区(spare area);另一方面,对大容量反及型闪存而言,每个区块皆包含64个内存分页,而每一内存分页则划分为一个包含2048字节的数据区以及一个包含64字节的备用区。由于小容量反及型闪存的组态与大容量反及型闪存的组态互异,因此用来存取储存于小容量反及型闪存与大容量反及型闪存的数据的参数也不尽相同,也就是说,如果一***无法正确地辨别出所安装的反及型闪存,则其必无法正确地存取反及型闪存中的数据。
如众所周知的,如欲使用一反及型闪存,一***必须要保持一固定的装置识别表(ID table)以便存取反及型闪存,该装置识别表是用以辅助识别反及型闪存的类别,该装置识别表包含了预定的数据,其通常包括下列信息:全部容量大小、全部区块大小、内存分页大小(page size)、输入/输出接口位数目(I/O interface bits)、地址字节数目(address bytes)以及错误更正(ECC)的型式(例如:1位或4位)等。如上所述,要从反及型闪存读取或写入数据必须要了解实际的反及型闪存组态,所以便会需要装置识别表。
在传统的***中,当使用反及型闪存时会使用该固定的装置识别表以便识别出反及型闪存的型式,然而很不幸地,此一传统的反及型闪存识别方法可能并非最有效率的识别方法。第一个缺点是,对于使用新厂商或现有厂商所推出的具有新容量及新规格的新型反及型闪存的装置而言,此种传统的反及型闪存识别方法需要另行维护该固定的装置识别表,以使其储存现今所有反及型闪存的识别信息(identification information),然而,若要确保该装置识别表具有最新的信息则须耗费不小的时间与精力。而随着愈来愈多厂商生产新型的反及型闪存产品,传统的反及型闪存识别方法所具有的第二个缺点也就呼之欲出了,那就是所采用的固定装置识别表的内容大小必须一直增加而愈来愈大,以便包含一直新增的反及型闪存的信息,而数据量愈来愈大的装置识别表无疑地将占用愈来愈大的内存空间,因此必须使用较大的储存装置来储存固定的装置识别表。在公知方法中,该固定的装置识别表是储存于开机码(BOOT code)或芯片上的只读码(on-chip ROM code)中,而将该固定的装置识别表存于开机码或芯片上的只读码中原已是耗费高成本的作法,而若该固定装置识别表的数据量又愈来愈大,则问题将更加严重。
由前述的识别反及型闪存所产生的问题来看,真的很需要一种不需读取或存取上述公知固定装置识别表的新且有效率的反及型闪存识别方法与装置。
发明内容
本发明的目的之一在于提供一种低成本的反及型闪存的识别方法与***,其不需读取或存取一固定装置识别表而仍能识别反及型闪存的类型,以解决上述问题。
本发明提供一种反及型闪存的识别方法,其包含:将具有一预设数据型样的一标头储存至一反及型闪存的一内存分页;使用至少一测试属性来读取储存于该反及型闪存的内容以输出一结果;确认该结果是否符合该预设数据型样与该测试属性;以及若该结果符合该预设数据型样与该测试属性,则使用该测试属性以识别该反及型闪存。
本发明另提供一种反及型闪存的识别方法,其包含:将一反及型闪存的一内存分页填满该反及型闪存的识别信息;从该内存分页中一测试内存分页范围外读取至少一数据段;确认该数据段是否包含该反及型闪存的识别信息;及若该数据段包含该反及型闪存的识别信息,则根据该测试内存分页范围来决定该反及型闪存的一内存分页大小。
本发明另提供一种反及型闪存的识别方法,其包含:将一反及型闪存的一内存分页填满该反及型闪存的识别信息,其中该识别数据包括一预设数据型样;使用包括输入/输出接口位数目与地址字节数目的设定值在内的多个测试属性来以读取该反及型闪存的内容,从而输出一结果,以及从该内存分页中一测试内存分面范围外读取至少一数据段;确认该结果是否符合该预设数据型样与该多个测试属性,以及确认该数据段是否包含该反及型闪存的识别信息;及若该结果符合该预设数据型样与该多个测试属性,且该数据段包含该反及型闪存的识别信息,则根据该测试内存分页范围来决定该反及型闪存的一内存分页大小,以及使用该多个测试属性与该内存分页大小来识别该反及型闪存。
本发明另提供一种可识别反及型闪存的***,其包含一反及型闪存与一控制器。该反及型闪存具有包含一预设数据型样的一标头,且该标头储存于该反及型闪存的一内存分页中。该控制器耦接于该反及型闪存,且该控制器包含:一存取单元,用来使用至少一测试属性以读取该反及型闪存的内容并据以输出一结果;以及一确认单元,耦接于该存取单元,用来确认该结果是否符合该预设数据型样与该测试属性;其中若该结果符合该预设数据型样与该测试属性,则该确认单元使用该测试属性来识别该反及型闪存。
本发明另提供一种可识别反及型闪存的***,其包含:一反及型闪存与一控制器。该反及型闪存具有填满该反及型闪存的识别信息的一内存分页。该控制器耦接于该反及型闪存,且该控制器包含:一存取单元,用来由该内存分页中一测试内存分页范围外读取至少一数据段;以及一确认单元,耦接于该存取单元,用来确认该数据段是否包含该反及型闪存的识别信息;其中若该数据段包含该反及型闪存的识别信息,则该确认单元根据该测试内存分页范围决定该反及型闪存的一内存分页大小。
本发明另提供一种可用来执行反及型闪存的识别的***,其包含:一反及型闪存与一控制器。该反及型闪存具有填满反及型闪存的识别信息的一页面,其中该识别信息包含一预设态样。该控制器耦接于于该反及型闪存,且该控制器包含:一存取单元,用来使用包括输入/输出接口位数目与地址字节数目的设定在内的多个测试属性,以读取该反及型闪存的内容从而输出一结果,及从该页面中一测试页面范围外读取至少一数据段;以及一确认单元,耦接于该存取单元,用来确认该结果是否符合该第一预设态样与该测试属性,以及确认该数据段是否包含该反及型闪存的识别信息;其中若该确认单元发现该结果符合该预设的态样与该测试属性,且该数据段包含该反及型闪存的识别信息,则该确认单元根据该测试页面范围决定该反及型闪存的一页面大小,以及使用该测试属性与该页面大小来识别该反及型闪存。
与公知技术相比,本发明所提出的反及型闪存的识别方法与***不需采用任何传统的装置识别表即可识别一反及型闪存。存取单元利用多组反及型闪存的重测组合以检查反及型闪存的组态,如果以某一组重测组合检查时造成反及型闪存的识别操作失败,则再选择另一组未经测试的重测组合。确认单元将于采用某组重测组合而使得反及型闪存的识别成功时,发现其为正确的重测组合;或是于试尽各组重测组合而仍无法成功识别时,宣告反及型闪存的识别操作失败。由于在公知技术中,反及型闪存所采用的装置识别表很容易过时而无效,所以本发明所提出的反及型闪存的识别方法与***便可使得***不再需要储存与维持大数据量的装置识别表于非易失性内存(例如用来储存开机码的只读存储器)。本发明所提出的反及型闪存识别方案很易于实现,并且可大幅降低制造成本。
附图说明
图1为本发明可识别反及型闪存的***的示意图。
图2为本发明第一实施例的不需读取装置识别表的反及型闪存识别方法的流程图。
图3为储存于反及型闪存中的识别信息的示意图。
图4为图1所示的存取单元所使用的重测组合表的第一实施例的示意图。
图5为图1所示的存取单元所使用的重测组合表的第二实施例的示意图。
图6a与图6b为本发明第二实施例的不需读取装置识别表的反及型闪存识别方法的流程图。
100 ***
102 反及型闪存
104 控制器
106 存取单元
108 确认单元
具体实施方式
请注意,本发明是能检测用于开机的反及型闪存或用于数据储存的反及型闪存。而为将本发明方法与***应用于一开机***,反及型闪存需嵌入(embed)或耦接至该开机***中一开机只读存储器(boot ROM)或一共同合作的储存媒体以协助储存所需的一些开机码。举例来说,由于反及型闪存并非可在内部直接执行数据的XIP(execution in place)装置,相反地,它需要共同合作的储存媒体,例如像是同步动态随机存取内存(synchronous dynamic radom accessmemory,SDRAM),以帮助执行所储存的数据。在储存媒体由反及型闪存加载或读取数据以进一步执行之前,首先便需要识别所使用的反及型内存的种类。以下所示的例子是用来说明本发明的各种不需读取反及型闪存的装置识别表即可识别反及型闪存的不同实施例,而非用以局限本发明的范围。
请参阅图1,图1为本发明可识别反及型闪存的***100的示意图。***100包含一反及型闪存102与一控制器104耦接于反及型闪存102,在此实施例中,控制器102具有一存取单元106,用来存取储存于反及型闪存102中的数据;以及一确认单元108,用来确认存取结果以识别出反及型闪存102的组态。如熟悉此领域者所公知,反及型闪存102包括多个区块,每个区块再包含多个内存分页,为求简明起见,图1中只画出一个区块BK0,且区块BK0具有多个内存分页P0-Pm,而各内存分页皆包含多个字节B0-Bn。本发明的识别反及型闪存102的组态的操作系详述如后。
请参阅图2,图2为本发明第一实施例的不需读取装置识别表的反及型闪存识别方法的流程图。第一实施例的操作具有下列步骤:
步骤200:开始。
步骤202:将具有一个或多个识别标头(Identification Header,IH)存入一反及型闪存的一内存分页,其中每一识别标头包含至少一识别码(ID),且各个识别标头是具有一预设数据型样(predetermined pattern)。
步骤204:由可供选择的重新测试组合中选取一尚未测试过的重测组合,并使用该被选取的重测组合所提供的反及型闪存的存取信息来读取该反及型闪存中该内存分页的内容。
步骤206:由该内存分页内容中撷取出预先存好的识别标头。
步骤216:确认在所撷取的识别标头中所记录的识别码是否符合该预设数据型样。若否,执行步骤218,若符合,则执行步骤220。
步骤218:以权重N0来增加一错误计数值。
步骤220:进一步检查所撷取的识别标头以确认地址位数目、接口字节数目与内存分页大小是否符合所选择的重测组合;若否,则执行步骤222,其余情况则执行步骤224。
步骤222:以权重N1来增加该错误计数值,其中N1不必一定要等于N0。N0与N1皆用于辅助识别是否存在装置缺陷(device defect)或错误的测试属性(test attribute)。
步骤224:确认识别标头的所有复制标头(replication)是否皆检查过。若否,则以下一个识别标头来继续执行步骤206;若为其它情况则执行步骤226。
步骤226:确认错误计数值是否未达一预设临界值。若是,则执行步骤232;若为其它情况则执行步骤228。
步骤228:检查是否所有的重测组合皆测试过。若是,则执行步骤230;若否,则执行步骤204。
步骤230:反及型闪存侦测操作未成功,接着执行步骤23234。
步骤232:反及型闪存的识别检测操作成功。
步骤234:结束。
以下将举一例以进一步说明上述本发明第一实施例的不需读取装置识别表来识别反及型闪存的方法。反及型闪存的识别需要将具有预设数据型样的一或多个标头写入至反及型闪存102(步骤202)。请了解,这些重复的标头是为了减少有缺陷的数据位的增加。举例来说,在制造过程中,标头皆预先记录在反及型闪存102中以使得安装了反及型闪存102的***100可以进行后续步骤来识别出反及型闪存102。请参阅图3,图3是为储存于反及型闪存102中的识别信息的示意图。在此实施例中,各标头是填入第一区块(BK0)的第一内存分页(P0),假设反及型闪存102为一小容量反及型闪存,其数据区有512字节B0-B511,而各标头IH1...IH16则有32字节,各自包含反及型闪存的识别信息。请注意,填在内存分页P0中的各标头IH1...IH16包含了相同的反及型闪存的识别信息,其具有以美国信息交换标准码(American Standard Code for InformationInterchange,ASCII)所编码的预设数据型样识别码以判断回读(read-back)数据的正确度。在最佳的操作状况下,会使用两组不同的预设数据型样识别码,例如一主要识别码“IDENTITY”以及一次要识别码“NADNINFO”。
接下来,控制器104的存取单元106由可供选取的重测组合中选取一尚未测试过的重测组合,并利用该重测组合所提供的反及型闪存的存取信息以读取内存分页P0的内容,亦即该预设数据型样识别码。请参阅图4,图4为图1所示的存取单元106所使用的重测组合表的第一实施例的示意图。每一重测组合皆包含两个测试属性:接口位数目与地址字节数目,其中接口位数目定义了在反及型闪存102与控制器104间,每个周期所传输的位数目;而地址字节数目则定义了用来记载行地址(column address)与列地址(row address)的字节的个数。在此第一实施例中,内存分页大小的信息是预先记录于标头IH1中,其可于反及型闪存102的接口位数目与地址字节数目辨识出来后而被正确获知。存取单元106利用反及型闪存的测试属性来存取反及型闪存102,举例来说,存取单元106可存取第一区块BK0的第一内存分页P0以及在其上进行数据读取的动作从而产生一结果。例如该结果可为所读取的内容。因此,存取单元106从内存分页内容中撷取出识别标头,每个识别标头都包含一识别码(步骤206)。根据图4中的表格所定义的测试优先顺位,存取单元106使用设定值为16的接口位数目与设定值为3的地址字节数目,从标头IH1中的预设数据型样识别码开始存取,当从反及型闪存102中撷取出内容后,确认单元108开始确认所撷取的内容是否具有有效的预设数据型样识别码(步骤216),并确认接口位数目、内存分页大小与地址字节数目是否符合存取单元106所应用的测试组合,也就是说,确认单元108会确认是否正确地撷取了ASCII码“IDENTITY”。
在某些实施例中,多个复制标头最初会先填满一内存分页,在这种情形下,确认程序将持续执行,直到所有的复制标头皆被确认过为止(步骤224)。在某些实施例中,错误计数值也用于协助评估确认程序的准确度,如图2所示,若识别码不符合该预设数据型样,则确认单元108会将错误计数值增加N0(步骤218)。若属性不符合尚未测试的重测组合,则确认单元108会将错误计数值增加N1(步骤222),此外,在步骤226中,确认单元108会进一步确认最后的错误计数值(N0+N1)是否低于一预设临界值来决定确认程序的结果是否为可接受的。
如果所撷取的内容包括了有效的预设数据型样识别码,并且接口位数目、内存分面大小与地址字节数目皆符合存取单元106所采用的测试组合,则确认单元108即视所撷取的内容相符于预设数据型样识别码(也就是说,彼此相同的),然后再利用测试属性来设定存取单元106用来存取储存于反及型闪存102中数据所需的实际属性(步骤232)。另一方面,如果所撷取的内容不包含有效的预设数据型样识别码,则确认单元108即会通知存取单元106,而存取单元106会由图4的表格中所列的可供选择且尚未测试过的重测组合中,再另选择一重测组合,并使用其选出的重测组合以再次撷取预设数据型样识别码(步骤204)。请注意,如果图4中所有重测组合均已测试过了而仍未发现任何有效的预设数据型样识别码,那么反及型闪存的识别操作即宣告失败(步骤230)。例如,当预先记录于反及型闪存102中的标头含有控制器104所不支持且错误的数据格式或是反及型闪存102本身内部具有缺陷,将会使得反及型闪存的标头具有不正确的预设数据型样识别码。
如上所述,在所撷取到的内容相符于包含于预先记录的标头IH1中的预设数据型样识别码前,存取单元106会依序采用各个重测组合以不断测试反及型闪存102的组态,因此,本发明反及型闪存的识别方法便不需如公知技术一般地依靠读取闪存的装置识别表,便能够辨识出用来存取反及型闪存102所需的属性。请注意,反及型闪存的任何属性均可用来作为测试属性,且测试属性可以用任意组合方式形成所要的重测组合,而上述所举例的特定测试属性仅为说明之用,并非用来作为本发明的限制。
请参阅图5,图5为图1所示的存取单元106所使用的重测组合表的第二实施例的示意图。每一重测组合均包含三个测试属性:接口位数目、内存分页大小以及地址字节数目;其中接口位数目定义了在反及型闪存102与控制器104间的每个周期所传输的位数目;内存分页大小定义了每个区块的位数目,一般而言,小容量的反及型闪存的内存分页大小为512位,而大容量的反及型闪存的内存分页大小则为2048位;而地址字节目则定义了用来记载行地址与列地址的字节数目。在此第二实施例中,内存分页大小的信息并非预先记录于标头IH1中,因此,内存分页大小的属性必须与其它属性(亦即接口位数目与地址字节数目)一起进行确认。
请参阅图6a与图6b,图6a与图6b为本发明第二实施例的不需读取装置识别表的反及型闪存识别方法的流程图。第二实施例的操作具有下列步骤:
步骤300:开始。
步骤302:将一个或多个识别标头存入一反及型闪存中的一内存分页,该多个识别标头可能包含一识别标头的多个复制标头,而每一识别标头包括至少具有一预设数据型样。
步骤304:由可供选择的重测组合中选取一尚未测试过的重测组合,以及使用所选取的重测组合所提供的反及型闪存的存取信息来读取该反及型闪存的该内存分页的内容。
步骤306:由内存分页内容中撷取出预先存好的识别标头。
步骤322:确认在所撷取的识别标头中记录的识别码是否符合该预设数据型样。若否,则执行步骤324;若符合则执行步骤326。
步骤324:以权重N0来增加一错误计数值。
步骤326:进一步检查所撷取的识别标头以确认地址字节数目、接口位数目与内存分页大小是否符合所选取的重测组合。若否,则执行步骤328;其余情况则执行步骤330。
步骤328:以权重N1来增加该错误计数值,其中N1不一定要等于N0。N0与N1皆用于辅助识别是否存在装置缺陷或错误的测试属性。
步骤330:确认是否全部的复制标头都检查过。若否,则以下一个识别标头来继续执行步骤306;若为其它情况则执行步骤332。
步骤332:确认错误计数值是否未达一预设临界值。若是,则执行步骤338;若为其它情况则执行步骤334。
步骤334:检查是否所有重测组合皆测试过。若是,则执行步骤336;若否则执行步骤304。
步骤336:反及型闪存的识别侦测操作未成功,接着执行步骤348。
步骤338:由一测试内存分页范围(test page boundary)外撷取一数据段(data segment)。
步骤340:确认于测试内存分页范围外所撷取的数据段是否包含有效的反及型闪存的识别信息。若是,则执行步骤342;否则,执行步骤344。
步骤342:判断内存分页大小超出测试内存分页范围,接着执行步骤346。
步骤344:判断内存分页大小未超出测试内存分页范围,接着执行步骤346。
步骤346:反及型闪存的识别侦测操作成功。
步骤348:结束。
第二实施例的流程绝大部份与第一实施例相同,而此二实施例在操作程序中的相异处在于判断反及型闪存102的内存分页大小的步骤(步骤338、340、342与344)。在这些相异处以外的其它步骤,则由于皆已于前描述中详加说明,故此处不再赘述。
通常在一开始时必须先将多个标头填进一内存分页。对于内存分页面大小的检测而言,控制器104的存取单元106首先由一测试内存分页范围外撷取一数据段(步骤338),例如,假设一小容量反及型闪存且其标头大小为32字节,则测试内存分页范围是设于内存分页P0的第512字节B511;也就是说,在内存分页P0,非由字节B0-B511所读取的数据将被视为由测试内存分页范围外所撷取的数据。根据测试内存分页范围,第二实施例中的存取单元106将尝试撷取内存分页P0的第513-544字节以得到储存于测试内存分页范围外的另一标头。请注意,在此时,控制器104对于内存分页P0有多少字节可说是一无所知,因此,确认单元108将接着检查步骤338所撷取的数据段以确认其是否相同于包含有效反及型闪存识别信息的标头(步骤340)。如图3所示,内存分页P0结束于第512字节B511,很明显地,由内存分页P0不存在的字节(例如第513至544字节)所撷取出的数据段包含未知数据,而其绝不可能与标头的内容相同,由此,确认单元108便决定出反及型闪存102的内存分页大小为512字节(小容量反及型闪存)而非2048字节(大容量反及型闪存)(步骤344)。接着,反及型闪存的识别操作成功完成而得知反及型闪存102的实际组态为小容量反及型闪存的组态。
再以大容量反及型闪存为例,其通常具有2048字节的数据区。如上所述,第一区块的第一内存分页填满了多个标头,其中每一标头都具有相同的反及型闪存识别信息,因此,当执行步骤338以由大容量反及型闪存得到上述的测试内存分页范围外的数据段,确认单元108也就确定会由所撷取的数据段中侦测到一有效标头,接着,确认单元108便决定反及型闪存102的内存分页大小为2048字节而非512字节(步骤342)。然后,反及型闪存操作即成功完成而得知反及型闪存102102的实际组态为大容量反及型闪存的组态。
反及型闪存102也有可能具有内部缺陷而无法正确地储存数据,因此,为了能较准确地检测到内存分页大小,由测试内存分页范围外撷取的数据段的数据长度有可能包含不只一个标头;换句话说,在步骤338中,存取单元106试图要从测试内存分页范围外撷取出多个标头,如果确认单元108发现在数据段中共有M个标头具有有效的反及型闪存识别数据,其中M大于一预定临界值,则确认单元108继续在步骤344中指定一较小的数值(例如512字节)给内存分页大小属性;否则,确认单元108接续在步骤342中指定一较大的数值(例如2048字节)给内存分页大小属性。
与公知技术相比,本发明所提出的反及型闪存的识别方法与***不需采用任何传统的装置识别表即可识别一反及型闪存。存取单元利用多组反及型闪存的重测组合以检查反及型闪存的组态,如果以某一组重测组合检查时造成反及型闪存的识别操作失败,则再选择另一组未经测试的重测组合。确认单元将于采用某组重测组合而使得反及型闪存的识别成功时,发现其为正确的重测组合;或是于试尽各组重测组合而仍无法成功识别时,宣告反及型闪存的识别操作失败。由于在公知技术中,反及型闪存所采用的装置识别表很容易过时而无效,所以本发明所提出的反及型闪存的识别方法与***便可使得***不再需要储存与维持大数据量的装置识别表于非易失性内存(例如用来储存开机码的只读存储器)。本发明所提出的反及型闪存识别方案很易于实现,并且可大幅降低制造成本。
上述具体实施方式仅用以说明本发明,而非用以限定本发明。
Claims (29)
1.一种反及型闪存的识别方法,其特征在于,包含:
(a)将具有一预设数据型样的一标头储存至一反及型闪存的一内存分页;
(b)使用至少一测试属性来读取储存于反及型闪存的内容以输出一结果;
(c)确认所述结果是否符合预设数据型样与测试属性;以及
(d)若所述结果符合预设数据型样与测试属性,则使用测试属性以识别所述反及型闪存。
2.如权利要求1所述的方法,其特征在于,内存分页为反及型闪存的一特定区块中第一个页面。
3.如权利要求2所述的方法,其特征在于,特定区块为反及型闪存中第一个区块。
4.如权利要求1所述的方法,其特征在于,预设数据型样是以美国信息交换标准码表示的。
5.如权利要求1所述的方法,其特征在于,测试属性包括输入/输出接口位数目与地址字节数目的设定值;以及步骤(d)另包含:
若所述结果符合预设数据型样与测试属性,则使用测试属性来设定多个实际属性以存取储存于反及型闪存的数据。
6.如权利要求5所述的方法,其特征在于,测试属性包括输入/输出接口位数目、地址字节数目与内存分页大小的设定值;以及步骤(d)另包含:
若所述结果符合预设数据型样与测试属性,则使用测试属性来设定多个实际属性以存取储存于反及型闪存的数据。
7.如权利要求5所述的方法,其特征在于,另提供一提供可供选择的组合的表单,其中步骤(b)另包含:
由可供选择的组合中,选择一组输入/输出接口位数目与地址字节数目的设定值来设定测试属性。
8.如权利要求6所述的方法,其特征在于,另提供一可供选择的组合的表单,其中步骤(b)另包含:
由可供选择的组合中,选择一组输入/输出接口位数目、地址字节数目与内存分页大小的设定值来设定测试属性。
9.如权利要求1所述的方法,其特征在于,另包含:
计算步骤(c)确认所述结果并不符合预设数据型样与测试属性的次数以得到一个错误计数值;以及
判断错误计数值是否低于一预设临界值。
10.如权利要求1所述的方法,其特征在于,另包含:
激活耦接于反及型闪存的一***。
11.如权利要求1所述的方法,其特征在于,反及型闪存是嵌入或耦接于一开机***。
12.如权利要求1所述的方法,其特征在于,反及型闪存是嵌入或耦接于一开机只读存储器。
13.一种反及型闪存的识别方法,其特征在于,包含:
(a)将一反及型闪存的一内存分页填满反及型闪存的识别信息;
(b)从内存分页中一测试内存分页范围外读取至少一数据段;
(c)确认数据段是否包含反及型闪存的识别信息;及
(d)若数据段包含反及型闪存的识别信息,则根据测试内存分页范围来决定该反及型闪存的一内存分页大小。
14.如权利要求13所述的方法,其特征在于,步骤(b)另包含:
从测试内存分页范围外读取N笔数据段,其中N至少为1;
步骤(c)另包含:
确认N笔数据段中每一笔数据段是否皆包含反及型闪存的识别信息;以及
步骤(d)另包含:
若包含反及型闪存的识别信息的数据段的数量达到一预设临界值,则根据测试内存分页范围决定反及型闪存的一内存分页大小。
15.一种反及型闪存的识别方法,其特征在于,包含:
(a)将一反及型闪存的一内存分页填满反及型闪存的识别信息,其中该识别信息包括一预设数据型样;
(b)使用包括输入/输出接口位数目与地址字节数目的设定值在内的多个测试属性来以读取反及型闪存的内容,从而输出一结果,以及从内存分页中一测试内存分面范围外读取至少一数据段;
(c)确认所述结果是否符合预设数据型样与所述的多个测试属性,以及确认数据段是否包含反及型闪存的识别信息;及
(d)若所述结果符合预设数据型样与所述的多个测试属性,且数据段包含反及型闪存的识别信息,则根据测试内存分页范围来决定反及型闪存的一内存分页大小,以及使用所述的多个测试属性与内存分页大小来识别反及型闪存。
16.一种可识别反及型闪存的***,其特征在于,包含:
一反及型闪存,具有包含一预设数据型样的一标头,该标头储存于反及型闪存的一内存分页中;以及
一控制器,耦接于反及型闪存,该控制器包含:一存取单元,用来使用至少一测试属性以读取反及型闪存的内容并据以输出一结果;以及一确认单元,耦接于存取单元,用来确认所述结果是否符合预设数据型样与测试属性;其中若所述结果符合预设数据型样与测试属性,则确认单元使用测试属性来识别反及型闪存。
17.如权利要求16所述的可识别反及型闪存的***,其特征在于,内存分页为反及型闪存的一特定区块中第一个页面。
18.如权利要求17所述的可识别反及型闪存的***,其特征在于,特定区块为反及型闪存中第一个区块。
19.如权利要求16所述的可识别反及型闪存的***,其特征在于,预设数据型样是以美国信息交换标准码表示的。
20.如权利要求16所述的可识别反及型闪存的***,其特征在于,测试属性包括输入/输出接口位数目与地址字节数目的设定值;以及若所述结果符合预设数据型样,则确认单元使用测试属性以设定存取单元用来存取储存于反及型闪存的数据的多个实际属性。
21.如权利要求16所述的可识别反及型闪存的***,其特征在于,测试属性包括输入/输出接口位数目、地址字节数目与内存分页大小的设定值;以及若所述结果符合预设数据型样,则确认单元使用测试属性以设定存取单元用来存取储存于反及型闪存的数据的多个实际属性。
22.如权利要求20所述的可识别反及型闪存的***,其特征在于,具有一提供可供选择的组合的表单,其中存取单元另由可供选择的输入/输出接口位数目与地址字节数目的设定值的组合中,选择一组输入/输出接口位数目与地址字节数目的设定值的组合来设定测试属性。
23.如权利要求21所述的可识别反及型闪存的***,其特征在于,具有一提供可供选择的组合的表单,其中存取单元另由可供选择的输入/输出接口位数目、地址字节数目与内存分页大小的设定值的组合中,选择一组输入/输出接口位数目、地址字节数目与内存分页大小的设定值的组合来以设定测试属性。
24.如权利要求16所述的可识别反及型闪存的***,另包含:
一计数装置,用以计算确认单元确认所述结果并不符合预设数据型样与该测试属性的次数以得到一错误计数值;
其中确认单元另确认错误计数值是否低于一预设临界值。
25.如权利要求16所述的可识别反及型闪存的***,其特征在于,反及型闪存嵌入于或耦接于一开机***。
26.如权利要求16所述的可识别反及型闪存的***,其特征在于,反及型闪存嵌入于或耦接于一开机只读存储器。
27.一种可识别反及型闪存的***,其特征在于,包含:
一反及型闪存,具有填满反及型闪存的识别信息的一内存分页;以及
一控制器,耦接于反及型闪存,该控制器包含:一存取单元,用来由内存分页中一测试内存分页范围外读取至少一数据段;以及一确认单元,耦接于存取单元,用来确认数据段是否包含反及型闪存的识别信息;其中若数据段包含反及型闪存的识别信息,则确认单元根据测试内存分页范围决定反及型闪存的一内存分页大小。
28.如权利要求27所述的可识别反及型闪存的***,其特征在于,存取单元从测试内存分页范围外读取N笔数据段,其中N至少为1;确认单元确认所述N笔数据段的每一笔数据段是否皆包含反及型闪存的识别信息;以及若所述确认单元发现包含反及型闪存的识别信息的储存于测试内存分面范围外的数据段的数量达到一预设临界值,则所述确认单元根据测试内存分页范围决定反及型闪存的一内存分页大小。
29.一种可用来执行反及型闪存的识别的***,其特征在于,包含:
一反及型闪存填满反及型闪存的识别信息的一页面,其中该识别信息包含一预设态样;及
一控制器,耦接于于反及型闪存,该控制器包含:一存取单元,用来使用包括输入/输出接口位数目与地址字节数目的设定值在内的多个测试属性,以读取反及型闪存的内容从而输出一结果,及从该页面中一测试页面范围外读取至少一数据段;及一确认单元,耦接于存取单元,用来确认所述结果是否符合第一预设态样与测试属性,以及确认数据段是否包含反及型闪存的识别信息;其中若确认单元发现所述结果符合预设的态样与测试属性,且数据段包含反及型闪存的识别信息,则确认单元根据测试页面范围决定反及型闪存的一页面大小,以及使用测试属性与页面大小来识别反及型闪存。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/162,465 US8429326B2 (en) | 2005-09-12 | 2005-09-12 | Method and system for NAND-flash identification without reading device ID table |
US11/162,465 | 2005-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1933027A true CN1933027A (zh) | 2007-03-21 |
CN1933027B CN1933027B (zh) | 2010-04-14 |
Family
ID=37776009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101077148A Active CN1933027B (zh) | 2005-09-12 | 2006-07-20 | 一种与非型闪存的识别方法与*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US8429326B2 (zh) |
CN (1) | CN1933027B (zh) |
DE (1) | DE102006042004A1 (zh) |
TW (1) | TWI322943B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419843A (zh) * | 2008-12-04 | 2009-04-29 | 北京中星微电子有限公司 | 快闪存储器识别方法、识别装置、芯片控制器 |
CN101498990B (zh) * | 2008-12-25 | 2012-06-06 | 四川和芯微电子股份有限公司 | 一种nand闪存自适应启动方法 |
CN102779049A (zh) * | 2011-05-09 | 2012-11-14 | 联咏科技股份有限公司 | 主芯片开机方法 |
CN101650976B (zh) * | 2008-08-12 | 2016-12-14 | 深圳市朗科科技股份有限公司 | 闪存管理装置及方法 |
US10146433B2 (en) | 2011-05-05 | 2018-12-04 | Novatek Microelectronics Corp. | Method for initializing NAND flash serving as a booting device |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100349108C (zh) * | 2005-11-21 | 2007-11-14 | 北京中星微电子有限公司 | 与非门快闪存储器的物理接口、接口方法和管理设备 |
US9125092B2 (en) * | 2005-12-22 | 2015-09-01 | Qualcomm Incorporated | Methods and apparatus for reporting and/or using control information |
US20080301355A1 (en) * | 2007-05-30 | 2008-12-04 | Phison Electronics Corp. | Flash memory information reading/writing method and storage device using the same |
DE102007048162A1 (de) * | 2007-10-08 | 2009-04-09 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Durchsuchen eines Speichers |
DE102007055654A1 (de) * | 2007-11-21 | 2009-05-28 | Giesecke & Devrient Gmbh | Tragbarer Datenträger |
US8171277B2 (en) * | 2008-07-02 | 2012-05-01 | Apple Inc. | Method and apparatus for booting from a flash memory without prior knowledge of flash parameter information |
DE102008061094A1 (de) * | 2008-12-08 | 2010-06-10 | Robert Bosch Gmbh | Verfahren zur Ermittlung eines Speicherbereichs |
US8370718B2 (en) * | 2009-04-08 | 2013-02-05 | Stmicroelectronics S.R.L. | Method for identifying a flash memory device and related hosting device |
CN102103892B (zh) * | 2009-12-18 | 2015-06-03 | 无锡中星微电子有限公司 | 一种芯片参数的识别方法及*** |
US8458402B1 (en) * | 2010-08-16 | 2013-06-04 | Symantec Corporation | Decision-making system and method for improving operating system level 2 cache performance |
US8797799B2 (en) * | 2012-01-05 | 2014-08-05 | Conversant Intellectual Property Management Inc. | Device selection schemes in multi chip package NAND flash memory system |
US20130332644A1 (en) * | 2012-06-07 | 2013-12-12 | Skymedi Corporation | Method of initializing a non-volatile memory system |
US9547441B1 (en) * | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US11385797B2 (en) * | 2015-10-05 | 2022-07-12 | Micron Technology, Inc. | Solid state storage device with variable logical capacity based on memory lifecycle |
CN109684137A (zh) * | 2017-10-19 | 2019-04-26 | 航天信息股份有限公司 | 一种用于对目标设备进行检测的方法及*** |
CN109817273B (zh) * | 2019-02-12 | 2020-12-29 | 记忆科技(深圳)有限公司 | 一种nand性能测试方法及其*** |
CN113641595B (zh) * | 2021-07-30 | 2023-08-11 | 珠海一微半导体股份有限公司 | 独立块保护模式的spi flash在brom阶段的类型识别方法及*** |
CN115588460B (zh) * | 2022-12-06 | 2023-03-14 | 仲联半导体(上海)有限公司 | 一种自动识别测试模式和产品模式的方法及芯片 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3421378B2 (ja) * | 1993-03-23 | 2003-06-30 | 株式会社東芝 | 伝送制御方式 |
US5511180A (en) * | 1993-04-06 | 1996-04-23 | Dell Usa, L.P. | Method and circuit for determining the size of a cache memory |
US5594882A (en) * | 1995-01-04 | 1997-01-14 | Intel Corporation | PCI split transactions utilizing dual address cycle |
JPH1027484A (ja) * | 1996-07-11 | 1998-01-27 | Toshiba Corp | 半導体不揮発性記憶装置 |
JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
JPH1166838A (ja) * | 1997-08-25 | 1999-03-09 | Nec Corp | 半導体記憶装置 |
TW484064B (en) | 1999-07-12 | 2002-04-21 | Feiya Technology Corp | Flash memory management, data linking architecture and algorithm |
US6175523B1 (en) * | 1999-10-25 | 2001-01-16 | Advanced Micro Devices, Inc | Precharging mechanism and method for NAND-based flash memory devices |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
JP3574078B2 (ja) | 2001-03-16 | 2004-10-06 | 東京エレクトロンデバイス株式会社 | 記憶装置と記憶装置制御方法 |
JP2003044798A (ja) * | 2001-07-26 | 2003-02-14 | Sony Corp | 電子機器、電子機器作動システム、認証システム、情報記録媒体、および認証方法 |
US6704852B2 (en) * | 2001-11-16 | 2004-03-09 | Key Technology Corporation | Control device applicable to flash memory card and method for building partial lookup table |
US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
US7234052B2 (en) * | 2002-03-08 | 2007-06-19 | Samsung Electronics Co., Ltd | System boot using NAND flash memory and method thereof |
KR100448905B1 (ko) * | 2002-07-29 | 2004-09-16 | 삼성전자주식회사 | 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치 |
JP2004095001A (ja) * | 2002-08-29 | 2004-03-25 | Fujitsu Ltd | 不揮発性半導体記憶装置、不揮発性半導体記憶装置組込システムおよび不良ブロック検出方法 |
JP2004133677A (ja) * | 2002-10-10 | 2004-04-30 | Renesas Technology Corp | 記憶装置 |
US7340566B2 (en) * | 2002-10-21 | 2008-03-04 | Microsoft Corporation | System and method for initializing a memory device from block oriented NAND flash |
US20040088474A1 (en) * | 2002-10-30 | 2004-05-06 | Lin Jin Shin | NAND type flash memory disk device and method for detecting the logical address |
US7480760B2 (en) * | 2003-12-17 | 2009-01-20 | Wegener Communications, Inc. | Rotational use of memory to minimize write cycles |
DE602005014737D1 (de) * | 2004-02-05 | 2009-07-16 | Research In Motion Ltd | System und verfahren zur erkennung der breite eines datenbusses |
DE102004013493B4 (de) * | 2004-03-18 | 2009-11-05 | Infineon Technologies Ag | Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein |
US7657696B2 (en) * | 2005-02-25 | 2010-02-02 | Lsi Corporation | Method to detect NAND-flash parameters by hardware automatically |
US7290185B2 (en) * | 2005-04-28 | 2007-10-30 | International Business Machines Corporation | Methods and apparatus for reducing memory errors |
-
2005
- 2005-09-12 US US11/162,465 patent/US8429326B2/en active Active
-
2006
- 2006-07-05 TW TW095124478A patent/TWI322943B/zh active
- 2006-07-20 CN CN2006101077148A patent/CN1933027B/zh active Active
- 2006-09-07 DE DE102006042004A patent/DE102006042004A1/de not_active Ceased
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650976B (zh) * | 2008-08-12 | 2016-12-14 | 深圳市朗科科技股份有限公司 | 闪存管理装置及方法 |
CN101419843A (zh) * | 2008-12-04 | 2009-04-29 | 北京中星微电子有限公司 | 快闪存储器识别方法、识别装置、芯片控制器 |
CN101498990B (zh) * | 2008-12-25 | 2012-06-06 | 四川和芯微电子股份有限公司 | 一种nand闪存自适应启动方法 |
US10146433B2 (en) | 2011-05-05 | 2018-12-04 | Novatek Microelectronics Corp. | Method for initializing NAND flash serving as a booting device |
CN102779049A (zh) * | 2011-05-09 | 2012-11-14 | 联咏科技股份有限公司 | 主芯片开机方法 |
CN102779049B (zh) * | 2011-05-09 | 2016-04-20 | 联咏科技股份有限公司 | 主芯片开机方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1933027B (zh) | 2010-04-14 |
TWI322943B (en) | 2010-04-01 |
US20070061498A1 (en) | 2007-03-15 |
TW200710652A (en) | 2007-03-16 |
US8429326B2 (en) | 2013-04-23 |
DE102006042004A1 (de) | 2007-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1933027A (zh) | 一种反及型闪存的识别方法与*** | |
US9317418B2 (en) | Non-volatile memory storage apparatus, memory controller and data storing method | |
US7409623B2 (en) | System and method of reading non-volatile computer memory | |
US8255617B2 (en) | Maintaining data integrity in a data storage device | |
US8259498B2 (en) | Continuous address space in non-volatile-memories (NVM) using efficient management methods for array deficiencies | |
US8010876B2 (en) | Method of facilitating reliable access of flash memory | |
TWI425523B (zh) | 混合型快閃儲存裝置及其操作方法 | |
JP5749860B2 (ja) | メモリデバイスおよびメモリデバイスのための構成方法 | |
US8996936B2 (en) | Enhanced error correction in memory devices | |
CN110502185A (zh) | 重读页面数据方法 | |
CN100458718C (zh) | 一种闪存存储装置及其数据读取和写入方法 | |
CN103514096B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN101078991A (zh) | 基于bios读写内存spd的计算机***信息保存和读取方法 | |
US20090164869A1 (en) | Memory architecture and configuration method thereof | |
CN104252317B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN101266828B (zh) | 混合型闪存存储装置及其操作方法 | |
CN108428467A (zh) | 读取电压追踪方法、存储器储存装置及控制电路单元 | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
US8065468B2 (en) | Data storing methods and apparatus thereof | |
CN103218308A (zh) | 缓冲存储器管理方法、存储器控制器与存储器储存装置 | |
CN115732020A (zh) | 存储器装置缺陷管理 | |
US11468962B2 (en) | Performing memory testing using error correction code values | |
TW202329124A (zh) | 讀取電壓準位校正方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110008146B (zh) | 数据写入方法、有效数据识别方法及存储器存储装置 | |
CN110289036B (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 |