CN115202570A - 用于写入和读取非易失性电子存储器的方法、设备和计算机程序以及存储设备和半导体构件 - Google Patents
用于写入和读取非易失性电子存储器的方法、设备和计算机程序以及存储设备和半导体构件 Download PDFInfo
- Publication number
- CN115202570A CN115202570A CN202210367906.1A CN202210367906A CN115202570A CN 115202570 A CN115202570 A CN 115202570A CN 202210367906 A CN202210367906 A CN 202210367906A CN 115202570 A CN115202570 A CN 115202570A
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- data frame
- index
- frames
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000004590 computer program Methods 0.000 title claims abstract description 9
- 239000004065 semiconductor Substances 0.000 title claims abstract description 5
- 238000002360 preparation method Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003679 aging effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012546 transfer Methods 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- 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/061—Improving I/O performance
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
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)
Abstract
本发明涉及用于写入和读取非易失性电子存储器的方法、设备和计算机程序及存储设备和半导体构件。一种以数据字和配属索引信息写入初始仅填充有能用多数据帧和/或单数据帧覆盖的空数据帧的非易失性电子存储器的方法:一多数据帧包括可选数量的顺序保存的数据字及一保存帧类型标记、数据字数量和可选起始索引的多数据帧数据头,通过递增或递减能给每个数据字配属来自由数量和起始索引定义的索引区间的、自己的索引值;一单数据帧包括一数据字及一保存帧类型标记和可选索引值的单数据帧数据头;顺序覆盖空数据帧,将待存储数据字和配属索引信息的至少部分写入至少一个多数据帧中,单独选择多数据帧的数据字数量和起始索引并写入多数据帧数据头中。
Description
技术领域
本发明涉及一种用于写入非易失性存储器的方法。本发明还涉及一种用于读取非易失性电子存储器的方法。本发明还涉及一种用于写入非易失性存储器的设备。本发明还涉及一种用于读取非易失性电子存储器的设备。本发明还涉及一种计算机程序产品。
背景技术
在集成式半导体电路(IC)中,通常需要以芯片单独的形式存储值,例如为了校准步骤的目的。如果已知这些值将不再变化,则为此能够使用一次性可编程存储器(例如,一次性可编程(OTP)存储器或可编程只读存储器(PROM))。与能够重编程的存储器相比,这些存储器通常在面积需求或者说存储密度和功耗方面具有优势。
一次性可编程存储器的缺点是,例如在重新校准的过程中,事后的值变化在没有其他措施的情况下是不可能的,其中,为此需要附加的措施。存储器能够例如设计得明显更大并且划分为页面(英语:pages)。通过写入新页面,能够替换先前写入的页面的旧值。然而,这种“分页(Paging)”方法缩放得较差,因为一次性可编程存储器必须设计得明显更大以用于每个附加的页面。
发明内容
本发明的任务是,提供一种用于写入和读取非易失性电子存储器的改进的方法。
根据第一方面,利用一种用于以数据字和配属的索引信息写入非易失性电子存储器的方法解决该任务,其中,所述非易失性电子存储器初始仅填充有空数据帧,并且,所述空数据帧能够用多数据帧和/或单数据帧来覆盖,
-其中,一个多数据帧包括可选数量的顺序保存的数据字和一个多数据帧数据头,其中,在所述多数据帧数据头中保存帧类型标记、数据字的数量和能够选择的起始索引,从而通过递增或递减能够给每个数据字配属来自索引区间的、自己的索引值,其中,通过所述数量和所述起始索引定义所述索引区间;
-其中,一个单数据帧包括一个数据字和一个单数据帧数据头,其中,在所述单数据帧数据头中保存帧类型标记和所述单数据帧的所述一个数据字的能够选择的索引值;
其特征在于,
-顺序覆盖所述空数据帧,并且
-将待存储的数据字和配属的索引信息的至少一部分写入至少一个多数据帧中,其中,单独选择所述多数据帧的数据字的数量和数据字的起始索引并且将其写入所述多数据帧数据头中。
有利地,所述方法例如能够用于必须改变配置数据的地方,从而例如能够以简单的方式用低的耗费补偿电子硬件的制造分散性。在非易失性电子存储器中,数据帧由于顺序的写入而没有重叠,其中,以这种方式能够在下游的读取过程中分别读取最新的有用数据。
根据另一个方面,利用一种设备解决该任务,所述设备设置用于执行所提出的方法。
根据另一个方面,利用一种用于读取非易失性电子存储器的方法解决该任务,其中,以多数据帧、单数据帧和空数据帧的形式顺序地读取所存储的帧,并且,所述方法针对每个待读取的帧都包括以下步骤:
-基于数据头信息、尤其是基于帧类型标记(Rahmentyp-Markers)和/或数据字的数量确定帧类型,
-在多数据帧的情况下,顺序读取各个数据字并且基于存储在多数据帧数据头中的起始索引和所述数据字的数量确定配属的索引值,
在单数据帧的情况下,读取一个数据字连同存储在单数据帧数据头中的索引值,并且
-将每个读取的数据字和配属的索引值存储在能够重写的数据存储器中,要么当在所述能够重写的数据存储器中尚不存在配属的索引值的记录时作为新的记录来存储,要么通过覆盖已经存在的、具有相同索引值的记录来存储。
以这种方式,非易失性存储器与先前发生的顺序写入类似地随后被顺序读取。例如,以这种方式,有用数据能够例如以校准数据的方式被替换,从而当前校准数据分别被写入易失性存储器中并且被使用。数据存储器在此能够是易失性存储器或寄存器。
所述读取因而以一种方式和方法进行:在该方式和方法中,应当如何解读非易失性电子存储器的存储内容是清楚的。所述方法能够例如在硬件中(例如在存储控制器中)和/或在软件中实现。
根据另一个方面,利用一种用于读取非易失性电子存储器的设备解决该任务,其中,所述设备构造用于执行所提出的用于读取非易失性电子存储器的方法。
根据另一个方面,利用一种具有程序代码单元的计算机程序解决该任务。
根据另一个方面,利用一种存储设备解决该任务,所述存储设备包括至少一个非易失性电子存储器,所述非易失性电子存储器初始仅填充有空数据帧并且已利用所提出的用于写入非易失性电子存储器的方法写入,从而能够单独寻址的数据字和配属的索引信息保存在顺序存储的多数据帧和/或单数据帧中。
所述方法和所述设备的有利扩展方案在下文中说明。
所述方法的一个有利扩展方案设置,将待存储的数据字和配属的索引信息的至少一部分写入至少一个单数据帧中,其中,单独选择所述单数据帧的一个数据字的索引值并且将其写入单数据帧数据头中。在此有利的是,非易失性电子存储器的写入顺序或者说所使用的数据帧的类型是不重要的。
所述方法的一个有利扩展方案设置,如此选择待写入的多数据帧的数据字的数量和数据字的起始索引,使得所述待写入的多数据帧的索引区间不与已写入的多数据帧的索引区间和/或不与单数据帧的索引值相交。由此,使用不相交的索引区间或者说索引值,从而借助多数据帧和单数据帧来支持非易失性存储器的高效充分利用。在此,索引值不必直接彼此邻接,即,索引区间不必具有相交部。索引值能够自由分配给多数据帧。对于每个数据帧来说,数量和索引都是完全独立的并且能够自由选择。
所述方法的另一个有利扩展方案设置,数据字的数量和数据字的起始索引,其中,如此选择待写入的多数据帧的数据字的数量和的数据字的起始索引,使得所述待写入的多数据帧的索引区间至少部分地与已写入的多数据帧的索引区间和/或与至少一个单数据帧的索引值相交。这针对索引区间重叠或者说相交的情况。
所述方法的另一个有利扩展方案设置,如此选择待写入的单数据帧的所述一个数据字的索引值,使得所述索引值与已写入的多数据帧和/或单数据帧的数据字的所有索引值都不同。
所述方法的另一个有利扩展方案设置,将至少一个已写入的多数据帧和/或单数据帧的待替换的数据字的索引值选择作为用于待写入的单数据帧的所述一个数据字的索引值。
有利地,以这种方式能够利用相同的索引顺序写入各个数据字,从而能够有利地将非易失性电子存储器的存储空间需求最小化。有利地,所述方法能够利用不同类型的数据帧来执行,从而例如根据数据范围而能够高效地更新配置数据。在一个帧中综合的有用数据越多,所述方法缩放得就越好。
所述方法的另一个有利扩展方案设置,至少一个多数据帧通过在所述多数据帧数据头中的标识而无效,和/或,至少一个单数据帧通过在所述单数据帧数据头中的标识而无效。有利地,以这种方式能够支持遵守硬件的定义起动时间。
所述方法的另一个有利扩展方案设置,至少一个多数据帧通过以定义为失效的第一索引值覆盖保存在所述多数据帧数据头中的起始索引和/或通过在所述多数据帧数据头中设置无效标记而无效。
所述方法的另一个有利扩展方案设置,至少一个单数据帧通过以定义为失效的第二索引值覆盖保存在所述单数据帧数据头中的索引值和/或通过在所述单数据帧数据头中设置无效标记而无效。以上述方式,提供了用于使不同数据帧无效的不同可能性。
所述方法的另一个有利扩展方案设置,在读取时,检查待读取的多数据帧和/或单数据帧的有效性,并且,跳过无效的多数据帧或者说单数据帧。
所述方法的另一个有利扩展方案设置,所述非易失性电子存储器的读取仅持续到空数据帧被识别为下一个待读取的帧为止。以这种方式指定了读取过程的结束,其中,当识别出空数据帧时,能够结束读取过程。
下面,利用另外的特征和优点根据多个附图详细地描述本发明。附图主要旨在说明对本发明来说至关重要的原理。
所公开的方法特征类似地由相应的所公开的设备特征得出,并且反之亦然。这尤其意味着,与所提出的方法相关的特征、技术优点和实施方案以类似的方式从与所提出的设备相关的相应实施方案、特征和优点中得出,并且反之亦然。
附图说明
在附图中示出:
图1至图3用于所提出的方法的数据帧;以及
图4数据流或者说整个系统的原理框图。
具体实施方式
在以下描述的意义上,数据元素的宽度或者说数据位(Bits)数将被一般地理解,即,此类元素能够具有定义的数据位数。因而,术语“数据头”和“数据字”能够不受一般性限制地具有任意的、定义的数据位数。
所提出的方法有利地实现了如同数据字的高效初始化地同样执行各个更新,其中,通常校正多个数据字而非单个的数据字。
通过适当地布置数据字能够利用所提出的方法实现开销的进一步降低并且因而实现改进的存储器利用率。
有利地,所提出的方法即使在完成IC之后也提供了更大的灵活性。有利地,所提出的方法能够简单地并且因而以节省资源的方式在硬件(芯片表面)和/或软件(程序代码)中实现。
代替预定义的存储区域(例如页面、索引区域、值区域等)使用了数据帧,所述数据帧线性地或者说顺序地——即以连续增加或减少的地址——被保存在非易失性存储器中或者说从非易失性存储器中被读取。每个数据帧都由一个数据头以及可选地一个或多个数据字组成。数据帧类型通过数据头而彼此区分,即能够明确地解码。包含在数据帧中的数据字通过索引而能够明确地配属给保存在易失性存储器中的数据字DW(0)…DW(N-1),其中,N是易失性存储器中的数据字的总数。提出了下面参考图1至3详细描述的以下数据帧类型。
能够借以执行所提出的用于写入和读取的方法的非易失性存储器100初始(例如从出厂起)要么仅包含0要么仅包含1。
图1示出具有数据头字HW1的空数据帧(无数据帧,英文:No-Data-Frame)10,所述数据头字包含值或者说数量i=0。由于在一次性可编程存储器中通常仅能够写入1,因此这种数据帧类型能够完全被覆盖。
空数据帧10能够被视为定义的边界数据元素或者说中止条件,从识别出所述定义的边界数据元素或者说中止条件起,在读取时不会进一步地读取非易失性电子存储器100。
图2示出单数据帧30,所述单数据帧与先前提到的数据帧类型10的区别在于数据头中的帧类型标记M。完全地一般地,帧类型必须能够以某种方式通过数据头明确地识别出来。
图3示出多数据帧20(批量数据帧,英语:bulk data frame)的原理结构,所述多数据帧与空数据帧10的区别同样在于数据头中的帧类型标记M。此外,多数据帧20具有两个数据头字HW1、HW2,其中,第一数据头字HW1包含数量i>0。不一定必须是两个数据头字,这仅在本实施方式中作为示例的情况。如果例如信息i和n在另一个示例中匹配到共同的字中,则这示例性地也是允许的。
在第一数据头字HW1中保存数据字的数量i,并且,在第二数据头字HW2中保存起始索引n。跟随具有两个数据头字HW1、HW2的数据头的是数据字DW(n)…DW(n+i-1),从起始索引n处开始。
多数据帧20与单数据帧30相比具有更高的效率,因为多数据帧需要更少的用于数据字DW(n)…DW(n+i-1)的开销,其中,在一个多数据帧20中综合的数据字DW(n)…DW(n+i-1)越多,即i能够选择得越大,则能够实现数据字DW(n)…DW(n+i-1)的越好的缩放。
例如,帧类型标记M能够构造为数据头字HW1的最高有效数据位。单数据帧30的数据头字HW1包含紧接着数据头字HW1保存的单个数据字DW(n)的起始索引n。
多数据帧20和单数据帧30的起始索引能够例如是地址,利用该地址实现了将在非易失性电子存储器100中的数据帧的数据字配属到易失性存储器200的数据字DW(0)…DW(N-1)上。然而,也可设想起始索引n的其他类型,其例如通过配属表(查找表,英文:lookuptable)允许数据字的所提到的配属。
在数据帧具有完全或部分重叠的目标值索引的情况下,在从非易失性电子存储器100中连续读取两个数据帧并且写入易失性电子存储器200时,第一数据帧的一些数据字随后将由后续的数据帧覆盖。以这种方式,在易失性存储器200中能够简单地更新数据字DW(n)…DW(n+i-1)。因而事后能够以简单的方式改变数据字DW(n)…DW(n+i-1)。
如果事后仅应改变配置数据的单个的值(例如为了考虑硬件的老化效应等),则这种可能性是特别有利的。当两个帧并不占有同一个起始索引但是仍然覆盖共同的子集时,也会发生更新。当初始的多数据帧覆盖所有目标值DW(0)…D(N-1)并且事后写入的、具有i<N的较小的多数据帧仅更新所有目标值的子集时,尤其如此。
如已经提到的那样,非易失性电子存储器100默认具有空数据帧10。以这种方式,不会覆盖在易失性存储器中的数据字DW(0)…DW(N-1)中的任一个数据字。这些空数据帧10能够由单数据帧或多数据帧20、30覆盖。这些空数据帧还用作用于没有另外的数据字跟随的指示器。如果所有的数据字DW(0)…DW(N-1)初始都应当被设置,则为此能够使用具有i=N且n=0的多数据帧20,从而所有数据字DW(0)…DW(N-1)都被设置一次。如果稍后应当更新单个的数据字DW(n),则为此能够附加单个的单数据帧30。
然而,通常需要一次更新多个数据字DW(n)…DW(n+i-1)(例如,在校准系统的情况下)。由多个单数据帧30产生的开销在此将是无法忽略的。然而,如果这些数据字DW(n)…DW(n+i-1)以合适的方式、即以连续的索引布置,则所提出的方法的优点显现出来:
现在,代替多个单数据帧30地可以使用单个的多数据帧20,其中,对于i个目标值而言,代替i个数据头地仅产生单个的数据头。
在另一选项中能够设置,事后使在非易失性电子存储器100中的各个帧失效。这例如通过以下方式发生:事后将有用数据帧的起始索引n设置成最大值,在二进制表示中即全部为1,从而在读取非易失性存储器100时确定,不应从非易失性存储器100中的帧中读取所提到的数据字DW(n)…DW(n+i-1)并且不应将其写入到易失性存储器200中。这一点的前提是:可用n表示的最大值大于在易失性存储器中的数据字的数量N,即最大值不相应于有效的索引值。
由此,以有利的方式能够阻止,在此期间将不利的配置数据录入敏感硬件中,从而可能导致硬件的不稳定的情况(例如电压、电流等)。利用非易失性存储器100中的数据字DW(n)…DW(n+i-1)的这种定义的无效也有利地支持遵守定义的启动时间。
图4示出所提出的方法流程的原理框图,其利用所提出的设备以执行所述方法。可以看出用于写入非易失性电子存储器100的设备40。还能够看到用于读取非易失性电子存储器100的设备50,其中,从保存在非易失性电子存储器100中的有用数据帧中提取数据字并且将其复制到易失性电子存储器200(例如RAM或寄存器)中。在非易失性电子存储器100中还能够看到空数据帧10,所述空数据帧定义非易失性存储器100中的有用数据区域的结束。
所提出的用于用数据字和所配属的索引信息写入非易失性电子存储器100的方法设置,非易失性电子存储器100初始(例如从出厂起)仅填充有空数据帧10,并且,空数据帧10能够用多数据帧20和/或单数据帧30覆盖。
在此,一个多数据帧20包括可选数量i的顺序保存的数据字和一个多数据帧数据头,其中,在多数据帧数据头中保存帧类型标记、数据字的数量i和能够选择的起始索引n,从而通过递增或递减给每个数据字配属来自索引区间的、自己的索引值,其中,通过数量i和起始索引n定义所述索引区间。
一个单数据帧30包括一个数据字和一个单数据帧数据头,其中,在单数据帧数据头中保存帧类型标记M和单数据帧30的数据字的能够选择的索引值。
设置,顺序地覆盖非易失性电子存储器100的空数据帧10,其中,将待存储的数据字和所配属的索引信息的至少一部分写入至少一个多数据帧20中,其中,单独选择多数据帧20的数据字的数量i和数据字的起始索引n并且将其写入具有两个数据头字HW1、HW2的多数据帧数据头中。
优选能够设置,如此选择待写入的多数据帧20的数据字的数量i和数据字的起始索引n,使得待写入的多数据帧20的索引区间不与已写入的多数据帧20的索引区间和/或不与单数据帧30的索引值相交。
此外,在替代的变型方案中能够设置,如此选择待写入的多数据帧20的数据字的数量i和数据字的起始索引n,使得待写入的多数据帧20的索引区间至少部分地与已写入的多数据帧20的索引区间和/或与至少一个单数据帧30的索引值相交。
在另一个替代方案中能够设置,如此选择待写入的单数据帧30的数据字的起始索引或者说索引值,使得所述起始索引或者说索引值与已写入的多数据帧20和/或单数据帧30的数据字的所有索引值都不同。
优选地,还能够设置,将至少一个已写入的多数据帧20和/或单数据帧30的待替换的数据字的索引值选择作为用于待写入的单数据帧30的所述数据字的起始索引或者说索引值。
用于使有用数据无效的优选变型方案设置,至少一个多数据帧20通过在多数据帧数据头中的标识而无效。附加地或替代地能够设置,至少一个单数据帧30通过在多数据帧数据头中的标识而无效。在此能够设置,至少一个多数据帧20通过以定义为失效的第一索引值覆盖保存在多数据帧数据头中的起始索引n和/或通过在所述多数据帧数据头中设置无效标记而无效。
此外,为了使数据无效能够设置,至少一个单数据帧30通过以定义为失效的第二索引值覆盖保存在单数据帧数据头中的索引值n和/或通过在所述单数据帧数据头中设置无效标记而无效。
借助设备50实施用于读取非易失性电子存储器的方法,其中,以多数据帧(20)、单数据帧(30)和空数据帧10的形式顺序地读取所存储的帧,其中,所述方法针对每个待读取的帧都包括以下步骤:
基于数据头信息、尤其是基于帧类型标记和/或数据字的数量i确定帧类型,其中,
-在多数据帧20的情况下:顺序读取各个数据字并且基于存储在多数据帧数据头中的起始索引n和数据字的数量i确定所配属的索引值,
-在单数据帧30的情况下:读取数据字连同存储在单数据帧数据头中的索引值,并且
将每个读取的数据字连同所配属的索引值存储在能够重写的(即易失性的)数据存储器中,要么当在所述能够重写的数据存储器中尚不存在所配属的索引值的记录时作为新的记录执行所述存储,要么通过覆盖已经存在的、具有相同索引值的记录执行所述存储。
所提出的设备40、50能够分别至少部分地以软件的形式和以硬件的形式构造。两个设备40、50有利地“理解”非易失性电子存储器100的数据格式10、20、30并且能够以正确的方式解读所述数据格式以用于在易失性电子存储器200中的正确使用。
由于特定的数据帧,在从非易失性电子存储器100中读取数据帧的第一数据头字的情况下已经已知所涉及的数据帧的类型。
下面阐述所提出的方法的有利应用情况:
在带有三个轴的加速度传感器中应保存总共N=70个数据字(例如字节)。非易失性电子存储器100具有例如128个字节,其中,使用上面阐述的数据头格式。利用所提出的方法,需要72个字节以借助具有i=N和n=0的多数据帧来初始化所有数据字,因为除了i=N个数据字之外还需保存数据头。然而,如果数据字DW(0)…DW(N-1)中的一些作为对未来的保留(例如以所保留的寄存器的形式)而布置在索引列表的末尾,则这些数据字不一定必需借助所提出的方法写入,初始的多数据帧20可以形成得更短,其中i<N。如果保留寄存器保持永久地不被利用,则由此变得空闲的存储区域也可以永久地用于其他目的。从两个这样的保留目标值起,两种方法已经保持平衡。
非易失性电子存储器100的36个至今未写入的字节在初始化所有N个数据字之后还包含空数据帧,在稍后的时间点能够覆盖这些空数据帧。
在初始调设之后,在稍后的时间点应重新求取并且校正校准值。对于三轴加速度传感器,这例如将涉及六个字节。在利用多数据帧20的情况下将需要在非易失性存储器中的八个字节(两个数据头字HW1、HW2,i=6个数据字),以便校正校准值。在这个校正步骤之后,非易失性电子存储器100还将包含28个空数据帧,所述空数据帧能够被覆盖以用于进一步校正。
可以看出,必须一次校正的彼此相邻的数据字DW(n)…DW(n+i-1)越多,则所提出的方法越高效。在此,如果需要也能够用同一值覆盖不需要改变的数据字,只要由此仅需要单个的多数据帧20而不是两个。所提出的方法的更高的存储效率实现了将非易失性电子存储器100设计得更小,从而有利地能够减小硅面积和电功耗。替代地,在存储器大小相同的情况下能够提供更多的校正步骤。
读取存储内容并且写入目标值的硬件或软件解决方案必须针对这种产品设计。然而,所提出的方法在这方面非常灵活。所使用的非易失性电子存储器100多大以及存在多少数据字DW(0)…DW(N-1)起着有限的作用。在所提出的方法中,有利地仅需要微小的匹配(例如存储器地址的数量),以便将硬件或软件解决方案转用到其他产品上并且再次使用。
在所提出的方法中,非易失性电子存储器100能够以简单的方式顺序或者说线性地或者说连续地被读取和被处理,其中,当识别出空数据帧10时,能够立即结束读取过程。否则仅需区分单数据帧和多数据帧20、30。目标地址和目标数据也能够在无需跳转的情况下容易地求取出。
所提出的方法并不复杂,但是仍然提供了很大的灵活性。有利地,能够简单地、即以少的错误实现该方法,并且在此同时要求小的面积(在硬件解决方案中)或程序存储器(在软件解决方案中)。
根据存储器的字宽和可能的数据字的数量,起始索引n的值和多数据帧20中的数量i也能够保存在存储器字中。
相反,在大量数据字的情况下,也可能需要多个存储位置以用于索引n和数量i。
如果数据字大于存储器字,则每个目标值也可以使用多个存储器字,然而优选地,已经针对数据字大小优化地设计了非易失性电子存储器100。
如果数据字中的一个数据字是校验和,则能够如下地修改单数据帧和多数据帧:将新的校验和值始终附加于帧类型。这节省了否则附加所需的用于校验和的单数据帧的开销,但是使所述方法更强地匹配于正确的系统,这降低了可重复使用性。
如果非易失性电子存储器100默认包含1而不是0,则所述方法能够类似地实施,其方式是,以相应互补的方式定义空数据帧10和在10、20和30中的标记M。
有利地,所提出的用于读取非易失性存储器100的方法可以用于电子系统的起动或者说启动。该方法在以下系统中是特别有利的:所述系统对面积非常敏感并且具有用于非易失性存储器的非常有限的面积,例如传感器系统。
结果,由此能够有利地实现非易失性存储器的高存储密度和这些有限资源的高效利用。有利地,以这种方式能够以简单的方式在事后更改配置数据,而不必用高度集成的非易失性存储器替换设备。有利地,以这种方式支持了在灵活性和存储效率之间的折衷。
有利地,所提出的方法能够以硬件和/或软件的形式实现,所述硬件和/或软件在用于创建访问权限方案的设备上运行。以这种方式实现了所述方法的简单的适应性。
本领域技术人员将以合适的方式更改和/或相互组合本发明的特征,而不背离本发明的核心。
Claims (18)
1.一种用于以数据字和配属的索引信息写入非易失性电子存储器(100)的方法,其中,所述非易失性电子存储器(100)初始仅填充有空数据帧(10),并且,所述空数据帧(10)能够用多数据帧(20)和/或单数据帧(30)来覆盖,
-其中,一个多数据帧(20)包括可选数量(i)的顺序保存的数据字和一个多数据帧数据头,其中,在所述多数据帧数据头中保存帧类型标记、所述数据字的数量(i)和能够选择的起始索引(n),从而通过递增或递减能够给每个数据字配属来自索引区间的、自己的索引值,其中,通过所述数量(i)和所述起始索引(n)定义所述索引区间;
-其中,一个单数据帧(30)包括一个数据字和一个单数据帧数据头,其中,在所述单数据帧数据头中保存帧类型标记和所述单数据帧(30)的所述一个数据字的能够选择的索引值;
其特征在于,
-顺序覆盖所述空数据帧(10),并且
-将待存储的数据字的和配属的索引信息的至少一部分写入至少一个多数据帧(20)中,其中,单独选择所述多数据帧(20)的数据字的数量(i)和数据字的起始索引(n)并且将其写入所述多数据帧数据头中。
2.根据权利要求1所述的方法,在所述方法中,将待存储的数据字的和配属的索引信息的至少一部分写入至少一个单数据帧(30)中,其中,单独选择所述单数据帧(30)的所述一个数据字的索引值并且将其写入所述单数据帧数据头中。
3.根据权利要求1或2所述的方法,在所述方法中,如此选择待写入的多数据帧(20)的数据字的数量(i)和数据字的起始索引(n),使得所述待写入的多数据帧(20)的索引区间不与已写入的多数据帧(20)的索引区间相交和/或不与单数据帧(30)的索引值相交。
4.根据权利要求1或2中任一项所述的方法,在所述方法中,如此选择待写入的多数据帧(20)的数据字的数量i和数据字的起始索引(n),使得所述待写入的多数据帧(20)的索引区间至少部分地与已写入的多数据帧(20)的索引区间相交和/或与至少一个单数据帧(30)的索引值相交。
5.根据权利要求2至4中任一项所述的方法,在所述方法中,如此选择待写入的单数据帧(30)的所述一个数据字的索引值,使得所述索引值与已写入的多数据帧(20)和/或单数据帧(30)的数据字的所有索引值都不同。
6.根据权利要求2至4中任一项所述的方法,在所述方法中,将至少一个已写入的多数据帧(20)和/或单数据帧(30)的待替换的数据字的索引值选择作为用于待写入的单数据帧(30)的所述一个数据字的索引值。
7.根据权利要求1至6中任一项所述的方法,在所述方法中,至少一个多数据帧(20)通过在所述多数据帧数据头中的标识而无效,和/或,在所述方法中,至少一个单数据帧通过在所述多数据帧数据头中的标识而无效。
8.根据权利要求7所述的方法,在所述方法中,至少一个多数据帧(20)通过以定义为失效的第一索引值覆盖保存在所述多数据帧数据头中的起始索引和/或通过在所述多数据帧数据头中设置无效标记而无效。
9.根据权利要求7所述的方法,在所述方法中,至少一个单数据帧(30)通过以定义为失效的第二索引值覆盖保存在所述单数据帧数据头中的索引值和/或通过在所述单数据帧数据头中设置无效标记而无效。
10.一种用于写入非易失性电子存储器(100)的设备(40),其中,所述设备(40)设置用于,执行根据前述权利要求中任一项所述的方法。
11.一种具有程序代码单元的计算机程序,所述计算机程序设置用于,当所述计算机程序在根据权利要求10所述的设备(40)上运行或存储在计算机可读的数据载体上时,执行根据权利要求1至9中任一项所述的方法。
12.一种存储设备,所述存储设备包括至少一个非易失性电子存储器,所述非易失性电子存储器初始仅填充有空数据帧(10)并且已利用根据权利要求1至9中任一项所述的方法写入,从而能够单独寻址的数据字和配属的索引信息保存在顺序存储的多数据帧(20)和/或单数据帧(30)中。
13.一种用于读取根据权利要求12所述的非易失性电子存储器的方法,其中,以多数据帧(20)、单数据帧(30)和空数据帧(10)的形式顺序地读取所存储的帧,并且,所述方法针对每个待读取的帧包括以下步骤:
-基于数据头信息、尤其是基于帧类型标记和/或数据字的数量(i)确定帧类型,
-在多数据帧(20)的情况下顺序读取各个数据字并且基于存储在多数据帧数据头中的起始索引n和所述数据字的数量(i)确定配属的索引值,
在单数据帧(30)的情况下,读取一个数据字连同存储在单数据帧数据头中的索引值,并且
-将每个读取的数据字连同配属的索引值存储在能够重写的数据存储器中,
要么当在所述能够重写的数据存储器中尚不存在配属的索引值的记录时作为新的记录来存储,
要么通过覆盖已经存在的、具有相同索引值的记录来存储。
14.根据权利要求13所述的方法,其中,检查待读取的多数据帧(20)和/或单数据帧(30)的有效性,并且,跳过无效的多数据帧(20)和/或单数据帧(30)。
15.根据权利要求13或14中任一项所述的方法,其中,所述非易失性电子存储器的读取仅持续到空数据帧(10)被识别为下一个待读取的帧为止。
16.一种用于读取非易失性电子存储器(100)的设备(50),其中,所述设备(50)构造用于执行根据权利要求13至15中任一项所述的方法。
17.一种具有程序代码单元的计算机程序,所述计算机程序设置用于,当所述计算机程序在根据权利要求16所述的设备(50)上运行或存储在计算机可读的数据载体上时,执行根据权利要求13至15中任一项所述的方法。
18.一种半导体构件、尤其是集成式传感器,其包括MEMS传感器元件和ASIC元件,其具有根据权利要求12所述的非易失性存储器,以用于存储构件特定的数据、尤其是校准数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021203507.8 | 2021-04-09 | ||
DE102021203507.8A DE102021203507A1 (de) | 2021-04-09 | 2021-04-09 | Verfahren zum Beschreiben und Auslesen eines nicht-flüchtigen elektronischen Speichers |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202570A true CN115202570A (zh) | 2022-10-18 |
Family
ID=83361816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210367906.1A Pending CN115202570A (zh) | 2021-04-09 | 2022-04-08 | 用于写入和读取非易失性电子存储器的方法、设备和计算机程序以及存储设备和半导体构件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11710512B2 (zh) |
CN (1) | CN115202570A (zh) |
DE (1) | DE102021203507A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055578A (zh) * | 2006-04-12 | 2007-10-17 | 龙搜(北京)科技有限公司 | 基于规则的文档内容挖掘器 |
CN101055577A (zh) * | 2006-04-12 | 2007-10-17 | 龙搜(北京)科技有限公司 | 可扩展标记语言集中器 |
-
2021
- 2021-04-09 DE DE102021203507.8A patent/DE102021203507A1/de active Pending
-
2022
- 2022-03-30 US US17/708,163 patent/US11710512B2/en active Active
- 2022-04-08 CN CN202210367906.1A patent/CN115202570A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102021203507A1 (de) | 2022-10-13 |
US11710512B2 (en) | 2023-07-25 |
US20220328080A1 (en) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8335098B2 (en) | Memory device including OTP memory block and pseudo MTP memory block and memory access method | |
US7058755B2 (en) | EEPROM emulation in flash memory | |
US6834384B2 (en) | Methods and apparatus for upgrading firmware in an embedded system | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
CN102422271B (zh) | 用于非易失性存储器系统的多页准备命令 | |
US8041880B2 (en) | Flash memory, memory control circuit, microcomputer and memory control method | |
US9785382B2 (en) | Method and apparatus for read retry sequence for boot ROM | |
ES2304641T3 (es) | Metodo de software para emular una memoria eeprom. | |
US6546517B1 (en) | Semiconductor memory | |
US20010012222A1 (en) | Memory controller for flash memory system and method for accessing flash memory device | |
US8417902B2 (en) | One-time-programmable memory emulation | |
WO2022143991A1 (zh) | 一种多次编程电子熔丝装置 | |
US9396769B1 (en) | Memory device and operating method of same | |
US20130019056A1 (en) | Data Storing Method and Apparatus Applied to Flash Memory Storage Device | |
CN116719581B (zh) | 芯片多实例模块初始化系统 | |
EP1814037B1 (en) | Semiconductor storage device | |
CN115202570A (zh) | 用于写入和读取非易失性电子存储器的方法、设备和计算机程序以及存储设备和半导体构件 | |
US6646917B1 (en) | Storage device managing nonvolatile memory by converting logical address to physical address of nonvolatile memory | |
JPH01277397A (ja) | 情報記憶読出方法とその装置 | |
US10223195B2 (en) | Counter in a flash memory | |
CN114664336B (zh) | 堆叠存储器件、存储芯片及其控制方法 | |
CN103514953A (zh) | 对存储在闪存中的数据有地址ram的模拟电可擦存储器 | |
CN112162933B (zh) | 一种闪存的数据结构、存储方法、读取方法及转移方法 | |
US7234048B2 (en) | Method for initializing or configuring an electrical circuit | |
JPH01137498A (ja) | 内蔵メモリのデータ書込み方式 |
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 |