CN114003515A - 一种提高嵌入式Flash良率的处理方法及系统 - Google Patents
一种提高嵌入式Flash良率的处理方法及系统 Download PDFInfo
- Publication number
- CN114003515A CN114003515A CN202111282734.XA CN202111282734A CN114003515A CN 114003515 A CN114003515 A CN 114003515A CN 202111282734 A CN202111282734 A CN 202111282734A CN 114003515 A CN114003515 A CN 114003515A
- Authority
- CN
- China
- Prior art keywords
- page
- redundant
- flash
- bad
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000012360 testing method Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 6
- 230000002950 deficient Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000001545 Page's trend test Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明公开一种提高嵌入式Flash良率的处理方法及系统,属于集成电路领域。对Flash进行擦除后,对Flash每一页进行写操作和读操作,判断该页为正常页还是坏页,出现坏页时直接将该坏页的页地址写入冗余页地址寄存器;当系统总线对Flash进行访问时,将系统总线访问的地址与冗余页地址寄存器中值进行比较,如果比较结果不一致,说明此时系统总线访问的是正常页,无需访问冗余页;如果比较结果一致,说明此时系统总线访问的是坏页,则将冗余页使能位置位,系统总线直接跳过坏页访问冗余备份页;冗余页使能位为1时,表示冗余页替换坏页生效,系统总线对Flash坏页的读写操作都将映射到冗余页上。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及一种提高嵌入式Flash良率的处理方法及系统。
背景技术
嵌入式Flash在MCU(microcontroller Unit,微控制器)和DSP(Digital SignalProcess,数字信号处理器)中得到越来越广泛的应用,几乎所有的MCU和DSP都带有嵌入式Flash。由于对写入的数据需要长时间保持不丢失,嵌入式Flash设计与制造工艺相对复杂,已成为了整个电路失效的主要来源。据统计,嵌入式Flash的失效占整个电路失效三分之一以上。
嵌入式Flash的失效,会导致系统存储与读取数据错误,进而引起整个系统运行错误。因此嵌入式Flash良率的问题,直接影响整个电路的良率,提高Flash良率的方法受到了越来越多的关注。
发明内容
本发明的目的在于提供一种提高嵌入式Flash良率的处理方法及系统,以解决由于工艺制造而导致Flash失效率过高的问题。
为解决上述技术问题,本发明提供了一种提高嵌入式Flash良率的处理方法,包括:
中测时对Flash进行擦除后,对Flash每一页进行写操作和读操作,判断该页为正常页还是坏页,出现坏页时直接将该坏页的页地址写入冗余页地址寄存器;
当系统总线对Flash进行访问时,将系统总线访问的地址与冗余页地址寄存器中值进行比较,如果比较结果不一致,说明此时系统总线访问的是正常页,无需访问冗余页;如果比较结果一致,说明此时系统总线访问的是坏页,则将冗余页使能位置位,系统总线直接跳过坏页访问冗余备份页;
冗余页使能位为1时,表示冗余页替换坏页生效,系统总线对Flash坏页的读写操作都将映射到冗余页上。
可选的,对Flash每一页进行写操作和读操作,判断该页为正常页还是坏页包括:
对Flash每一页进行写操作与读操作,如果该页内每一个地址读的数据与写的数据一致,表示该页读写正常,则该页为正常页;
如果该页内有其中一个地址读的数据与写的数据不一致,则表示该地址读写错误,则将该地址所在的页定义为坏页。
可选的,对Flash某一页进行读写测试时,只有当读的数据与写的数据不一致时,才会将该页定义为坏页,此时如果有冗余页剩余,直接将该坏页的页地址写入冗余页地址寄存器;接着对下一页进行读写测试,如再出现坏页且还有冗余页剩余,将该坏页的页地址也写入冗余页地址寄存器中;若所有冗余页对应的冗余页地址寄存器都被写完后,还出现坏页,则认为该Flash测试结果失败,并将该电路归为不良品;
当测试完成后,若所有冗余页对应的冗余页地址寄存器正好被用完或者还有剩余,则认为该Flash测试结果正常。
可选的,根据Flash容量大小设置多个冗余页,其中每个冗余页对应一个冗余页使能位和冗余页地址寄存器,进行多个冗余页替换以提高Flash良率。
本发明还提供了一种一种提高嵌入式Flash良率的处理系统,包括:
冗余页,用于替换Flash中的坏页,一旦出现Flash坏页,系统总线对该坏页的读写全部映射到对冗余页的读写,以保证数据读写的正确性;
冗余页使能位,表示该使能位对应的冗余页替换是否生效,当该位值为1时表示该使能位对应的冗余页替换生效,系统总线对坏页的访问都会移交到该冗余页;当该位值为0时表示该使能位对应的冗余页未发生替换;
冗余页地址寄存器,用于保存Flash中测时坏页的页地址,当向冗余页地址寄存器写入坏页的页地址时,表示该冗余页地址寄存器对应冗余页与坏页对应;
地址映射控制器,用于对冗余页使能位进行写操作,当系统总线发出访问地址与冗余页地址寄存器进行比较,如果一致则对冗余页使能位写1,如是不一致,则对冗余页使能位写0。
在本发明提供的提高嵌入式Flash良率的处理方法及系统中,对Flash进行擦除后,对Flash每一页进行写操作和读操作,判断该页为正常页还是坏页,出现坏页时直接将该坏页的页地址写入冗余页地址寄存器;当系统总线对Flash进行访问时,将系统总线访问的地址与冗余页地址寄存器中值进行比较,如果比较结果不一致,说明此时系统总线访问的是正常页,无需访问冗余页;如果比较结果一致,说明此时系统总线访问的是坏页,则将冗余页使能位置位,系统总线直接跳过坏页访问冗余备份页;冗余页使能位为1时,表示冗余页替换坏页生效,系统总线对Flash坏页的读写操作都将映射到冗余页上。本发明通过增加少量的硬件控制逻辑,通过地址映射的方式用冗余页替换Flash的坏页,使得系统总线对Flash坏页的操作都映射到冗余页上,保证系统总线存取数据的正确性。通过冗余页替换的方法,提高Flash的良率,进而提高整个芯片的良率。
附图说明
图1是提高嵌入式Flash良率的处理系统的示意图;
图2是冗余页替换Flash测试流程图;
图3是系统总线访问Flash的流程图;
图4是系统总线访问Flash数据通路图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种提高嵌入式Flash良率的处理方法及系统作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
实施例一
本发明提供了一种提高嵌入式Flash良率的处理系统,其结构如图1所示,冗余页将Flash的坏页替换,系统总线对Flash坏页的读、写操作全都映射到冗余页中,对用户的使用无任何差别。
该处理系统包括冗余页、冗余页使能位、冗余页地址寄存器和地址映射控制器;所述冗余页用于替换Flash中的坏页,一旦出现Flash坏页,系统总线对该坏页的读写全部映射到对冗余页的读写,以保证数据读写的正确性;所述冗余页使能位表示该使能位对应的冗余页替换是否生效,当该位值为1时表示该使能位对应的冗余页替换生效,系统总线对坏页的访问都会移交到该冗余页;当该位值为0时表示该使能位对应的冗余页未发生替换;所述冗余页地址寄存器用于保存Flash中测时坏页的页地址,当向冗余页地址寄存器写入坏页的页地址时,表示该冗余页地址寄存器对应冗余页与坏页对应;所述地址映射控制器用于对冗余页使能位进行写操作,当系统总线发出访问地址与冗余页地址寄存器进行比较,如果一致则对冗余页使能位写1,如是不一致,则对冗余页使能位写0。
Flash由页组成,当页大小固定,Flash容量越大,其页的数量也就越多。当页的数量越多,其出现坏页的概率也就越大。中测时对Flash进行擦除后,对Flash某一页进行读写测试,只有当读的数据与写的数据不一致时,才会将该页定义为坏页,直接将该坏页地址写入冗余页地址寄存器。接着对下一页进行读写测试,如再出现坏页,将该坏页地址也写入第二个冗余页地址寄存器中,以些类推,若所有冗余页对应的冗余页地址寄存器都被写完后,还出现坏页,则认为该Flash测试结果失败,并将该电路归为不良品;当测试完成后,若所有冗余页对应的冗余页地址寄存器正好被用完或者还有剩余,则认为该Flash测试结果正常。
当系统总线对Flash进行访问时,将系统总线访问的地址与冗余页地址寄存器中值进行比较,如果比较结果不一致,说明此时系统总线访问的是正常页,无需访问冗余页;如果比较结果一致,说明此时系统总线访问的是坏页,则将冗余页使能位置位,系统总线直接跳过坏页访问冗余备份页;
冗余页使能位为1时,表示冗余页替换坏页生效,系统总线对Flash坏页的读写操作都将映射到冗余页上,避免了对坏页的操作。
根据Flash容量大小设置多个冗余页,其中每个冗余页对应一个冗余页使能位和冗余页地址寄存器,进行多个冗余页替换以提高Flash良率。但是一般情况下当页大小固定,Flash容量越大,所需Flash页冗余页的数量也就越多,但是不能为了提高良率一味提高冗余页的数量,使得冗余页的数量大于实际所需的数量,这样会导致芯片的面积增加。故应该在冗余页的数量应该在良率与Flash大小之间做平衡。
图2示出了冗余页替换Flash测试流程图,Flash测试时对每一页的每一个地址进行读写测试,如该页内每一地址都读写正常,则认为该页正常,并启动下一页测试;如该页内某个地址读的数据与写入的数据不一致,则认为该页为坏页,此时判断是否有冗余页剩余,如果冗余页都已使用完,则认为该电路Flash失效,如果还有冗余页剩余,则将该坏页的页地址写入冗余页地址寄存器中,并启动下一页测试。Flash冗余页通过地址映射的方式来对坏页进行替换,即使Flash出现由于制造工艺而导致的坏页,仍然可以做为合格电路,极大提高了Flash的良率。
图3示出了系统总线访问Flash的流程图,系统总线访问Flash时,将系统总线发出的访问地址(页地址部份)与冗余页地址寄存器中值进行比较,如果地址不匹配,则认为系统总线访问的是正常页,系统总线直接对该页进行读写操作;如果地址匹配,则认为系统总线访问的是坏页,此时冗余页使能位置位,系统总线跳过坏页直接访问Flash冗余页。
图4示出了系统总线访问Flash数据通路图,系统总线发出的访问地址,将其页地址部分与冗余页地址寄存器中值进行比较,如果比较结果一致,则将冗余页使能位置位,此时系统总线对Flash的访问全部映射到对应的冗余页。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (5)
1.一种提高嵌入式Flash良率的处理方法,其特征在于,包括:
中测时对Flash进行擦除后,对Flash每一页进行写操作和读操作,判断该页为正常页还是坏页,出现坏页时直接将该坏页的页地址写入冗余页地址寄存器;
当系统总线对Flash进行访问时,将系统总线访问的地址与冗余页地址寄存器中值进行比较,如果比较结果不一致,说明此时系统总线访问的是正常页,无需访问冗余页;如果比较结果一致,说明此时系统总线访问的是坏页,则将冗余页使能位置位,系统总线直接跳过坏页访问冗余备份页;
冗余页使能位为1时,表示冗余页替换坏页生效,系统总线对Flash坏页的读写操作都将映射到冗余页上。
2.如权利要求1所述的提高嵌入式Flash良率的处理方法,其特征在于,对Flash每一页进行写操作和读操作,判断该页为正常页还是坏页包括:
对Flash每一页进行写操作与读操作,如果该页内每一个地址读的数据与写的数据一致,表示该页读写正常,则该页为正常页;
如果该页内有其中一个地址读的数据与写的数据不一致,则表示该地址读写错误,则将该地址所在的页定义为坏页。
3.如权利要求2所述的提高嵌入式Flash良率的处理方法,其特征在于,对Flash某一页进行读写测试时,只有当读的数据与写的数据不一致时,才会将该页定义为坏页,此时如果有冗余页剩余,直接将该坏页的页地址写入冗余页地址寄存器;接着对下一页进行读写测试,如再出现坏页且还有冗余页剩余,将该坏页的页地址也写入冗余页地址寄存器中;若所有冗余页对应的冗余页地址寄存器都被写完后,还出现坏页,则认为该Flash测试结果失败,并将该电路归为不良品;
当测试完成后,若所有冗余页对应的冗余页地址寄存器正好被用完或者还有剩余,则认为该Flash测试结果正常。
4.如权利要求3所述的提高嵌入式Flash良率的处理方法,其特征在于,根据Flash容量大小设置多个冗余页,其中每个冗余页对应一个冗余页使能位和冗余页地址寄存器,进行多个冗余页替换以提高Flash良率。
5.一种提高嵌入式Flash良率的处理系统,其特征在于,包括:
冗余页,用于替换Flash中的坏页,一旦出现Flash坏页,系统总线对该坏页的读写全部映射到对冗余页的读写,以保证数据读写的正确性;
冗余页使能位,表示该使能位对应的冗余页替换是否生效,当该位值为1时表示该使能位对应的冗余页替换生效,系统总线对坏页的访问都会移交到该冗余页;当该位值为0时表示该使能位对应的冗余页未发生替换;
冗余页地址寄存器,用于保存Flash中测时坏页的页地址,当向冗余页地址寄存器写入坏页的页地址时,表示该冗余页地址寄存器对应冗余页与坏页对应;
地址映射控制器,用于对冗余页使能位进行写操作,当系统总线发出访问地址与冗余页地址寄存器进行比较,如果一致则对冗余页使能位写1,如是不一致,则对冗余页使能位写0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111282734.XA CN114003515A (zh) | 2021-11-01 | 2021-11-01 | 一种提高嵌入式Flash良率的处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111282734.XA CN114003515A (zh) | 2021-11-01 | 2021-11-01 | 一种提高嵌入式Flash良率的处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003515A true CN114003515A (zh) | 2022-02-01 |
Family
ID=79926105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111282734.XA Pending CN114003515A (zh) | 2021-11-01 | 2021-11-01 | 一种提高嵌入式Flash良率的处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003515A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130055048A1 (en) * | 2011-08-22 | 2013-02-28 | Samsung Electronics Co., Ltd. | Bad page management in memory device or system |
US20150067248A1 (en) * | 2013-08-30 | 2015-03-05 | Jun Hee Yoo | Dram controller having dram bad page management function and bad page management method thereof |
CN109165115A (zh) * | 2018-06-26 | 2019-01-08 | 北京中电华大电子设计有限责任公司 | 一种增强flash存储器可靠性的方法 |
-
2021
- 2021-11-01 CN CN202111282734.XA patent/CN114003515A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130055048A1 (en) * | 2011-08-22 | 2013-02-28 | Samsung Electronics Co., Ltd. | Bad page management in memory device or system |
US20150067248A1 (en) * | 2013-08-30 | 2015-03-05 | Jun Hee Yoo | Dram controller having dram bad page management function and bad page management method thereof |
CN109165115A (zh) * | 2018-06-26 | 2019-01-08 | 北京中电华大电子设计有限责任公司 | 一种增强flash存储器可靠性的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8412987B2 (en) | Non-volatile memory to store memory remap information | |
US6035432A (en) | System for remapping defective memory bit sets | |
US9128822B2 (en) | On-chip bad block management for NAND flash memory | |
US5974564A (en) | Method for remapping defective memory bit sets to non-defective memory bit sets | |
EP2026356B1 (en) | Method for creating a memory defect map and optimizing performance using the memory defect map | |
CN112667445B (zh) | 封装后的内存修复方法及装置、存储介质、电子设备 | |
US8103900B2 (en) | Implementing enhanced memory reliability using memory scrub operations | |
US20080181035A1 (en) | Method and system for a dynamically repairable memory | |
KR20170059219A (ko) | 메모리 장치, 메모리 시스템 및 메모리 장치의 복구 검증 방법 | |
US9514843B2 (en) | Methods for accessing a storage unit of a flash memory and apparatuses using the same | |
US20210216470A1 (en) | Logical to virtual and virtual to physical translation in storage class memory | |
JP4196743B2 (ja) | 半導体記憶装置 | |
US20210065831A1 (en) | Scrub management in storage class memory | |
US5933852A (en) | System and method for accelerated remapping of defective memory locations | |
CN112988491B (zh) | 一种内存测试方法、装置及内存控制器 | |
CN111522684A (zh) | 一种同时纠正相变存储器软硬错误的方法及装置 | |
CN114116355A (zh) | 内存测试方法、装置及电子设备 | |
US8738847B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN114003515A (zh) | 一种提高嵌入式Flash良率的处理方法及系统 | |
CN113138720B (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
US11182231B2 (en) | Host system and computing system including the host system | |
CN112988069A (zh) | 存储器管理方法、存储器存储装置及存储器控制器 | |
CN108231134B (zh) | Ram良率补救方法及装置 | |
CN117743204A (zh) | Flash良率改良方法、编程方法及相关设备 | |
CN117393032B (zh) | 一种存储装置及其数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |