管理半导体存储器的方法、相应的接口、存储器和设备技术

技术编号:18785844 阅读:27 留言:0更新日期:2018-08-29 07:47
通过用于写入数据的非易失性闪存位置范围来提供用于用户地址范围的非易失性数据存储空间。用于写入数据的闪存位置范围大于用户地址范围(例如,4KB相对100B)。因此,针对相同用户地址的数据可以被写入闪存位置范围中的不同闪存位置,从而相应地提高了数据存储耐久性。

Method for managing semiconductor memory, corresponding interface, memory and device

The nonvolatile data storage space for the user address range is provided by a nonvolatile flash location range for writing data. The location of the flash memory used to write data is larger than the user address range (for example, 4KB relative to 100B). Therefore, data for the same user address can be written to different flash locations in the range of flash locations, thereby improving the data storage durability accordingly.

【技术实现步骤摘要】
管理半导体存储器的方法、相应的接口、存储器和设备相关申请的交叉引用本申请要求于2017年2月22日提交的意大利申请No.102017000020134的优先权,该申请通过引用并入本文。
描述涉及半导体存储器。
技术介绍
各种类型的通用微控制器单元(MCU)应用可以涉及将数据存储在非易失性存储器(NVM)中。大多数MCU可以嵌入某种NVM存储器,其中特定类型的NVM被嵌入设备中,这取决于例如所使用的特定硅技术。例如,各种现代技术可以实施具有闪存的NVM,并且相对应类别的MCU表示当前市面有售的MCU的重要配额。因此,有效地支持存储在用于MCU嵌入闪存的NVM中的数据可以表示宝贵的资产。当例如被用于数据时,预期NVM将表现出良好的“耐久性”特性,例如超过100K次循环,这意味着用于存储数据的非易失性存储器的耐久性可接受数字是具有相同存储器地址的100K次写入循环(预期被写入至少100K次而没有故障的风险),即促进了数据完整性。例如用于存储代码的闪存可以表现出10/20K次循环的耐久性,其与上述100,000循环数目相差很远。解决这个问题的一个选择可以涉及在设备中嵌入专用的NVM存储器来处理数据。尽管理论上解决了问题,但是这样的设备的生产成本会受到很大的影响(主要是在硅成本方面),从而导致产品在市场上几乎没有竞争力。另一种方法可以涉及通过软件来处理数据写入,并且用户负责在适当的物理存储器地址处执行写入,使得相同位置没有被太大量地写入,以避免NVM故障的风险。这样的方法可以涉及使用诸如存储器数据指针、擦除、数据取回等各种特征,这增加了用户侧的复杂性,还使得该解决方案在市场上几乎不具有吸引力。
技术实现思路
一个或多个实施例可以被应用于例如非易失性存储器中。上述要点指示了对能够有效地且以较低的成本来处理闪存中的数据的硬件支持的期望。一个或多个实施例通过克服以上概述的缺点来支持提供这样的支撑。一个或多个实施例可以包括相对应的接口(例如,闪存接口或FLITF)、相对应的(闪速)存储器和相对应的设备(例如,其中嵌入有这样的存储器的微控制器)。一个或多个实施例可以涉及在代码与数据之间共享相同的闪存,从而支持实现对于数据部分的目标耐久性。一个或多个实施例中的根本思想是保留用于存储数据的闪存部分,其中这样的被保留部分大于被暴露给用户的数据存储空间,从而支持实现适当的耐久性。在一个或多个实施例中,相同的用户地址可以被写入到多个物理位置,从而支持增加存储器耐久性。一个或多个实施例使得在与闪存操作兼容的以页面为基础被处理的存储器擦除的情况下避免数据可能丢失成为可能(即使在供电中断的情况下)。一个或多个实施例可以(例如通过共享用于数据和代码的闪存)降低成本和在支持数据闪存操作方面的复杂性。附图说明现在将仅通过示例的方式参考附图来描述一个或多个实施例,在附图中:图1是一个或多个实施例的示例性框图;图2、图3和图4是根据一个或多个实施例的存储器管理的示例;图5是实施例的可能实施方式的图示;以及图6、图7和图8是一个或多个实施例的可能操作的示例性流程图。具体实施方式一个或多个具体细节在随后的描述中被示出,旨在提供对本说明的实施例的示例的深入理解。可以在没有一个或多个具体细节的情况下、或者通过其他方法、部件、材料等来获得实施例。在其他情况下,未详细示出或描述已知的结构、材料或操作,以免模糊实施例的某些方面。在本说明的框架中对“实施例”或“一个实施例”的引用旨在指示关于该实施例描述的特定配置、结构或特性被包括在至少一个实施例中。因此,可能存在于本说明书的一个或多个位置的诸如“在实施例中”或“在一个实施例中”等短语不一定指代同一实施例。此外,在一个或多个实施例中,特定构象、结构或特征可以以任何适当的方式组合。本文中使用的附图标记仅为了方便而提供,因此不限定保护范围或实施例的范围。在图1中,附图标记10表示在处理单元PU(例如,CPU)与按页面(两个通用页面,例如,作为示例所示出的页面K和页面K+1)被组织的闪存F之间的闪存接口(FLITF)。在一个或多个实施例中,接口10可以包括硬件控制器12,例如,如以下所讨论的可能包括查找表(LUT)12a的数据闪存引擎(DFE)。在一个或多个实施例中,可以由适于与处理单元PU耦合并且具有相关联的地址检查框14a的管理器框14来接收数据访问请求D(除了代码访问请求C之外)。如图1所例示的一个或多个实施例的根本思想可以涉及检测用户访问是否为“数据”访问D,并且将相关联的范围映射在更大的闪存区域中,例如,在100B范围内接收访问并且映射到4KB范围。当然,这些值仅是示例性的而非限制性的。在一个或多个实施例中,该机制可以在硬件控制器12中被实施,从而处理对闪存F的访问。例如,在一个或多个实施例中,作为处理单元PU执行存储器访问(其实际上可以经由图中未示出的总线架构来实现)的结果,地址例如可以通过在框14a中被比较来被分析。作为示例,可以假定闪存F从地址0x00000000开始到地址0x000FFFFF(1MB)被映射,最后一个64B被保留用于数据,即从地址0x000FFFC0到地址0x000FFFFF。在这样的示例中:如果PU地址小于0x000FFFC0,则访问可以被闪存控制器视为正常代码访问(例如,C),并且不采取特殊动作。如果PU地址等于或大于0x000FFFC0,则访问可以由数据闪存引擎(DFE)12根据这里所示的方法来处理。在一个或多个实施例中,DFE12可以被配置用于执行其他功能,包括处理对相同用户地址的多次访问(这支持通过适当地处理写入来实现良好的合适耐久性)和处理数据擦除(这防御数据丢失的风险)。通过再次(作为非限制性示例)参考上面引用的定量数据,假定64B是存储器F被保留用于数据的部分——如用户所看到的——被保留用于处理数据的实际闪存部分实际上可以更大:例如,在所考虑的示例中,物理闪存F可以略大于1MB。换言之,在一个或多个实施例中,实际的“物理”存储器大小可以大于可用于用户进行应用开发的产品说明书(例如,数据表)中所指示的值。例如,根据一个或多个实施例,1MB(即1024KB)存储器可以在说明书中作为1020KB存储器被呈现,剩余的4KB被保留用于数据管理。一个或多个实施例可以涉及以下认识:闪存可以逐字节被写入,而擦除可以按页面来被执行,例如,在整个存储器上或在对应于页面的数据块上,其中页面大小取决于存储器实施方式:诸如1KB、2KB或4KB等值是可能的页面大小的示例;擦除可能需要很长时间,并且在擦除期间,可以不执行写入和读取访问(例如,软件执行停止)。在一个或多个实施例中,对相同用户地址的多次写入可以在闪存中的不同物理位置上被执行。在一个或多个实施例中,这样的方法可能涉及两个主要益处:每次对先前已写入的用户位置执行写入时,不需要执行擦除;由于在不同的物理位置执行对相同的用户地址的多次写入,耐久性可以被加强。在一个或多个实施例中,例如每次数据写入由诸如图1中的PU等处理单元发出时,空白闪存位置可以被用于存储数据以及在数据被请求时便于取回数据的信息。再次作为(非限制性)示例,可以假定闪存F可按72位的字来被布置,具有所期望的存储100字节的(例如用户)数据的容量。在一个或多个实施例中,本文档来自技高网
...

【技术保护点】
1.一种为用户地址范围提供非易失性数据存储器空间的方法,所述方法包括:提供非易失性闪存位置范围以用于写入数据,其中用于写入数据的所述闪存位置范围大于所述用户地址范围;以及将针对相同用户地址的数据写入所述闪存位置范围中的多个不同闪存位置。

【技术特征摘要】
2017.02.22 IT 1020170000201341.一种为用户地址范围提供非易失性数据存储器空间的方法,所述方法包括:提供非易失性闪存位置范围以用于写入数据,其中用于写入数据的所述闪存位置范围大于所述用户地址范围;以及将针对相同用户地址的数据写入所述闪存位置范围中的多个不同闪存位置。2.根据权利要求1所述的方法,还包括:接收闪存用户访问请求;检查在所述闪存用户访问请求中的特定请求是否为数据访问请求;以及响应于所述特定请求为数据访问请求,将所述用户地址范围映射到所述闪存位置范围。3.根据权利要求1所述的方法,还包括配置用于写入数据的所述闪存位置以包括第一字段和第二字段,所述第一字段包含在所述位置中被写入的数据,所述第二字段包含指示逻辑地址的标签,所述逻辑地址被耦合到在所述位置中被写入的所述数据。4.根据权利要求3所述的方法,其中配置用于写入数据的所述闪存位置还包括配置用于写入数据的所述闪存位置以包括第三字段,所述第三字段包含指示所述位置是否为空的标志。5.根据权利要求1所述的方法,还包括在所述闪存位置范围中以自下向上的方向写入数据,其中每次新的数据写入被发出时,数据被写入第一空位置。6.根据权利要求1所述的方法,还包括提供被配置为查找表的临时存储器,其中所述用户地址范围中的所述用户地址作为到所述查找表的入口。7.根据权利要求6所述的方法,还包括:接收向所述闪存位置范围写入数据的数据写入命令,所述写入命令被定址到在所述用户地址范围中的特定用户写入地址;以及将与所述数据写入命令耦合的所述数据写入所述查找表中以所述特定用户写入地址作为入口的所述位置以及写入所述闪存位置范围中的空数据位置。8.根据权利要求7所述的方法,还包括:接收从所述闪存位置范围读取数据的数据读取命令,所述读取命令被定址到在所述用户地址范围中的特定用户读取地址;以及从所述查找表中以所述特定用户读取地址作为入口的所述位置读取与所述数据读取命令耦合的所述数据,而不访问所述闪存位置范围。9.根据权利要求7所述的方法,还包括在断电之后对所述临时存储器和所述闪存位置范围上电时:取回所述闪存位置范围中被写入的所述数据;以及利用所述闪存位置范围中被取回的所述数据来填充所述临时存储器。10.根据权利要求7所述的方法,其中所述闪存位置范围的物理位置按页面来布置,所述方法还包括:以页面为基础来擦除所述闪存位置;接收针对所述闪存位置范围中的特定页面的页面擦除命令;以及通过将来自所述临时存储器的数据写入到另一页面,来擦除在所述闪存位置范围中的所述特定页面。11.根据权利要求1所述的方法,其中所述闪存位置范围中的物理位置按页面来布置,所述方法还包括以页面为基础来擦除所述闪存位置。12.根据权利要求11所述的方法,还包括:接收针对所述闪存位置范围中的特定页面的...

【专利技术属性】
技术研发人员:D·曼加诺M·卡拉诺G·迪斯特法诺R·鲁吉雷洛
申请(专利权)人:意法半导体股份有限公司
类型:发明
国别省市:意大利,IT

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1