CN114514511A - 帮助识别微控制器的非易失性存储器的空白扇区的方法 - Google Patents

帮助识别微控制器的非易失性存储器的空白扇区的方法 Download PDF

Info

Publication number
CN114514511A
CN114514511A CN202080072115.5A CN202080072115A CN114514511A CN 114514511 A CN114514511 A CN 114514511A CN 202080072115 A CN202080072115 A CN 202080072115A CN 114514511 A CN114514511 A CN 114514511A
Authority
CN
China
Prior art keywords
memory
sector
microcontroller
volatile memory
memory cells
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
CN202080072115.5A
Other languages
English (en)
Inventor
S·拉波里-福尔奇
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.)
Vitesco Technologies GmbH
Original Assignee
Vitesco Technologies GmbH
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 Vitesco Technologies GmbH filed Critical Vitesco Technologies GmbH
Publication of CN114514511A publication Critical patent/CN114514511A/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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

公开了帮助识别微控制器的非易失性存储器的空白扇区的方法,该方法包括:在每次接收(401)到将数据写入到非易失性存储器的存储单元阵列的所确定的扇区的命令或擦除非易失性存储器的存储单元阵列的所确定的扇区的命令时,将表示所确定的扇区曾被写入或已被擦除的事实(即所讨论的扇区是被写入的还是空白的事实)的信息写入(403)到与该扇区相关联的微控制器的寄存器的所确定的存储单元中。

Description

帮助识别微控制器的非易失性存储器的空白扇区的方法
技术领域
本发明总体上涉及集成到微控制器的存储器。本发明更具体地涉及识别微控制器的非易失性存储器的空白扇区。本发明尤其适用于配备有闪存的微控制器,对闪存的存储单元进行编程需要预先检查它们是否是空白的。
背景技术
一般而言,术语“微控制器”表示这样的集成电路,其包括至少一个处理器、存储器(至少一个易失性存储器和至少一个非易失性存储器)以及输入输出接口,所述输入输出接口被适配成使得该微控制器能够连接到使用它的电子系统的其他电子电路。微控制器是自主组件,只要通电就可以执行包含在非易失性存储器中的程序,可以获取数字或模拟形式的数据,并且可以产生和传送数字数据和/或模拟电信号。
微控制器现在常用于所有嵌入式电子系统,尤其是在汽车应用中。它们使得能够在同时受到系统尺寸、能耗和成本的显著约束的环境中实现特定功能。
在机动车的领域中,现代机动车辆配备的大多数电子系统都是由这样的微控制器控制的。例如,用于控制向发动机中注射燃料的系统、车轮防抱死系统或者在更加自主的车辆的情境中用于分析雷达图像的嵌入式系统都是此类情况。在每个这些示例中,微控制器可以执行各种各样的操作来控制相关系统。
微控制器配备的非易失性存储器的一个特定功能是存储可由所述微控制器执行的程序。为此,该非易失性存储器必须能够根据微控制器在其所嵌入的系统中的具体用途进行编程,并在必要时进行重新编程。对微控制器的非易失性存储器进行编程以这样的操作为目标:通过该操作,特定数据(对应于程序)从非易失性存储器的专用接口写入到所述非易失性存储器中。当数据是要以二进制值“0”和“1”的形式保留在存储器中的有用数据时,称之为“写入操作”,以便根据应用的需要产生随后的读取操作。擦除全部或部分存储器也是一种特定类型的编程操作,因为根据所使用的技术类型,它包括向被擦除的所有存储单元写入“0”或“1”。
如今,对于当前微控制器中常用的一些非易失性存储器技术,特别是闪存技术,向存储器写入任何信息都需要应被写入信息的存储空间是空白存储空间。在本说明书的意义内,空白存储空间是在执行写入过程时不包含任何已经写入的有用数据(用户信息)的存储空间。换句话说,要么在启动写入过程时,存储空间中没有任何有用的信息,于是可以直接将所确定的信息写入其中;要么存储空间已经包含了写入信息,需要首先擦除该写入信息才能写入新信息。因此,写入操作包括检查该操作所牵涉到的存储单元的空白与否的状态的操作。
此外,在诸如微控制器中使用的非易失性存储器中,例如在闪存中,数据被存储在被分区的存储单元阵列中。扇区(也称为存储单元块或存储块)是指该阵列的一组存储单元,当执行擦除操作时,该组存储单元必须一起被擦除。换句话说,任何擦除操作尤其意味着擦除所确定的扇区中的所有存储单元。相反,在某些情况下,一个写入操作可以只涉及一个存储单元。然而,一个写入操作显然也可以同时涉及多个存储单元,而不管这些存储单元是属于一个扇区还是多个扇区。
然而,在扇区化的非易失性存储器的情况下,与前述技术相关的原因要求针对任一扇区中的数据写入,所讨论的扇区的所有存储单元都要如原始那样是空白的、或者如果它们先前已经被写入过则要被擦除。在这两种情况下,扇区都是空白的,并且可以根据命令全部或部分地被写入。正因如此,微控制器管理这样的非易失性存储器中的数据存储涉及到能定期识别所述非易失性存储器的空白扇区。
迄今为止,已知识别这样的非易失性存储器的空白扇区的过程是漫长而费力的。实际上,根据第一种已知方法,该过程一方面涉及使用用户代码(用户软件),用户代码被设计成在被执行时实现读取非易失性存储器的阵列的所有存储单元的连续操作,另一方面涉及解译该读取的结果。在这种情况下,必须开发适合每个给定微控制器技术的特定用户代码来执行这些操作。此外,这种代码涉及出错和/或配置困难的风险。
第二种已知方法是基于这样的事实:这样的非易失性存储器由集成到所述存储器的控制模块管理,所述控制模块包括接口模块。接口模块除了提供存储器的基本控制功能(例如写入、读取或擦除)之外,它还可以提供所谓的检查功能,检查已被擦除的扇区的存储单元的状态,在文献中称为“验证已擦除逻辑扇区范围”。该功能可由用户代码调用,以检查非易失性存储器的存储单元阵列的各个扇区的存储单元的空白与否的状态。
不论是采用第一种方法还是采用第二种方法,都必须扫描(即读取或检查)非易失性存储器的所有存储单元,才能确定存储单元阵列的所有扇区中哪些是空白扇区。因此,识别非易失性存储器的空白扇区所需的操作已证实特别冗长且消耗资源,因为这些操作涉及检查该扇区的每个存储单元处的空白与否的状态。此外,给定存储器的总存储容量或给定存储器的扇区的特定划分(即它们的数量和大小)也可能会延长识别空白扇区所需的时间。
发明内容
本发明旨在通过提供一种方法来减轻现有技术的上述缺点,该方法使得能够简单快速地将使得能够知晓微控制器的非易失性存储器的存储单元阵列的各个扇区的空白与否的状态的信息写入所述微控制器的寄存器。特别地,本发明源自于发明人的如下观察:可以将寄存器的存储单元(即一个比特)与非易失性存储器的每个扇区相关联,以反映该扇区的状态,即它被写入或擦除的事实。此外,有利地,对寄存器的写入可以与扇区的每个写入或擦除操作同时进行。因此,本发明本质上包括动态地更新寄存器,以反映给定时刻扇区的实际状态——空白或非空白。最后,读取寄存器以识别非易失性存储器的存储单元阵列的空白扇区是比根据上面介绍和讨论的已知方法执行这种识别的过程快得多的操作。
为此,本发明的第一方面提出了一种用于管理微控制器的可重写非易失性存储器的方法,所述存储器包括被组织成多个扇区的存储单元阵列,每个扇区包括多个存储单元,并且所述存储器还包括适于管理所述存储单元阵列的控制模块,该控制模块是并且包括接口模块,接口模块被配置为接收存储器中数据的写入、读取或擦除命令,解译接收到的所述命令,并在非易失性存储器的所确定的存储单元上执行对应于接收到的所述命令的操作,所述方法包括由接口模块响应于接收到将数据写入到存储单元阵列的所确定的扇区的至少一个存储单元的命令或擦除所述所确定的扇区的命令而执行的以下步骤:
- 一方面,执行分别对应于写入命令或擦除命令的写入操作或擦除操作;并且
- 另一方面,将分别表示所确定的扇区的存储单元的非空白状态或空白状态的信息写入到与所述所确定的扇区相关联的微控制器的寄存器的存储单元。
单独或组合地考虑的实施方式还提出:
- 非易失性存储器还包括多个存储体,每个存储体包括本地存储单元阵列和本地控制模块,本地控制模块被配置为从非易失性存储器的控制模块接收命令,并且在存储体的所确定的存储单元上执行与接收到的所述命令相关联的操作;
- 该方法还包括,响应于接口模块接收到检测存储单元阵列的空白扇区的请求而:
- 从微控制器的寄存器读取表示存储单元阵列的扇区的存储单元的空白状态或非空白状态的信息;和/或
- 该方法包括借助于二进制掩码来读取分别与存储器的扇区相关联的微控制器的寄存器的存储单元。
在第二方面中,本发明的另一主题是一种非易失性存储器,其适于存储可由微控制器的处理器写入、读取和擦除的数据,所述非易失性存储器包括存储单元阵列和控制模块,所述存储单元阵列被组织成多个扇区,每个扇区包括多个存储单元,所述控制模块包括适于实施根据第一方面的方法的所有步骤的接口模块。
单独或组合地考虑的实施方式还提出:
- 非易失性存储器是闪存类型的存储器;和/或
- 非易失性存储器的控制模块的接口模块是闪存标准接口(FSI)类型的模块。
在第三方面中,本发明的另一主题是一种微控制器,其包括处理器、至少一个输入/输出接口和适于存储数据并经由计算机总线与处理器交换数据的非易失性存储器,所述非易失性存储器包括存储单元阵列和控制模块,所述存储单元阵列包括分别由多个存储单元组成的多个扇区,所述控制模块包括适于实施根据第一方面的方法的所有步骤的接口模块。
附图说明
通过阅读下面的描述,本发明的其他特征和优点将变得更加明显。该描述纯粹是说明性的,应参考附图阅读,其中:
图1是根据本发明一个实施例的微控制器的示意性表示;
图2是根据本发明一个实施例的非易失性存储器的示意性表示;
图3是根据本发明一个实施例的微控制器的寄存器的示意性表示;以及
图4是根据本发明的方法的一个实施方式的步骤图。
具体实施方式
在接下来的实施例描述中以及在附图中,相同的元件或类似的元件在各图中具有相同的附图标记。
尽管本发明的应用不限于这种类型的存储器,但是将在闪存应用的背景下描述实施例。闪存是一种可重写的半导体大容量存储器,也就是说,这种存储器具有读写存储器的特征,但与读写存储器的不同之处在于,这种存储器适于即使它不再被供电也保留记录的数据。从功能角度来看,闪存在存储单元中存储数据比特,这些数据比特在供电被切断时被保留。
从技术角度看,闪存是基于EEPROM(电可擦除可编程只读存储器)芯片。它使用MOS晶体管作为它的基本单元,MOS晶体管具有埋在栅极氧化物中间、在沟道和栅极之间的浮动栅极,并且通过在该浮动栅极中捕获电子而以暂留的方式存储信息。通过在单元的输入点施加各种电压来将数据写入闪存以及从闪存擦除数据(称之为编程),这些电压高于简单读取操作所需的电压。因此,闪存是一种特殊类型的EEPROM。数据通常以块的形式被擦除和写入。最后,需要先擦除数据才能写入新数据。
图1示出了包括非易失性存储器的微控制器的示例,根据本发明的方法可以应用于该非易失性存储器。
微控制器101包括处理器102、非易失性存储器103、易失性存储器104、振荡器105和输入/输出接口107a、107b、107c和107d。此外,微控制器还包括一个或多个外围组件106,例如模数转换器或总线控制器。实际上,微控制器的各种组件经由连接它们的计算机总线以二进制信号的形式交换数据,但是微控制器也可以从传感器接收模拟电信号和/或向要操控的电路产生模拟电信号。如上所述,这样的微控制器可以集成到任何嵌入式电子系统,然后作为控制单元来管理所确定的功能。
作为对已知内容的回顾,处理器102可以执行存储在微控制器101的非易失性存储器103中的用户程序。易失性存储器104用于存储数据和变量,这些数据和变量对微控制器的操作是有用的,但是当微控制器不再被供电时就会丢失。振荡器105用于对微控制器的部件执行的所有操作进行计时(cadencer)。例如,它可以是RC电路。最后,如其名称所示,输入/输出接口可以连接到微控制器与之交互的嵌入式系统的其他电子部件或电路。
参考图2,现在将更详细地描述可以应用根据本发明的方法的可重写非易失性存储器的一个实施例。如前所述,这里考虑的存储器是闪存类型的存储器,但是本领域技术人员将理解,本发明不限于这种类型的存储器。
有利地,闪存提供高访问速度、长寿命和低电耗。这就是它被广泛使用的原因,尤其是在汽车应用中使用的微控制器中。
可重写非易失性存储器103包括存储单元阵列201(英语术语称为“array”)和控制模块202。存储单元阵列201包括多个扇区,每个扇区由多个存储单元组成。作为回顾,存储单元是在存储器中存储数据的基本单位。特别地,每个存储单元以“0”或“1”的形式存储二进制信息比特。本领域技术人员将理解,根据本发明的方法适用于非易失性存储器,而不管所述存储器的大小(即总存储空间)、其存储单元阵列所包括的扇区数量或其各个扇区的相应大小。
控制模块202管理对整个存储器的访问和操作。更具体地,控制模块202包括接口模块203,其被配置为例如经由微控制器的计算机总线206接收命令,解译所述命令,并且在非易失性存储器的所确定的存储单元上执行与接收到的所述命令相对应的所确定的操作。所讨论的操作可以是例如写入、读取、擦除或检查阵列的存储单元的操作。更特定地,“检查(vérification)”的意思是检查存储器的存储单元的空白与否的状态。此外,在一个特定实施例中,接口模块203还可以与代码纠错模块204交互,代码纠错模块204使得能够纠正与包含在存储器中的数据的可能损坏相关的错误。最后,接口模块203还访问微控制器的状态寄存器205(或标志寄存器),接口模块203可以在其中写入和擦除存储单元。状态寄存器205是非易失性存储器的专用部分,其没有集成到存储单元阵列201。如本身已知的,状态寄存器因此是可非常快速地访问的存储器,尤其用于存储与非易失性存储器的状态或与在所述非易失性存储器上执行的操作相关的信息。当然,微控制器可以包括类似于寄存器205的适用于管理微控制器的其他功能的其他状态寄存器(未示出)。
图3示出了根据本发明一个实施例的微控制器的状态寄存器205的示意性表示。更具体地,图3示出了具有三个子集301、302和303的状态寄存器205,每个子集301、302和303具有32比特的存储单元,其分别用于存储与例如非易失性存储器的标识或与非易失性存储器的状态相关的特定信息。如下文将描述的,根据本发明的方法在于使用状态寄存器205的这些存储单元中的一些来存储反映非易失性存储器的存储单元阵列的所确定的扇区的状态的信息。所确定的扇区的状态可以是空白的(也就是说,该扇区从未经历过数据写入,或者尽管曾写入过数据但随后已被擦除操作擦除)或非空白的(也就是说,有用数据被写入到了该扇区中并且仍然存储在那里)。换句话说,状态寄存器的所确定的比特的状态与所确定的扇区的存储单元的空白与否的状态直接相关联。特别是,根据所讨论的比特的值是0还是1,相应的所确定的扇区是空白的或是写入的,反之亦然。
回到图2,本领域技术人员将理解,在一个特定实施例中,非易失性存储器可以包括多个存储体。微控制器的处理器可以经由计算机总线以相同的方式访问每个存储体,并且每个存储体集成了与上面参考图2描述的非易失性存储器中包括的元件基本相同的元件。特别地,每个存储体包括本地存储单元阵列和本地控制模块,本地控制模块被配置为从非易失性存储器的控制模块接收命令,并且在存储体的所确定的存储单元上执行与接收到的所述命令相关联的操作。有利地,管理存储器中的数据的每个操作可以在单个非易失性存储器的多个存储体上并行执行。此外,在这种配置中,来自总线的指令/命令首先由非易失性存储器的单个控制模块接收和解译,该单个控制模块将它们转送给特定于每个存储体的本地控制模块,本地控制模块负责执行相关联的命令。
参考图4,现在将描述根据本发明的方法的一个实施方式。该方法可以由非易失性存储器的控制模块的接口模块来执行。
步骤401包括接收在存储器中编程的命令PROG_req,该命令可以是向存储单元阵列的所确定的扇区的至少一个存储单元写入数据的命令,或者是擦除存储单元阵列的所确定的扇区的命令。实际上,作为回顾,擦除操作仅可以针对整个扇区,而写入操作在必要时可以针对一个扇区的仅一部分。通常,写分辨率,即在写入操作中可以同时写入的最小存储单元数是8字节。用“页”来表示形成存储器的一个扇区的细分的这样一组字节。
步骤图的框402示出了接口模块响应于在步骤401中接收编程命令PROG_req而做出的选择,这取决于在所述步骤中接收的命令是写入命令还是擦除命令。第一种情况导致执行方法的步骤403a,第二种情况导致执行方法的步骤403b。本领域技术人员将会理解,无论选择哪种情况,步骤403都与所命令的写入或擦除操作的执行同时执行。特别地,正是这个方面使得能够动态地更新微控制器的状态寄存器205,并且因此使得能够随时间监控非易失性存储器的存储单元阵列的各个扇区的空白或非空白的状态。
因此,在第一种情况下,步骤403a包括向微控制器的状态寄存器205的与这样被写入的扇区相关联的所确定的存储单元REGi写入表示写入所述所确定的扇区的信息(即,所示示例中的逻辑值“1”)。换句话说,在接口模块实际写入所确定的扇区的全部或一部分的同时,它也写入状态寄存器205的所确定的比特REGi,该比特特定地与该扇区相关联,使得该比特表示所述扇区的写入状态。
在第二种情况下,步骤403b包括向微控制器的状态寄存器205的与这样被擦除的扇区相关联的所确定的存储单元REGi写入表示擦除所述所确定的扇区的信息(即所示示例中的逻辑值“0”)。该信息反映了所讨论的扇区因此是空白的事实,也就是说,其所有存储单元都处于空白状态的事实。换句话说,在接口模块实际擦除了整个所确定的扇区的同时,它也写入状态寄存器205的所确定的比特REGi,该比特特定地对应于该扇区,使得该比特表示所述扇区的空白状态。
在该方法的一个特定实施方式中,该方法还包括:响应于接口模块接收到检测存储单元阵列的空白扇区的请求,读取微控制器的寄存器,并发送表示写入或擦除存储单元阵列的扇区的信息。这些步骤使得能够在给定时刻可靠地识别非易失性存储器的各个空白扇区。特别是为了对所述非易失性存储器的存储单元进行编程。
因此,有利地,该方法使得能够将与扇区状态相关的信息写入到可非常快速地访问的存储器中,并在每次扇区状态改变时更新这些信息。因此,识别空白扇区的资源消耗与迄今为止已知的方法相比要低得多,特别是时间消耗。
此外,在该方法的一个特定实施方式中,借助于二进制掩码将微控制器的寄存器的每个存储单元的读取分别与存储器的扇区相关联。如本身已知的,这种二进制掩码是一个二进制序列,旨在指示所确定的操作所牵涉到的比特的位置。应用于掩码和寄存器单元的组合的所确定的逻辑运算仅能锚定感兴趣单元。因此,读取微控制器的寄存器的操作仅针对所述寄存器的被认为有用的存储单元的所确定的部分,以便进一步减少操作的持续时间。
在非易失性存储器的一个特定实施例中,非易失性存储器的控制模块的接口模块可以是闪存标准接口(FSI)类型的模块,其通常存在于闪存类型的存储器中。有利地,这种接口模块是常用于接收、解译和执行来自微控制器总线的命令的模块,因此不需要任何特定的装置来在微控制器中实施本方法。
在权利要求中,术语“包括”或“包含”不排除其他元件或其他步骤。单个处理器或多个其他单元可以用于实施本发明。可以有利地组合各种呈现的和/或要求保护的特征。它们在说明书或不同的从属权利要求中的存在并不排除这种可能性。附图标记不应被理解为限制本发明的范围。

Claims (8)

1.一种用于管理微控制器(101)的可重写的非易失性存储器(103)的方法,所述存储器包括被组织成多个扇区的存储单元阵列(201),每个扇区包括多个存储单元,并且所述存储器还包括适于管理所述存储单元阵列的控制模块(202),该控制模块(202)是并且包括接口模块(203),接口模块(203)被配置为接收存储器中数据的写入、读取或擦除命令,解译接收到的所述命令,并在非易失性存储器的所确定的存储单元上执行对应于接收到的所述命令的操作,所述方法包括由接口模块响应于接收(401)到将数据写入到存储单元阵列的所确定的扇区的至少一个存储单元的命令或擦除所述所确定的扇区的命令而执行的以下步骤:
- 一方面,执行分别对应于写入命令或擦除命令的写入操作或擦除操作;并且
- 另一方面,将分别表示所确定的扇区的存储单元的非空白状态或空白状态的信息写入(403)到与所述所确定的扇区相关联的微控制器的寄存器(205)的存储单元。
2.根据权利要求1所述的方法,其中,非易失性存储器还包括多个存储体,每个存储体包括本地存储单元阵列和本地控制模块,本地控制模块被配置为从非易失性存储器的控制模块接收命令,并且在存储体的所确定的存储单元上执行与接收到的所述命令相关联的操作。
3.根据权利要求1和2中的任一项所述的方法,还包括响应于接口模块接收到检测存储单元阵列的空白扇区的请求而:
- 从微控制器的寄存器读取表示存储单元阵列的扇区的存储单元的空白状态或非空白状态的信息。
4.根据权利要求3所述的方法,包括借助于二进制掩码来读取分别与存储器的扇区相关联的微控制器的寄存器的存储单元。
5.一种非易失性存储器(103),其适于存储可由微控制器(101)的处理器(102)写入、读取和擦除的数据,所述非易失性存储器包括存储单元阵列(201)和控制模块(202),所述存储单元阵列被组织成多个扇区,每个扇区包括多个存储单元,所述控制模块包括适于实施根据权利要求1至4中的任一项所述的方法的所有步骤的接口模块(203)。
6.根据权利要求5所述的非易失性存储器,所述非易失性存储器是闪存类型的存储器。
7.根据权利要求5所述的非易失性存储器,其中,非易失性存储器的控制模块的接口模块是闪存标准接口(FSI)类型的模块。
8.一种微控制器(101),其包括处理器(102)、至少一个输入/输出接口(107)和适于存储数据并经由计算机总线与处理器交换数据的非易失性存储器(103),所述非易失性存储器包括存储单元阵列和控制模块,所述存储单元阵列包括分别由多个存储单元组成的多个扇区,所述控制模块包括适于实施根据权利要求1至4中的任一项所述的方法的所有步骤的接口模块。
CN202080072115.5A 2019-10-15 2020-10-08 帮助识别微控制器的非易失性存储器的空白扇区的方法 Pending CN114514511A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1911437A FR3101974B1 (fr) 2019-10-15 2019-10-15 Procédé d’aide à l’identification de secteurs vierges d’une mémoire non-volatile d’un microcontrôleur
FRFR1911437 2019-10-15
PCT/EP2020/078198 WO2021073990A1 (fr) 2019-10-15 2020-10-08 Procede d'aide a l'identification de secteurs vierges d'une memoire non-volatile d'un microcontroleur

Publications (1)

Publication Number Publication Date
CN114514511A true CN114514511A (zh) 2022-05-17

Family

ID=69572092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080072115.5A Pending CN114514511A (zh) 2019-10-15 2020-10-08 帮助识别微控制器的非易失性存储器的空白扇区的方法

Country Status (4)

Country Link
US (1) US20220283726A1 (zh)
CN (1) CN114514511A (zh)
FR (1) FR3101974B1 (zh)
WO (1) WO2021073990A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737089A (zh) * 2023-08-15 2023-09-12 北京紫光芯能科技有限公司 配置数据的存储方法、装置和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222779B1 (en) * 1998-04-24 2001-04-24 Kabushiki Kaisha Toshiba Semiconductor storage device with automatic write/erase function
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
TW201015565A (en) * 2008-10-03 2010-04-16 Via Telecom Inc Memory wear leveling method, system and device
TWI375887B (en) * 2008-10-31 2012-11-01 A Data Technology Co Ltd Flash memory device with wear-leveling mechanism and controlling method thereof
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9679658B2 (en) * 2015-06-26 2017-06-13 Intel Corporation Method and apparatus for reducing read latency for a block erasable non-volatile memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737089A (zh) * 2023-08-15 2023-09-12 北京紫光芯能科技有限公司 配置数据的存储方法、装置和系统
CN116737089B (zh) * 2023-08-15 2023-11-21 北京紫光芯能科技有限公司 配置数据的存储方法、装置和系统

Also Published As

Publication number Publication date
FR3101974B1 (fr) 2021-09-10
WO2021073990A1 (fr) 2021-04-22
FR3101974A1 (fr) 2021-04-16
US20220283726A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
US7171536B2 (en) Unusable block management within a non-volatile memory system
US6081878A (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
EP1729304B1 (en) Space management for managing high capacity nonvolatile memory
US8300465B2 (en) Semiconductor and flash memory systems
US7836244B2 (en) Method of providing block state information in semiconductor memory device including flash memory
US8041879B2 (en) Flash memory backup system and method
US8190811B2 (en) Defragmentation of solid state memory
US8332574B2 (en) Method for efficient storage of metadata in flash memory
US7454670B2 (en) Data management apparatus and method of flash memory
EP0991081B1 (en) Emulated EEPROM memory device and corresponding method
US20040103241A1 (en) Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US5379262A (en) Nonvolatile semiconductor memory device
US20060129750A1 (en) Method and apparatus for storing multimedia data in nonvolatile storage device in units of blocks
CN110489052B (zh) 数据储存装置
CN110895449A (zh) 用于在存储器系统中管理有效数据的装置和方法
CN114514511A (zh) 帮助识别微控制器的非易失性存储器的空白扇区的方法
US20080181008A1 (en) Flash memory system capable of improving access performance and access method thereof
KR100737919B1 (ko) 낸드 플래시 메모리의 프로그램 방법 및 메모리 시스템의프로그램 방법
US10990381B2 (en) Method and device for updating a program
US10223195B2 (en) Counter in a flash memory
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
US11068204B2 (en) Memory device with multiple physical spaces, multiple non-volatile memory arrays, multiple main data, multiple metadata of multiple types of commands, and access method thereof
CN114385084B (zh) 坏块表继承方法及其存储装置
US10957398B2 (en) Electronic device with memory erased by page
CN115268768A (zh) 一种提升nor flash擦写寿命的存储控制方法

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