CN103425623B - 共享非易失性存储器体系结构 - Google Patents

共享非易失性存储器体系结构 Download PDF

Info

Publication number
CN103425623B
CN103425623B CN201310374264.9A CN201310374264A CN103425623B CN 103425623 B CN103425623 B CN 103425623B CN 201310374264 A CN201310374264 A CN 201310374264A CN 103425623 B CN103425623 B CN 103425623B
Authority
CN
China
Prior art keywords
processing component
initialization
logic
memory
nonvolatile memory
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.)
Active
Application number
CN201310374264.9A
Other languages
English (en)
Other versions
CN103425623A (zh
Inventor
M·R·曹
D·李
A·鲁贝格
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.)
Lattice Semiconductor Corp
Original Assignee
Lattice Semiconductor Corp
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 Lattice Semiconductor Corp filed Critical Lattice Semiconductor Corp
Priority claimed from CN2007800160526A external-priority patent/CN101438242B/zh
Publication of CN103425623A publication Critical patent/CN103425623A/zh
Application granted granted Critical
Publication of CN103425623B publication Critical patent/CN103425623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请涉及共享非易失性存储器体系结构。一种使用共享非易失性存储器来初始化设备中多个处理部件的方法和系统。针对设备内各处理部件的启动逻辑和配置数据被存储于单个非易失性存储器中。一收到初始化该设备的命令,该共享存储器系统就将启动逻辑和配置数据从非易失性存储器复制到易失性主存储器。然后,各个处理部件访问该主存储器以找到其启动逻辑和配置数据、并开始执行。该共享存储器系统减少了用于初始化多个处理部件的非易失性存储器部件的数量。

Description

共享非易失性存储器体系结构
本申请是申请日为2007年3月30日、申请号为200780016052.6、发明名称为“共享非易失性存储器体系结构”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求对2006年3月30日提交的题为“INTEGRATED MULTI-PORT SERIALMEMORY AND INTER-PROCESSOR COMMUNICATION(集成多端口串行存储器和处理器间通信)”的美国临时专利申请No.60/788,401(律师案号No.59472-8826.US00)的优先权,该申请通过引用结合于此。
技术领域
本发明涉及存储器体系结构,尤其涉及共享非易失性存储器体系结构。
背景技术
具有专用于单独任务的多个处理部件的移动设备正在变得越来越常用。例如,移动电话经常包含专用于处理呼叫的连接和断开的基带处理器、以及用于显示用户界面并接收来自用户的请求的单独的介质处理器。这些部件可共享非易失性主存储器以供在运行期间使用,或者各个部件可具有专用的存储器。各个部件可具有其自己的用于存储启动逻辑和配置数据的非易失性存储器。此外,各个部件可具有其自己的用于与其他部件通信的专用接口。
制造设备的成本与该设备所含部件的数量直接相关。因此,减少或消除冗余部件以节约资金是常见的制造目标。附加的部件还增大了设备的功耗,这直接影响了移动设备的电池寿命。因此,减少部件还能延长电池寿命。此外,部件之间总线和其他接口的数量增加了设备的复杂性。增加的复杂性带来了设计和测试设备的难度,并增加了将新产品投入市场所需的时间。
设备中格外昂贵的一个部件是用于初始化该设备的非易失性存储器。通常使用在工厂可用启动逻辑和配置数据闪存的EEPROM,有时称作闪存。闪存有两种类型可用:NAND和NOR,其指的是在闪存内用于存储数据的逻辑门的主要类型。NOR闪存速度快、具有微秒存取时间,而NAND闪存较慢、通常具有毫秒存取时间。然而,速度与价格相关,NOR闪存比NAND闪存更贵。设备制造商必须在闪存的速度与其成本之间作出权衡。消费者通常期望消费电子设备(例如,便携式电话和DVD播放机)有快速的启动时间,从而偏向于使用较快的闪存,所以闪存经常是设备的多个昂贵部件之一。在设备内包括有多个处理部件且各个部件具有其自己的闪存时,其成本就相当高了。
发明内容
特定实施例提供了一种用于在各处理部件之间共享非易失性存储器的系统中初始化处理部件的方法。所述方法包括:多个处理部件中的第一处理部件访问包含由所述第一处理部件执行的指令的闪存描影逻辑,引导复位向量包含到所述闪存描影逻辑的地址的转移;多个处理部件中的至少第二处理部件访问与所述第一处理部件共享的易失性主存储器;通过所述第一处理部件将所述第一处理部件初始化信息从所述非易失性存储器复制至所述易失性主存储器,所述第一处理部件的初始化信息包含至少所述第一处理部件的初始化逻辑,所述第一处理部件通过访问所述易失性主存储器开始所述第一处理部件的启动序列;通过所述第一处理部件将所述第二处理部件的初始化信息从所述非易失性存储器复制至所述易失性主存储器,所述第二处理部件的初始化信息包含至少所述第二处理部件的初始化逻辑,所述第二处理部件的初始化逻辑包含所述第二处理部件初始化其本身所需的信息;以及通过所述第二处理部件定位所述易失性主存储器内的初始化指令并执行所述初始化指令;其中所述第一处理部件是附连到所述非易失性存储器的唯一处理部件。
所述第二处理部件向所述第一处理部件发送请求以将所述第二处理部件的初始化信息从所述非易失性存储器发送至所述易失性主存储器。
所述第一处理部件为所述第二处理部件提供协议以请求复制闪存中被请求的部件使用的区域。所述第二处理部件通过等待预定时段来确定所述第一处理部件已完成复制所述第二处理部件的初始化信息。所述第二处理部件通过轮询所述易失性主存储器来确定所述第一处理部件已完成复制所述第二处理部件的初始化信息。
散列用于产生签名,所述签名与所述第二处理部件的初始化信息一起被存储以验证所述初始化逻辑的完整性,并且所述第二处理部件被配置成执行初始化逻辑的内容的散列并将所确定的散列值和与所述初始化逻辑相关联的签名作比较。所述第二处理部件的初始化逻辑被加密以防止用所述初始化逻辑读取或篡改。所述第一处理部件是用于将由所述共享存储器系统提供的所述非易失性存储器的内容复制到易失性主存储器的专用硬件。所述易失性主存储器中由所述非易失性存储器复制到的每个区关联于所述主存储器上的端口。
附图说明
图1是示出共享存储器系统的各个部件的框图。
图2是示出包含该共享存储器的设备在初始化期间的处理的流程图。
图3是示出在初始化期间设备中闪存的内容和随机存取存储器的内容的存储器示图。
图4是示出在初始化期间初始化逻辑的验证的流程图。
具体实施方式
提供一种使用共享非易失性存储器来初始化多个处理部件的方法和系统,该系统称为共享存储器系统。该共享存储器系统减少了设备中用来初始化多个处理部件的非易失性存储器部件的数量。在一些实施例中,用于处理设备中部件的启动逻辑和配置数据被存储在单个非易失性存储器中。在收到初始化该设备的命令后,共享存储器系统将启动逻辑和配置数据从非易失性存储器复制到易失性主存储器。然后,各个处理部件访问该主存储器以找到其启动逻辑和配置数据、并开始执行。主存储器通常比闪存快得多。因此,启动逻辑从非易失性存储器到主存储器的移动降低了该非易失性存储器速度的重要性,因为它只是初始复制期间的一个因素。这样,共享存储器系统使设备制造商能选择较便宜的非易失性存储器部件,而不对设备的启动速度产生显著影响。此外,因为设备制造商必须将各个部件设计成在正常运行期间访问主存储器,所以在来自主存储器的启动逻辑可用时无需设计用于访问非易失性存储器的附加接口。这样,共享存储器系统简化了各个部件的设计,导致较低的复杂性和功耗。
在一些实施例中,共享存储器系统利用串行端口存储器部件,诸如在2001年11月7日提交的题为“COMMUNICATIONS ARCHITECTURE FOR MEMORY-BASED DEVICES(基于存储器设备的通信体系结构)”的美国专利申请No.10/045,297(律师案号No.59472-8812.USOO)中所描述的存储器链路(MemoryLink)体系结构,该申请通过引用结合于此。以上引用的申请描述了使诸如上述处理部件之类的多个器件能访问单个主存储器件的串行端口存储器。该体系结构包括用于访问存储器的机制、以及用于在设备之间传达事件以指示操作的完成的机制。在一些实施例中,各处理部件可具有连接它们的单独的接口,且处理部件使用该接口来同步它们的活动。
在一些实施例中,共享存储器系统将处理部件中的一个指定为主处理部件。主处理部件是附连到非易失性(例如闪存)存储器部件的唯一处理部件。在启动期间,主处理部件负责将非易失性存储器部件的内容复制到主存储器部件。在主处理部件已复制了非易失性存储器部件的内容之后,该主处理部件诸如通过使用上述信令机制信令其他处理部件开始它们的启动序列。该主处理部件也通过访问包含非易失性存储器部件的复制内容的主存储器部件开始它的启动序列。这样,只有一个处理部件被设计成具有与非易失性存储器部件的单独接口,然而该非易失性存储器部件的内容对每一个处理部件都是可用的。
图1是示出一些实施例中共享存储器系统的各个部件的框图。使用共享存储器系统的设备100包括:闪存部件110或其他非易失性存储器部件、第一处理部件120、至少一个其他处理部件130、以及主随机存取存储器(RAM)140或其他易失性存储器部件。闪存部件110包含在该共享存储器系统已掉电期间针对各个处理部件存储的启动逻辑和配置数据。第一处理部件120被配置成主处理部件,并附连到闪存部件110。在设备100启动期间,该第一处理部件120将闪存部件110的内容复制到随机存取存储器140。处理部件120和130中的每一个都与随机存取存储器140连接。一旦第一处理部件120已将闪存部件110的内容复制到随机存取存储器140,处理部件120和130中的每一个就通过直接从随机存取存储器140访问启动逻辑和配置数据来开始它们的启动序列。虽然图1中只描绘了两个处理部件,但可以理解任何数量的处理部件或其他部件可被耦合到该共享存储器。各个处理器还可相互不同,并执行不同的功能。例如,在移动应用中,一个处理器可以是基带处理器,而另一个处理器可以是应用处理器。
其上实现系统的设备可包括中央处理器、存储器、输入设备(例如键盘和定点设备)、输出设备(例如视觉显示器、音频扬声器)、以及存储设备(例如磁盘驱动器)。存储器和存储设备是可用实现所公开技术的计算机可执行指令编码的计算机可读介质,这表示包含适当指令的计算机可读介质。此外,数据结构和消息结构可经由数据传输介质来存储或传输,诸如通信链路上的信号。可使用各种通信链路,诸如因特网、局域网、广域网、点到点拨号连接、蜂窝电话网络等。
本系统的各实施例可在各种移动运行环境中实现,包括个人计算机、服务器计算机、手提或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码相机、网络PC、小型计算机、包括以上任何系统或设备的分布式计算环境等。该计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子产品、数字照相机等。
可在由一个或多个计算机或其他设备所执行的诸如程序模块之类的计算机可执行指令的普通上下文中对该系统进行描述。一般而言,各程序模块包括执行特殊任务或实现特殊抽象数据类型的硬件逻辑、例行程序、程序、对象、部件、数据结构等。通常,各程序模块的功能在各种实施例中可按需进行组合或分配。
图2是示出一个实施例中设备在初始化期间的处理的流程图。在电源第一次被施加到设备或在设备执行硬复位时,初始化发生。在框210,设备起动主处理器。在框220,该设备指示主处理器开始执行来自闪存部件(或其他非易失性存储器部件)的指令,这些指令指示该主处理器将闪存的内容复制到随机存取存储器(或其他易失性存储器)。在框230,该设备信令各个处理器使用该随机存取存储器部件开始初始化。在框240,第一处理器在随机存取存储器内定位其初始化指令,并开始执行该初始化指令。在框250,其他各处理器在随机存取存储器内定位其相应初始化指令,并开始执行这些初始化指令。在步骤250之后,该设备被初始化,且这些步骤终止。
图3是示出一个实施例中初始化期间闪存的内容和随机存取存储器的内容的存储器示图。该示图包含闪存305和随机存取存储器350。闪存305包含针对第一处理部件的初始化逻辑310、针对另一处理部件的初始化逻辑315、闪存描影逻辑(flash shadow logic)320、以及引导复位向量(boot reset vector)325。初始化逻辑310包含第一处理部件初始化其自身所需的信息。初始化逻辑310可包含用于验证该初始化逻辑的完整性和来源的签名312(以下进一步详细描述)。初始化逻辑315包含第二处理部件初始化其自身所需的信息。初始化逻辑315还可包含签名317。闪存描影逻辑320包含由将闪存的内容复制到随机存取存储器的主处理部件执行的指令。引导复位向量325是主处理器在复位后在其上开始执行的已知位置。引导复位向量325包含到闪存描影逻辑320的地址的转移。
随机存取存储器350包含指派给第一处理部件的区355、以及指派给第二处理部件的区375。指派给第一处理部件的区355包含从闪存处复制的初始化逻辑360。指派给第二处理部件的区375包含从闪存处复制的初始化逻辑380。一旦闪存描影逻辑320已完成复制初始化逻辑360和380,该闪存描影逻辑320就信令各个处理单元使用适当的存储区开始初始化。在一些实施例中,该描影复制逻辑320可嵌入处理部件中的一个,并且可不包含于闪存305内。在一些实施例中,各个区可与随机存取存储器350上的一端口相关联。在先前引用的题为“COMMUNICATIONS ARCHITECTURE FOR MEMORY-BASED DEVICES”的专利申请中公开了具有多个用于访问存储器的串行端口的存储器体系结构。
在一些实施例中,共享存储器不指定主处理部件。然而,共享存储器系统可包含用于将闪存部件的内容复制到随机存取存储器部件的专用硬件,从而不使用主处理部件。或者,各个处理部件可连接到闪存部件,且各处理部件可诸如通过确定哪个处理单元最快来确定它们中的哪一个将复制闪存的内容。
在一些实施例中,共享存储器系统不信令各个处理部件起动初始化。例如,各处理部件可等待预定时段来开始初始化,这被认为足以确保完成启动逻辑和配置数据从闪存到随机存取存储器的复制。或者,各处理部件可轮询主存储器来确定共享存储器系统何时已将数据写入针对初始化逻辑的特殊已知最终地址。
在一些实施例中,共享存储器系统应处理部件的请求而非在初始化时从闪存复制数据。例如,各处理部件中的一个可能能够独立于系统的其余部分进行复位,诸如蜂窝电话中的介质处理器,以使该处理部件在设备已被初始化后请求从闪存中复制数据。作为另一示例,共享存储器系统可周期性地使一些处理部件断电以在不使用处理部件时省电。在这些情形中,主处理部件可提供请求处理部件以用来请求复制闪存中被该请求处理部件所用的区域的协议。
在一些实施例中,闪存部件中的初始化逻辑包含散列以验证其内容的完整性。例如,SHA散列或MD5散列可用来产生与各个处理部件的初始化逻辑一起存储的签名,该签名被各个处理部件用来验证该初始化逻辑的完整性。替换地或附加地,可对各处理部件中的一个或多个的初始化逻辑加密以防止用该初始化逻辑读取或篡改。各处理部件可包含用于在执行闪存的复制内容之前对该内容进行解密的公钥。或者,所指定的主处理单元可负责执行此类验证。
图4是示出一个实施例中初始化期间初始化逻辑的验证的流程图。在框410,处理部件识别其被复制到主存储器的初始化逻辑。在框420,该处理部件定位与该初始化逻辑相关联的签名。在框430,该处理部件执行初始化逻辑内容的散列。在框440,该处理部件将所确定的散列值和与该初始化逻辑相关联的签名作比较。在判定框450,如果这两个值匹配,则该部件在框470继续,否则该部件就在框460继续。在框460,在这两个值不匹配时,处理部件确定内容已被修改并采取适当的行动。例如,该处理部件可信令中断或中止进一步的处理。在框470,在初始化逻辑未被修改时,处理部件通过执行初始化逻辑来执行初始化。在步骤470之后,这些步骤终止。
从以上内容将可以理解,虽然在此出于例示目的已对共享存储器系统的各具体实施例进行了描述,但是可作各种修改而不背离本发明的精神和范围。例如,虽然已对随机存取存储器进行了描述,但是可使用任何适当的存储设备。类似地,虽然已对各处理部件进行了描述,但是通常从非易失性存储设备读取信息的任何部件,不管该非易失性存储设备是否包含要执行的指令,都可获益于所描述的共享存储器系统。因此,本发明只受所附权利要求限制。

Claims (9)

1.一种用于在各处理部件之间共享非易失性存储器的系统中初始化处理部件的方法,所述方法包括:
多个处理部件中的第一处理部件访问包含由所述第一处理部件执行的指令的闪存描影逻辑,引导复位向量包含到所述闪存描影逻辑的地址的转移;
多个处理部件中的至少第二处理部件访问与所述第一处理部件共享的易失性主存储器;
通过所述第一处理部件将所述第一处理部件初始化信息从所述非易失性存储器复制至所述易失性主存储器,所述第一处理部件的初始化信息包含至少所述第一处理部件的初始化逻辑,所述第一处理部件通过访问所述易失性主存储器开始所述第一处理部件的启动序列;
通过所述第一处理部件将所述第二处理部件的初始化信息从所述非易失性存储器复制至所述易失性主存储器,所述第二处理部件的初始化信息包含至少所述第二处理部件的初始化逻辑,所述第二处理部件的初始化逻辑包含所述第二处理部件初始化其本身所需的信息;以及
通过所述第二处理部件定位所述易失性主存储器内的初始化指令并执行所述初始化指令;
其中所述第一处理部件是附连到所述非易失性存储器的唯一处理部件。
2.如权利要求1所述的方法,其特征在于,所述第二处理部件向所述第一处理部件发送请求以将所述第二处理部件的初始化信息从所述非易失性存储器发送至所述易失性主存储器。
3.如权利要求2所述的方法,其特征在于,所述第一处理部件为所述第二处理部件提供协议以请求复制闪存中被请求的部件使用的区域。
4.如权利要求1所述的方法,其特征在于,所述第二处理部件通过等待预定时段来确定所述第一处理部件已完成复制所述第二处理部件的初始化信息。
5.如权利要求1所述的方法,其特征在于,所述第二处理部件通过轮询所述易失性主存储器来确定所述第一处理部件已完成复制所述第二处理部件的初始化信息。
6.如权利要求1所述的方法,其特征在于,散列用于产生签名,所述签名与所述第二处理部件的初始化信息一起被存储以验证所述初始化逻辑的完整性,并且所述第二处理部件被配置成执行初始化逻辑的内容的散列并将所确定的散列值和与所述初始化逻辑相关联的签名作比较。
7.如权利要求1所述的方法,其特征在于,所述第二处理部件的初始化逻辑被加密以防止用所述初始化逻辑读取或篡改。
8.如权利要求1所述的方法,其特征在于,所述第一处理部件是用于将由所述系统提供的所述非易失性存储器的内容复制到易失性主存储器的专用硬件。
9.如权利要求1所述的方法,其特征在于,所述易失性主存储器中由所述非易失性存储器复制到的每个区关联于所述易失性主存储器上的端口。
CN201310374264.9A 2006-03-30 2007-03-30 共享非易失性存储器体系结构 Active CN103425623B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US78840106P 2006-03-30 2006-03-30
US60/788,401 2006-03-30
US11/690,629 US7831778B2 (en) 2006-03-30 2007-03-23 Shared nonvolatile memory architecture
US11/690,629 2007-03-23
CN2007800160526A CN101438242B (zh) 2006-03-30 2007-03-30 共享非易失性存储器体系结构

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2007800160526A Division CN101438242B (zh) 2006-03-30 2007-03-30 共享非易失性存储器体系结构

Publications (2)

Publication Number Publication Date
CN103425623A CN103425623A (zh) 2013-12-04
CN103425623B true CN103425623B (zh) 2016-12-28

Family

ID=38353004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310374264.9A Active CN103425623B (zh) 2006-03-30 2007-03-30 共享非易失性存储器体系结构

Country Status (6)

Country Link
US (1) US7831778B2 (zh)
EP (2) EP2002333B1 (zh)
JP (1) JP5380276B2 (zh)
KR (2) KR101343714B1 (zh)
CN (1) CN103425623B (zh)
WO (1) WO2007115229A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100822468B1 (ko) * 2006-09-11 2008-04-16 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
WO2008070803A1 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for managing data from a requesting device with an empty data token directive
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
JP2012527037A (ja) * 2009-05-15 2012-11-01 トムソン ライセンシング メモリを共有化するシステム及び方法
US8429436B2 (en) * 2009-09-09 2013-04-23 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US9202015B2 (en) * 2009-12-31 2015-12-01 Intel Corporation Entering a secured computing environment using multiple authenticated code modules
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
WO2012109677A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9185235B2 (en) * 2012-08-02 2015-11-10 Ab Initio Technology Llc Aggregating data in a mediation system
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
TWI551991B (zh) * 2015-11-20 2016-10-01 群聯電子股份有限公司 記憶體管理方法與系統及其記憶體儲存裝置
GB2575482B (en) * 2018-07-12 2023-04-12 Johnson Electric Int Ag Actuator system with reprogrammable memory
KR20200140560A (ko) * 2019-06-07 2020-12-16 삼성전자주식회사 전자 장치 및 그 시스템
CN110489169B (zh) * 2019-08-06 2021-10-19 晶晨半导体(上海)股份有限公司 一种片上系统的存储器快速启动方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1209563A2 (en) * 2000-11-22 2002-05-29 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
CN1752885A (zh) * 2005-08-25 2006-03-29 深圳市研祥智能科技股份有限公司 计算机系统及其配置方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344133A (en) 1978-07-31 1982-08-10 Motorola, Inc. Method for synchronizing hardware and software
US4449183A (en) 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4529701A (en) 1982-10-20 1985-07-16 American Genetics International, Inc. Product and process for stimulating bacterial action in an anaerobic digestion system
US4729091A (en) * 1984-11-13 1988-03-01 International Business Machines Corporation Directing storage requests prior to address comparator initialization with a reference address range
IT1184553B (it) 1985-05-07 1987-10-28 Honeywell Inf Systems Architettura di sistema a piu' processori
US5142683A (en) 1987-03-09 1992-08-25 Unisys Corporation Intercomputer communication control apparatus and method
US5144314A (en) 1987-10-23 1992-09-01 Allen-Bradley Company, Inc. Programmable object identification transponder system
US4987529A (en) 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5197130A (en) 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5175853A (en) 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
JPH04177452A (ja) * 1990-11-08 1992-06-24 Nec Off Syst Ltd 情報処理装置
JPH04367963A (ja) 1991-06-15 1992-12-21 Hitachi Ltd 共有記憶通信方法
US5423008A (en) 1992-08-03 1995-06-06 Silicon Graphics, Inc. Apparatus and method for detecting the activities of a plurality of processors on a shared bus
JP3447404B2 (ja) * 1994-12-08 2003-09-16 日本電気株式会社 マルチプロセッサシステム
US6167487A (en) 1997-03-07 2000-12-26 Mitsubishi Electronics America, Inc. Multi-port RAM having functionally identical ports
US5901309A (en) 1997-10-07 1999-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for improved interrupt handling within a microprocessor
US6118792A (en) 1997-11-21 2000-09-12 Nortel Networks Corporation Method and apparatus for a flexible access rate common-memory packet switch
US6263390B1 (en) 1998-08-18 2001-07-17 Ati International Srl Two-port memory to connect a microprocessor bus to multiple peripherals
US6081890A (en) * 1998-11-30 2000-06-27 Intel Corporation Method of communication between firmware written for different instruction set architectures
US6002633A (en) 1999-01-04 1999-12-14 International Business Machines Corporation Performance optimizing compiler for building a compiled SRAM
US6378051B1 (en) 1999-06-14 2002-04-23 Maxtor Corporation Interrupt signal prioritized shared buffer memory access system and method
US6396324B1 (en) 2000-05-08 2002-05-28 International Business Machines Corporation Clock system for an embedded semiconductor memory unit
US6845409B1 (en) 2000-07-25 2005-01-18 Sun Microsystems, Inc. Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices
US6665795B1 (en) * 2000-10-06 2003-12-16 Intel Corporation Resetting a programmable processor
US6877071B2 (en) 2001-08-20 2005-04-05 Technology Ip Holdings, Inc. Multi-ported memory
US6795360B2 (en) 2001-08-23 2004-09-21 Integrated Device Technology, Inc. Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes
US7032106B2 (en) * 2001-12-27 2006-04-18 Computer Network Technology Corporation Method and apparatus for booting a microprocessor
US20060072563A1 (en) * 2004-10-05 2006-04-06 Regnier Greg J Packet processing
JP4425243B2 (ja) 2005-10-17 2010-03-03 Okiセミコンダクタ株式会社 半導体記憶装置
JP2007157150A (ja) * 2005-12-06 2007-06-21 Samsung Electronics Co Ltd メモリシステム及びそれを含むメモリ処理方法
US7433263B2 (en) 2006-02-28 2008-10-07 Samsung Electronics Co., Ltd. Multi-port semiconductor device and method thereof
US7369453B2 (en) 2006-02-28 2008-05-06 Samsung Electronics Co., Ltd. Multi-port memory device and method of controlling the same
KR100909805B1 (ko) 2006-09-21 2009-07-29 주식회사 하이닉스반도체 멀티포트 메모리 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1209563A2 (en) * 2000-11-22 2002-05-29 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
CN1752885A (zh) * 2005-08-25 2006-03-29 深圳市研祥智能科技股份有限公司 计算机系统及其配置方法

Also Published As

Publication number Publication date
KR101343714B1 (ko) 2013-12-20
CN103425623A (zh) 2013-12-04
US20070233938A1 (en) 2007-10-04
JP2009532783A (ja) 2009-09-10
WO2007115229A1 (en) 2007-10-11
JP5380276B2 (ja) 2014-01-08
US7831778B2 (en) 2010-11-09
EP3444723B1 (en) 2021-12-22
EP2002333A1 (en) 2008-12-17
EP3444723A1 (en) 2019-02-20
KR101343704B1 (ko) 2013-12-20
KR20130133902A (ko) 2013-12-09
EP2002333B1 (en) 2018-07-04
KR20090006138A (ko) 2009-01-14

Similar Documents

Publication Publication Date Title
CN103425623B (zh) 共享非易失性存储器体系结构
CN101438242B (zh) 共享非易失性存储器体系结构
TW518517B (en) Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
CN100561437C (zh) 用于对系统bios本地及远程更新及配置的独立于芯片组的方法
US10613978B2 (en) Application cache replication to secondary application(s)
US20070136536A1 (en) Memory system and memory management method including the same
US10740808B2 (en) Beacon network with enterprise smart contracts having a centralized ledger
CN114580344B (zh) 测试激励生成方法、验证方法、验证系统及相关设备
CN105144120A (zh) 基于存储器地址将来自高速缓存行的数据存储到主存储器
US20070011416A1 (en) Data storage device and medium and related method of storing backup data
CN103020003A (zh) 面向多核程序确定性重演的内存竞争记录装置及其控制方法
CN112930530B (zh) 用于网络应用程序执行的客户端应用程序
CN114020340B (zh) 一种服务器系统及其数据处理方法
CN113642006A (zh) 双核继电保护系统安全启动方法
US7958344B2 (en) Method for adjusting set-up default value of bios and mainboard using the same method
TW201005643A (en) Backup system of embedded system for storing booting files in different storage sections and method thereof
US20240134843A1 (en) System and method to ensure data integrity of software defined storage system
US11748329B2 (en) Updating a multi-tenant database concurrent with tenant cloning
JP2000305830A (ja) コンピュータシステムにおけるファイル管理方法およびファイル管理システム
US11500747B2 (en) Computer initialization debug message display system
US20240193052A1 (en) Commit block structure and device, for multiple file transaction
CN117667432A (zh) 一种文件操作方法、装置、电子设备以及存储介质
CN116860176A (zh) 基于eeprom的数据管理方法、装置、设备及存储介质
TW200807248A (en) Generalized flash memory and method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151217

Address after: oregon

Applicant after: LATTICE SEMICONDUCTOR CORPORATION

Address before: American California

Applicant before: Silicon Image Inc. A. Delaware C.

C14 Grant of patent or utility model
GR01 Patent grant