CN114003515A - 一种提高嵌入式Flash良率的处理方法及系统 - Google Patents

一种提高嵌入式Flash良率的处理方法及系统 Download PDF

Info

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
Application number
CN202111282734.XA
Other languages
English (en)
Inventor
杨晓刚
朱樟明
魏敬和
鲍宜鹏
苗韵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Key System and Integrated Circuit Co Ltd
Original Assignee
China Key System and Integrated Circuit Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Key System and Integrated Circuit Co Ltd filed Critical China Key System and Integrated Circuit Co Ltd
Priority to CN202111282734.XA priority Critical patent/CN114003515A/zh
Publication of CN114003515A publication Critical patent/CN114003515A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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良率的处理方法及系统。
背景技术
嵌入式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。
CN202111282734.XA 2021-11-01 2021-11-01 一种提高嵌入式Flash良率的处理方法及系统 Pending CN114003515A (zh)

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)

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
US9514843B2 (en) Methods for accessing a storage unit of a flash memory and apparatuses using the same
US11164650B2 (en) Scrub management in storage class memory
US20210216470A1 (en) Logical to virtual and virtual to physical translation in storage class memory
JP4196743B2 (ja) 半導体記憶装置
CN112579342A (zh) 内存纠错方法、内存控制器及电子设备
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