CN1877529A - 存储设备及控制该存储设备操作的方法 - Google Patents
存储设备及控制该存储设备操作的方法 Download PDFInfo
- Publication number
- CN1877529A CN1877529A CNA2006100996431A CN200610099643A CN1877529A CN 1877529 A CN1877529 A CN 1877529A CN A2006100996431 A CNA2006100996431 A CN A2006100996431A CN 200610099643 A CN200610099643 A CN 200610099643A CN 1877529 A CN1877529 A CN 1877529A
- Authority
- CN
- China
- Prior art keywords
- memory device
- microcontroller
- program file
- information bank
- section
- 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
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000015654 memory Effects 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000001514 detection method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 2
- 238000012217 deletion Methods 0.000 claims 2
- 230000037430 deletion Effects 0.000 claims 2
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000002075 main ingredient Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0401—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
一种控制存储设备操作的方法,包括步骤:提供一存储设备,其包括一微控制器,一被设置为存储程序文件并和所述微控制器相连的容错信息库,以及一存储外部源提供的数据的存储阵列,进一步产生一个事件,响应于所述事件,将存储在所述存储阵列里的第一程序文件加载到所述信息库的第一段,并且为了执行所述存储设备的操作,通过所述微控制器执行所述程序文件。该方法和设备,其特征在于一可重写的信息库段可以有在闪存的区域里被实施的好处。程序文件可以包括例如太大而不能被永久存储在闪存设备信息库里的BIST算法的软件包。
Description
技术领域
本发明涉及一种存储设备及控制该存储设备操作的方法。本发明尤其涉及非易失性存储设备,特别是闪存设备,该设备包括一微控制器,一容错信息库和一存储阵列。
背景技术
闪存产品作为存储介质已经变得越来越重要。通常闪存设备被划分成三个主要的组成部分。它们是:微控制器,控制闪存设备的操作,信息库,其和微控制器相连,作为要被微控制器执行的程序文件的快速和容错的存储区域,以及存储阵列,其被设置为接收和存储外部提供的任意数据。代替微控制器,状态机经常被用来操作存储阵列。
容错信息库是一个存储设备,大小典型地为4kb。为了保证容错,为程序文件预留1kb的空间,其中这1kb的空间在信息库里是重复的,例如重复4次。该冗余保护二进制码无读干扰的从信息库加载到微处理器。
信息库,存储阵列和微控制器典型地集成在一个闪存芯片里。其中,信息库被设置为直接和微控制器相连,也就是,邻接微控制器以节省信号路径长度和电流的损耗。区域的限制需要使这个信息库尽可能地小。复制每个字节4次意味着有一个相当大的区域增量用于每个额外存储的字节。因此这种有限的容量严重地制约了设计和开发由微控制器执行的更大的软件程序。这样的程序可以和例如自测算法相关,该算法内建于系统,即所谓的BIST算法。近年来这样的算法开始代替原先占统治地位的ad-hoc ATE码(自动检测设备),这就使得相对于每一个单独闪存芯片来说测试成本大大地减少了。
发明内容
因此本发明的一个目的是提供一种闪存设备,该设备不会有对于二进制码信息库的容量限制,因此使得更大的自检算法能够执行。
本发明的进一步的目的是减少检测存储设备的成本和耗力。
这些和其他的目的通过一种控制存储设备操作的方法来达到,包括步骤:提供一具有微控制器的存储设备,一被设置为存储程序文件并和所述的微控制器相连的容错信息库,以及一存储外部提供的数据的存储阵列,进一步产生一个事件,响应于所述事件,加载存储在所述存储阵列的第一程序文件到所述信息库的第一段,并为了执行所述存储设备的一个操作,通过所述微控制器执行所述程序文件。
目的进一步通过一存储设备来达到,所述存储设备包括:一微控制器,用来控制存储设备的操作,与微控制器相连并用于存储数据的存储阵列,其中所述数据从外部提供给存储设备,一容错信息库,其与微控制器相连用来存储微控制器执行的程序文件以执行存储设备的检测,初始化或应用程序,其中信息库包括被载入至少一第一程序文件的第一段,通过所述微控制器用至少一另外的程序文件删除,卸载或覆盖该第一程序文件。
传统的信息库和微控制器相连,其为只读存储器(ROM)类型,它们被至少有一个段的信息库所替代,其中二进制码内容能被动态删除,覆盖或卸载。从而,被微控制器在适当时期执行的程序文件能够在它们使用前被动态加载到信息库里。尽管信息库的大小可以按照现有技术被设置为4kb,包括4倍冗余,但是相当可观的更多的程序文件的二进制码可用于微控制器的执行。
根据本发明的一个实施例,加载和/或卸载机制到/从信息库是通过软件模块核心进行控制的,除动态加载的程序文件之外,其存储在信息库里。该软件模块核心的存储可以是永久性的,然而,本发明不限于此。特别的,信息库的不同段是逻辑邻接的段。因此,信息库被设置为可擦除的即使实际上只有一个段的一个部分被擦除或被另外的二进制码所覆盖。
软件模块核心驻留在信息库的一个段中,它和接收程序文件的那个段不同。这个不同保证软件模块核心不会被加载到信息库的其他程序文件所覆盖。
这样的配置由此提供了一些和操作系统(OS)内核类似的用于存储器设计的基本的功能,例如一个闪存设备,其至今都不能支持嵌入式操作系统(OS)。虽然由微控制器执行的现有技术二进制码和固定的,预定的指令序列有关,但是本发明的闪存设备遵从动态发生事件和环境的要求。特别的,信息库可以基于外部资源产生的事件来操作,例如,自检的信号发生执行,或者基于从内部资源产生的事件,其可以依赖于闪存设备的单独元件的状态。
软件模块核心,一旦在微控制器执行,就会处理这些事件并被设置为预先选择特定的程序文件以便于在微控制器执行之前加载这些文件到信息库中。这个加载可以依赖于闪存设备当前所处的当前模式。例如,当检测模式开始时,将会有足够的时间来加载相应的检测程序文件到信息库里并且接着由微控制器执行该程序文件。重要的是,软件核心被设置为决定哪一个程序文件被加载到信息库里。
按照更进一步的实施例,重写程序文件段和例如控制微控制器操作的永久存储的软件模块核心以及信息库的结合是有利的,这种观念被信息库的段所更进一步地支持,该段永久性存储全程变量。当软件模块核心可以为一系列不同的存储设备标准化时,全程变量提供一个在当前存储设备上的软件核心的特定执行。全程变量用于辨识存储在信息库的动态段的当前软件模块,以便为动态加载选择下一个模块或程序文件,并且为加载下一个软件模块评估事件或者触发条件。
要注意的是本发明不限于闪存设备。本领域技术人员清楚的是,方法和设备组件的配置也能由其他类型的存储器来实施,特别是静态的或者非易失性存储器,例如磁存储器(MRAM),纳晶存储器等等。
本发明能由特定的实施例结合附图被更清楚地了解。
附图说明
图1表示根据本发明实施例的一闪存设备;
图2表示根据本发明实施例的信息库的细节,其被设置为在程序文件段被重写;
图3表示根据本发明实施例的流程图。
发明的详细说明
图1表示本发明的一实施例。闪存设备2包括信息库6,其和微控制器4相连。微控制器有一个接口5,该接口可以连接到外部数据或信号源,以便于传输要存储的数据,或者从外部检测设备进行读取或者与之通信等等。
微控制器4进一步操作在闪存阵列8里的数据存储,闪存阵列基于电荷俘获单元并且可以是NAND(与非)或者NOR(或非)类型。存储器的大小可以有一个适应于闪存设备的特定使用的宽范围,例如任意MMC卡的64Mb。
信息库6在其他的选择中可以是SRAM类型(静态RAM),DRAM(动态随机存取存储器)类型或者甚至是闪存类型。为了提供容错的容量,它有4kb的大小和4倍冗余。也就是说,存储在信息库6里的二进制码的每一位在信息库的不同位置被重复4次。
存储阵列8主要包括一可重写的存储区域和进一步的一个OTP区域10(一次性编程)。OTP区域表示存储阵列8的一个段。
传统闪存设备的OTP区域典型大小为大约100kb,在先前的应用程序中大量的空间未被使用。在那个OTP区域中,永久存储的关于存储阵列的为了检测和引导目的的信息,例如关于阵列大小的信息,制造商等等,被设为可用,因此消耗了存储区域的大概0.1%的空间。根据这个实施例,OTP区域被细分为部分102,104,106,…10n来接收程序文件,也就是说,当使用者特定数据被存储在存储阵列8的剩余部分时,二进制码存储在存储阵列8的OTP区域10里。
在闪存设备初始化或操作期间,每一个部分接收在某个事件中执行的程序文件。例如,部分102包括一引导序列,部分104包括不可操作(in-operation)的自校验码,部分106包括在设备的制造期间或者之后执行的内建的自检(BIST)二进制码等等。
图2表示信息库6的细节。它包括设置为可重写的或永久性信息的段62,64和66。第一段62接收要被微控制器执行的程序文件并因为这个目的被重写。第二段66保存软件模块核心,其执行和嵌入式操作系统(OS)类似的任务。段66被设置为写保护,也就是说,只读。
如图3的流程图所示,软件模块核心首先从信息库6或更精确地从段66被读出来,并且被微控制器4执行。进一步地,永久写入第三信息库段64的全程变量被读出来,通过这样软件模块核心的程序流为本应用程序而配置。
驻留在第二段66的软件模块核心有这样的优点,它能为一系列的闪存设备产品被释放并且能通过在第三段64里设置(和存储)全程变量为特定的应用程序而配置。
在这个实施例里一自检(装配时最后的产品检测)被执行。为了这个目的,由ATE设备产生事件并且经由接口5发信号到微控制器4。进一步地,事件由微控制器4检测并且在运行于微控制器4上的软件模块核心的帮助下被评估。响应于那个特定的事件,微控制器4开始从OTP区域10的部分106中选择一个或多个程序文件,其遵守BIST算法。因此,原先驻留在信息库6里的二进制码可以被这个或这些程序文件所覆盖。
基于这些在信息库6里新存储的程序文件,微控制器根据包含在程序文件里的二进制码继续执行自检,也就是说,BIST算法。该码可以进一步包括一个序列使得微控制器4经由接口5来收集和输出自检的结果到外部ATE设备。
依靠软件模块核心,微控制器4可以接着从检测模式返回到操作模式,其中新产生的事件发信号给控制器从存储阵列8或更精确地从OTP区域10加载新的程序文件到信息库6的程序文件段62,从而覆盖BIST程序文件。
不言而喻的是,永久存储段64,66可以被设置为一个状态-根据这个实施例-其中包含在这些段里的二进制码可以被覆盖,例如按序执行一个临时的固件更新。为了包括程序文件的更新,这对于OTP区域的部分102-10n同样有效。
已经描述了存储设备和控制其操作的方法的一些实施例,要注意的是,本领域技术人员在上述教导的启示下可以作出修改和变形。因此应该理解,在由所附的权利要求限定的范围和精神之内,可以在公开的本发明的特定实施例中进行变化。已经按专利法要求的细节和特征描述了本发明,在所附的权利要求中提出本发明的权利要求。
数字标记参考列表
2 存储设备,闪存设备
4 微控制器
6 信息库
8 存储阵列(闪存)
10O TP区域
62 (第一)程序文件段(可重写的)
64 (第三)全程变量段(永久的)
66 (第二)软件模块核心段(永久的)
102…106,10n OTP区域的永久存储程序文件的部分
Claims (16)
1、一种控制存储设备操作的方法,包括步骤:
提供一存储设备,其包括一微控制器,一被设置为存储程序文件并和所述微控制器相连的容错信息库,以及一存储外部提供的数据的存储阵列;
产生一个事件;
响应于所述事件,使用所述微控制器将存储在所述存储阵列里的第一程序文件加载到所述信息库的第一段;
为了执行所述存储设备的一个操作,通过所述微控制器执行所述第一程序文件。
2、根据权利要求1的方法,进一步包括在产生所述事件之前,通过所述微控制器执行存储在所述容错信息库里的第二段的软件核心模块的步骤。
3、根据权利要求1的方法,其中所述软件核心的执行被存储在所述容错信息库的第三段且被所述微控制器读出的全程变量所控制。
4、根据权利要求1的方法,其中第一程序文件是为了执行所述存储设备的功能检测而内建的自检程序。
5、根据权利要求4的方法,其中第一程序文件是一个在设备启动时执行初始化序列的引导程序。
6、根据权利要求5的方法,其中在执行所述软件模块核心时,产生的事件被所述微控制器评估,并且根据所述评估的事件,从一些存储在所述存储阵列的程序文件中选择响应于所述事件而被加载到所述信息库的第一段的所述第一程序文件。
7、根据权利要求5的方法,其中在执行所述软件模块核心时第二事件产生并且被所述微控制器评估,以便于响应于所述第二事件加载第二程序文件到所述信息库,其中所述第一程序文件在所述容错信息库里被删除,卸载或者覆盖。
8、一种存储设备,包括:
(a)控制存储设备操作的微控制器;
(b)连接于微控制器的存储数据的存储阵列,其从外部被提供给存储设备;
(c)连接于微控制器的容错信息库,其存储由微控制器执行的程序文件,以便于执行存储设备的检测,初始化或者应用程序;
(d)其中信息库包括被载入至少一第一程序文件的第一段,该第一程序文件可以通过所述微控制器用至少一个另外的程序文件删除,卸载或者覆盖。
9、根据权利要求8的存储设备,其中存储阵列是一个非易失性存储器。
10、根据权利要求9的存储设备,其中该非易失性存储器是闪存。
11、根据权利要求8的存储设备,其中存储阵列包括一个一次性编程区域。
12、根据权利要求11的存储设备,其中所述一次性编程区域被设置为永久存储程序文件。
13、根据权利要求12的存储设备,其中容错信息库进一步包括用来存储软件模块核心的一段,其被设置为当被所述微控制器执行时,从所述一次性编程区域加载所述程序文件到所述第一段或者删除,卸载或用另外的程序文件来覆盖所述程序文件。
14、根据权利要求13的存储设备,其中存储所述软件模块核心的段被设置为所述信息库里的永久存储区域。
15、根据权利要求13的存储设备,其中容错信息库进一步包括一存储全程变量的第三段,该全程变量被设置为在所述微控制器里控制软件模块核心的执行。
16、根据权利要求15的存储设备,其中存储全程变量的段被设置为信息库里的永久存储区域。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/147,988 US20060282626A1 (en) | 2005-06-08 | 2005-06-08 | Memory device and method of controlling operation of the memory device |
US11/147988 | 2005-06-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1877529A true CN1877529A (zh) | 2006-12-13 |
CN100456243C CN100456243C (zh) | 2009-01-28 |
Family
ID=37509974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100996431A Expired - Fee Related CN100456243C (zh) | 2005-06-08 | 2006-06-08 | 存储设备及控制该存储设备操作的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060282626A1 (zh) |
CN (1) | CN100456243C (zh) |
DE (1) | DE102005032514B3 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571708A (zh) * | 2008-04-28 | 2009-11-04 | 三星电子株式会社 | 加工硬盘驱动器的方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1392071B1 (it) * | 2008-11-27 | 2012-02-09 | St Microelectronics Srl | Metodo per eseguire un testing elettrico di dispositivi elettronici |
US8112682B2 (en) * | 2009-04-23 | 2012-02-07 | Sandisk Il Ltd | Method and device for bad-block testing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69832609D1 (de) * | 1998-09-30 | 2006-01-05 | St Microelectronics Srl | Emulierte EEPROM Speicheranordnung und entsprechendes Verfahren |
JP2000251035A (ja) * | 1999-02-26 | 2000-09-14 | Hitachi Ltd | メモリカード |
US7137037B2 (en) * | 2003-03-27 | 2006-11-14 | Silicon Motion, Inc. | Data storage system and method for testing the same |
DE10334801B3 (de) * | 2003-07-30 | 2005-01-27 | Infineon Technologies Ag | Halbleiterschaltung und Verfahren zum Testen, Überwachen und applikationsnahen Einstellen einer Halbleiterschaltung |
JP3945652B2 (ja) * | 2004-05-12 | 2007-07-18 | 株式会社ルネサステクノロジ | 不揮発性記憶装置 |
-
2005
- 2005-06-08 US US11/147,988 patent/US20060282626A1/en not_active Abandoned
- 2005-07-12 DE DE102005032514A patent/DE102005032514B3/de not_active Expired - Fee Related
-
2006
- 2006-06-08 CN CNB2006100996431A patent/CN100456243C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571708A (zh) * | 2008-04-28 | 2009-11-04 | 三星电子株式会社 | 加工硬盘驱动器的方法 |
CN101571708B (zh) * | 2008-04-28 | 2014-07-02 | 三星电子株式会社 | 加工硬盘驱动器的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060282626A1 (en) | 2006-12-14 |
CN100456243C (zh) | 2009-01-28 |
DE102005032514B3 (de) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8041879B2 (en) | Flash memory backup system and method | |
US9146821B2 (en) | Methods and systems for monitoring write operations of non-volatile memory | |
KR100909902B1 (ko) | 플래쉬 메모리 장치 및 플래쉬 메모리 시스템 | |
US7457912B2 (en) | Runtime flash device detection and configuration for flash data management software | |
US9612954B2 (en) | Recovery for non-volatile memory after power loss | |
EP2180408B1 (en) | Method for writing and reading data in an electrically erasable and programmable nonvolatile memory | |
US7818492B2 (en) | Source and shadow wear-leveling method and apparatus | |
US7769944B2 (en) | Partial-write-collector algorithm for multi level cell (MLC) flash | |
US20130346805A1 (en) | Flash memory with targeted read scrub algorithm | |
US9710378B2 (en) | Writing an address conversion table for nonvolatile memory wear leveling | |
KR20040064149A (ko) | 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩 | |
GB2330672A (en) | Storing and retrieving data in a control system eg in a motor vehicle | |
US8402204B2 (en) | Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same | |
CN110534151B (zh) | 实现写入前擦除的方法、装置、计算机设备及存储介质 | |
CN109240729B (zh) | 一种修复固件代码的方法及系统 | |
US9965362B2 (en) | Systems and methods for performing data recovery in a memory system | |
US7487316B1 (en) | Archive and restore system and methodology for on-line edits utilizing non-volatile buffering | |
US9239756B2 (en) | Systems and methods for performing data recovery in a memory system | |
CN100485810C (zh) | 逻辑与非快闪存储器芯片存取方法及与非快闪存储器芯片 | |
JP2020086739A (ja) | メモリコントローラ及びこれを備えるフラッシュメモリシステム | |
JP2006302342A (ja) | 不揮発性半導体メモリ装置とメモリシステム | |
CN1877529A (zh) | 存储设备及控制该存储设备操作的方法 | |
US8010734B2 (en) | Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device | |
CN109254723B (zh) | 非易失性存储器中的存储器扇区注销的方法和系统 | |
US20080052445A1 (en) | Flash memory devices including block information blocks and methods of operating same |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160115 Address after: German Berg, Laura Ibiza Patentee after: Infineon Technologies AG Address before: Munich, Germany Patentee before: QIMONDA AG |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090128 Termination date: 20160608 |
|
CF01 | Termination of patent right due to non-payment of annual fee |