用于存储器控制器的固件加载制造技术

技术编号:29834760 阅读:20 留言:0更新日期:2021-08-27 14:24
本申请案是针对用于存储器控制器的固件加载。可跨存储器装置的多个平面存储固件集的多个副本,例如在平面集中的每一个内存储一个相应副本。所述副本可在相应平面内的页方位上交错或以其它方式偏离,使得不同平面内的类似定址页存储所述固件集的不同子集。控制器可通过同时检索存储于不同存储器平面内的类似定址页处的所述子集,同时检索所述固件集的不同子集,所述不同子集中的每一个包含在不同副本中。在加载所述固件代码后,所述控制器即刻执行所述固件代码以执行一或多个另外操作。

【技术实现步骤摘要】
用于存储器控制器的固件加载交叉引用本专利申请案主张卡列罗(CARIELLO)在2020年2月27日申请的标题为“用于存储器控制器的固件加载(FIRMWARELOADINGFORAMEMORYCONTROLLER)”的美国专利申请案第16/803,682号的优先权,所述美国专利申请案让渡给本受让人并且以全文引用的方式并入本文中。

涉及用于存储器控制器的固件加载。
技术介绍
下文大体上涉及包含至少一个存储器装置的系统,且更具体来说,涉及用于存储器控制器的固件加载。一种系统可包含各种存储器装置和控制器,所述存储器装置和控制器经由一或多个总线耦合到多种电子装置中的管理信息,所述电子装置例如计算机、无线通信装置、物联网、相机、数字显示器等等。存储器装置广泛地用于在此类电子装置中存储信息。通过编程存储器单元的不同状态来存储信息。举例来说,二进制存储器单元可存储两个状态中的一个,通常由逻辑“1”或逻辑“0”标示。一些存储器单元能够存储大于两个状态中的一个。为了存取所存储的信息,存储器装置可读取或感测存储器单元中的所存储状态。为了存储信息,存储器装置可将状态写入或编程到存储器单元。存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3DXpoint)、快闪存储器(例如浮动栅极快闪装置和电荷捕集快闪装置,其可用于“或非”(NOR)或“与非”(NAND)存储器装置中)等。存储器装置可以是易失性或非易失性的。例如快闪存储器单元的非易失性存储器单元即使在不存在外部电源的情况下仍可维持其所存储逻辑状态达很长一段时间。易失性存储器单元(例如,DRAM单元)除非被外部电源周期性地刷新,否则可能随时间推移而丢失其存储的状态。基于快闪的存储器装置与一些非易失性和易失性存储器装置相比可具有改进的性能。
技术实现思路
描述了一种方法。所述方法可包含从存储器的第一页读取固件代码集的第一子集,其中所述第一页具有第一页地址并且处于所述存储器装置的第一平面内,且其中所述第一平面存储所述固件代码集的第一副本;与读取所述固件代码集的所述第一子集同时地,从存储器的第二页读取所述固件代码集的第二子集,其中所述第二页具有所述第一页地址并且处于所述存储器装置的第二平面内,且其中所述第二平面存储所述固件代码集的第二副本;和将所述固件代码集的所述第一子集、所述固件代码集的所述第二子集或这两者加载到高速缓冲存储器中以供所述存储器装置的控制器执行。描述了一种设备。所述设备可包含第一存储器平面,其可操作以存储固件代码集的第一副本;第二存储器平面,其可操作以存储所述固件代码集的第二副本;和控制器,其与所述第一存储器平面和所述第二存储器平面耦合。所述控制器可为可操作的以:起始从具有第一页地址的第一页读取所述固件代码集的第一子集的第一读取操作,其中所述第一页处于所述第一存储器平面内;起始与所述第一读取操作同时地从具有所述第一页地址的第二页读取所述固件代码集的第二子集的第二读取操作,其中所述第二页处于所述第二存储器平面内;和至少部分地基于所述第一读取操作执行所述固件代码集的所述第一子集,至少部分地基于所述第二读取操作执行所述固件代码集的所述第二子集,或这两者。描述了一种设备。所述设备可包含存储器装置的第一存储器平面;所述存储器装置的第二存储器平面;和控制器,其与所述第一存储器平面和所述第二存储器平面耦合。所述控制器可为可操作的以:通过将所述固件的新版本写入到所述第一存储器平面内的第一多个依序定址页来更新存储于所述第一存储器平面中的固件的第一副本,所述第一多个依序定址页从第一页地址开始;和通过将所述固件的所述新版本写入到所述第二存储器平面内的第二多个依序定址页来更新存储于第二存储器平面中的所述固件的第二副本,所述第二多个依序定址页从偏离所述第一页地址的第二页地址开始。附图说明图1说明根据本文所公开的实例的支持用于存储器控制器的固件加载的存储器装置的实例。图2说明根据本文所公开的实例的支持用于存储器控制器的固件加载的NAND存储器电路的实例。图3说明根据本文所公开的实例的支持用于存储器控制器的固件加载的存储器装置的实例。图4说明根据本文所公开的实例的支持用于存储器控制器的固件加载的固件布局的实例。图5说明根据本文所公开的实例的支持用于存储器控制器的固件加载的过程流的实例。图6说明根据本文所公开的实例的支持用于存储器控制器的固件加载的框图的实例。图7和8示出说明根据本文所公开的实例的支持用于存储器控制器的固件加载的一或多种方法的流程图。具体实施方式在一些情况下,用于存储器装置的起动(start-up)(或“启动(boot-up)”或“重启(reboot)”)程序可涉及从存储器检索固件以使得存储器装置的控制器可执行所述固件。但是对于一些存储器装置,从存储器检索固件可为缓慢的,这可增加用于存储器装置的起动程序的时延。举例来说,归因于共享的读取电路系统,存储器装置可受限于一次读取一页固件代码,当作为起动程序的部分来检索固件代码时,可增加时延。根据本文中所描述的技术,存储器装置可为可操作的以通过同时读取多页固件代码来减小起动时延。举例来说,存储器装置可被配置成以交错模式存储固件的多个副本,这即使在存储器装置具有共享的读取电路系统的情况下仍允许存储器装置并行读取多页固件代码。装置可并行地重复读取多页固件代码,直到完全加载固件或遇到错误为止。如果遇到错误,那么装置可减少其并行读取的页数或切换到一次从单一页读取固件代码的串行检索方法。虽然参考固件进行描述,但本文中所描述的加载技术可用于任何类型的所存储数据。一开始在参考图1和2所描述的存储器装置和存储器电路的上下文中描述本公开的特征。进一步通过涉及如参考图3-8所描述的高效固件加载的系统图、过程流和流程图说明且参考所述系统图、过程流和流程图描述本公开的这些和其它特征。图1说明根据本文所公开的实例的存储器装置100的实例。在一些情况下,存储器装置100可被称为存储器芯片、存储器裸片或电子存储器设备。存储器装置100可包含一或多个存储器单元,例如存储器单元105-a和存储器单元105-b(未标记其它存储器单元)。存储器单元105可以是例如快闪或其它类型的NAND存储器单元(例如在图1中示出的存储器单元105-a的放大图中)、DRAM存储器单元、FeRAM存储器单元、PCM存储器单元或另一类型的存储器单元。每一存储器单元105可被编程为存储表示一或多个信息位的逻辑状态。在一些情况下,存储器单元105可一次存储一个信息位(例如,逻辑状态0或逻辑状态1),例如在SLC存储器块的可被称为SLC存储器单元的存储器单元中。在一些情况下,单一存储器单元105可一次存储多于一个信息位,例如在MLC本文档来自技高网
...

【技术保护点】
1.一种由存储器装置执行的方法,所述方法包括:/n从存储器的第一页读取固件代码集的第一子集,其中所述第一页具有第一页地址并且处于所述存储器装置的第一平面内,且其中所述第一平面存储所述固件代码集的第一副本;/n与读取所述固件代码集的所述第一子集同时地,从存储器的第二页读取所述固件代码集的第二子集,其中所述第二页具有所述第一页地址并且处于所述存储器装置的第二平面内,且其中所述第二平面存储所述固件代码集的第二副本;和/n将所述固件代码集的所述第一子集、所述固件代码集的所述第二子集或这两者加载到高速缓冲存储器中以供所述存储器装置的控制器执行。/n

【技术特征摘要】
20200227 US 16/803,6821.一种由存储器装置执行的方法,所述方法包括:
从存储器的第一页读取固件代码集的第一子集,其中所述第一页具有第一页地址并且处于所述存储器装置的第一平面内,且其中所述第一平面存储所述固件代码集的第一副本;
与读取所述固件代码集的所述第一子集同时地,从存储器的第二页读取所述固件代码集的第二子集,其中所述第二页具有所述第一页地址并且处于所述存储器装置的第二平面内,且其中所述第二平面存储所述固件代码集的第二副本;和
将所述固件代码集的所述第一子集、所述固件代码集的所述第二子集或这两者加载到高速缓冲存储器中以供所述存储器装置的控制器执行。


2.根据权利要求1所述的方法,其另外包括:
将存储于所述第一页中的第一位与存储于所述第二页中的第二位进行比较,所述第一位表示与所述第一页相关联的固件更新状态且所述第二位表示与所述第二页相关联的固件更新状态。


3.根据权利要求2所述的方法,其另外包括:
确定所述第一位和所述第二位具有相同值;和
至少部分地基于所述第一位和所述第二位具有所述相同值,同时从所述第一平面和所述第二平面内的额外存储器页读取所述固件代码集的额外子集,所述额外页各自具有第二页地址。


4.根据权利要求2所述的方法,其另外包括:
确定所述第一位和所述第二位具有不同值;和
至少部分地基于所述第一位和所述第二位具有不同值,从所述第一平面内的额外存储器页读取所述固件代码集的额外子集,所述额外页具有不同页地址。


5.根据权利要求4所述的方法,其另外包括:
至少部分地基于所述第二位,确定所述固件代码集的所述第二子集已经更新;和
至少部分地基于确定所述固件代码集的所述第二子集已经更新,丢弃所述固件代码集的所述第二子集。


6.根据权利要求2所述的方法,其另外包括:
更新存储于所述第一平面的所述第一页中的所述固件代码集的所述第一子集;和
至少部分地基于更新所述固件代码集的所述第一子集,改变存储于所述第一平面的所述第一页中的所述第一位的值。


7.根据权利要求1所述的方法,其另外包括:
检测与存储于所述第二页中的所述固件代码集的所述第二子集相关联的错误;和
至少部分地基于检测到所述错误,从存储器的处于所述第一平面内并且具有第二页地址的第三页读取所述固件代码集的所述第二子集的副本。


8.根据权利要求1所述的方法,其另外包括:
从存储器的处于所述第一平面内并且具有第二页地址的第三页读取所述固件代码集的第三子集;和
与读取所述固件代码集的所述第三子集同时地,从存储器的处于所述第二平面内并且具有所述第二页地址的第四页读取所述固件代码集的第四子集。


9.根据权利要求1所述的方法,其另外包括:
与读取所述固件代码集的所述第一子集和所述第二子集同时地,从存储器的处于第三平面内并且具有所述第一页地址的第三页读取所述固件代码集的第三子集,其中所述第三平面存储所述固件代码集的第三副本。


10.根据权利要求9所述的方法,其另外包括:
确定所述固件代码集的所述第三子集具有不同于所述固件代码集的所述第一子集和所述第二子集的更新状态;和
至少部分地基于所述确定,从对所述第一平面和所述第二平面内的页执行的同时读取操作后续集中省略所述第三平面。


11.根据权利要求1所述的方法,其中所述第一平面和所述第二平面共享用于解码页地址的电路系统。


12.根据权利要求1所述的方法,其中所述第一平面和所述第二平面处于同一存储器裸片内。


13.一种设备,其包括:
第一存储器平面,其可操作以存储固件代码集的第一副本;
第二存储器平面,其可操作以存储所述固件代码集的第二副本;和
控制器,其与所述第一存储器平面和所述第二存储器平面耦合,所述控制器可操作以:
起始从具有第一页地址的第一页读取所述固件代码集的第一子集的第一读取操作,其中所述第一页处于所述第一存储器平面内;
起始与所述第一读取操作同时地从具有所述第一页地址的第二页读取所述固件代码集的第二子集的第二读取操作,其中所述第二页处于所述第二存储器平面内;和
至少部分地基于所述第一读取操作执行所述固件代码集的所述第一子集,至少部分地基于所述第二读取操作执行所述固件代码集的所述第二子集,或这两...

【专利技术属性】
技术研发人员:G·卡列洛
申请(专利权)人:美光科技公司
类型:发明
国别省市:美国;US

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

1