CN103999042B - 加载引导数据 - Google Patents

加载引导数据 Download PDF

Info

Publication number
CN103999042B
CN103999042B CN201180075899.8A CN201180075899A CN103999042B CN 103999042 B CN103999042 B CN 103999042B CN 201180075899 A CN201180075899 A CN 201180075899A CN 103999042 B CN103999042 B CN 103999042B
Authority
CN
China
Prior art keywords
nonvolatile memory
guiding
data
equipment
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
CN201180075899.8A
Other languages
English (en)
Other versions
CN103999042A (zh
Inventor
J.J.布里登
F.C.托马斯三世
W.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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN103999042A publication Critical patent/CN103999042A/zh
Application granted granted Critical
Publication of CN103999042B publication Critical patent/CN103999042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • 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
    • 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
    • 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/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本文的实施例涉及加载引导数据。在实施例中,设备从第一非易失性存储器的第一部分中加载引导数据以完成所述设备的第一引导。第一非易失性存储器的第一部分然后被释放以允许所述设备重写所述第一部分。接下来,在所述设备进入降低功率状态之前,将所述引导数据写到第一非易失性存储器。在第二引导被发起的情况下,所写的引导数据要从第一非易失性存储器中被加载以完成所述设备的第二引导。

Description

加载引导数据
背景技术
计算设备可以包括诸如硬盘驱动器(HDD)之类的具有相对缓慢的访问时间的慢存储设备。慢存储设备可能充当瓶颈并影响计算设备的性能。为了改进性能,所述计算设备可以包括诸如闪速存储器之类的具有相对快速的访问时间的快存储设备。然而,快存储设备可能每存储单元比慢存储设备更昂贵。
结果,与慢存储设备的存储容量相比,快存储设备可能具有更小的存储容量。快存储设备的更小的存储容量可以被计算设备充分利用,诸如用于被频繁访问的数据。如果需要附加的存储容量,则计算设备也可以在慢存储设备处存储部分被频繁访问的数据。增加能够存储在快存储设备处的被频繁访问的数据的百分比可以进一步改进计算设备的性能。
附图说明
下述详细说明参考附图,其中:
图1A是用以加载引导数据的设备的示例性框图;
图1B是用以加载引导数据的设备的另一个示例性框图;
图2是包括用于加载引导数据的指令的计算设备的示例性框图;并且
图3A和3B是用于加载引导数据的方法的示例性流程图。
具体实施方式
在下述描述中给出具体细节来提供对实施例的彻底理解。然而,本领域普通技术人员应该理解,可以在没有这些具体细节的情况下实践所述实施例。例如,***可以以框图示出,以便不会不必要地详细地使实施例模糊。在其他实例中,公知的过程、结构和技术可以在没有不必要的细节的情况下被示出,以便避免使实施例模糊。
除了诸如硬盘驱动器(HDD)之类的慢速存储设备之外,计算设备还可以包括诸如闪速存储器之类的快速存储设备。快速存储设备可以具有比慢速存储设备更低的等待时间。计算设备可以通过在快速存储设备处而不是慢速存储设备处存储更多的被频繁访问的数据来提高性能。例如,所述计算设备可以使用快速存储设备作为高速缓存或用来存储引导数据。然而,快速存储设备可能不具有足够大的存储容量来存储正被计算设备所使用的所有被频繁访问的数据。因此,快速存储器的存储容量可能充当对计算设备的性能的瓶颈。此外,由于快速存储设备通常每存储器单元比慢速存储设备显著地更昂贵,快速存储设备的存储容量通常不可以增加。
例如,与慢速存储设备相对,通过从快速存储设备中加载引导数据来引导计算设备可以减少计算设备的引导时间。引导数据可以占据快速存储设备的较大百分比。例如,引导数据可以是4千兆字节(GB)而快速存储设备的存储容量可以是16GB。快速存储设备的预定部分可以被保留以用于引导数据,但是引导数据的大小可能改变。因此,预定部分可能在大小上被保守地设置较大,导致快速存储设备的部分存储容量被浪费。例如,如果引导数据是4GB但预定部分是5GB,则1GB的存储空间可能未被使用。
另外,如果计算设备不经常被引导,则保留预定部分可能不是对快速存储设备的存储容量的高效使用。另一方面,允许整个快速存储设备被用来作为高速缓存可能导致引导数据随着时间而被重写。结果,在下一次引导期间,计算设备可能不能从快速存储设备中加载引导数据。代替地,在下一次重新引导期间,计算设备可以从慢速存储设备中加载引导数据。
实施例可以增加可用于被频繁访问的数据的快速存储设备的存储容量的量,而仍然允许计算设备从快速存储设备中加载引导数据。例如,计算设备可以从快速存储设备的部分中加载引导数据并且然后允许存储引导数据的快速存储设备的部分被重新目的化以用于其他类型的数据,诸如高速缓存数据。接下来,在计算设备断电前,可以将引导数据再次写到快速存储设备以供下一次引导。
图1A是用以加载引导数据的设备100的示例性框图。所述设备100的示例可以包括笔记本计算机、台式计算机、一体化***、从计算设备、便携式阅读设备、无线电子邮件设备、移动电话等等。在图1A的实施例中,所述设备100包括处理器110、高速缓存模块120、引导模块130和第一非易失性存储器140。所述第一非易失性存储器140进一步包括第一部分142。
处理器110可以是适合于从第一非易失性存储器140和/或被配置成执行下述任何模块120和130的功能的电子电路检索并执行指令的CPU、GPU或微处理器。第一非易失性存储器140可以是一个或多个非易失性机器可读存储介质,诸如甚至当不被供电时也保留所存储的信息的任何电子、磁性、光学或其他物理存储设备。第一非易失性存储器140的示例可以包括固态驱动器(SSD)或闪速存储器。
模块120和130中的每一个可以包括例如包括用于实现下述功能的电子电路的硬件设备。附加地或作为替换,每个模块可以被实现为编码在机器可读存储介质(诸如第一非易失性存储器140)上并被处理器110可执行的一系列指令。在实施例中,模块120和130中的部分可以被实现为硬件设备,而其他模块被实现为可执行的指令。例如,模块120和130可以被实现为由运行在设备100上的操作***(OS)(未示出)所运行的应用的部分。
第一非易失性存储器140要在第一部分142处存储引导数据。所述引导数据要被用来完成设备100的第一引导。例如,当使设备100从诸如关状态之类的非活动状态上电时,设备100可以最初执行初始指令集,诸如存储在只读存储器(ROM)(未示出)中的指令。基于这些指令,设备100可以将引导数据从第一非易失性存储器140(诸如第一部分142)加载到单独的位置(诸如随机访问存储器(RAM)(未示出))。所述引导数据可以包括响应于设备100上电而要被执行的指令(诸如程序和/或操作***(OS)的指令)和/或数据。在一个实施例中,引导数据能够被用来在设备100上启动操作***。设备100然后可以执行和/或使用在RAM处的引导数据来完成设备100的第一引导,其可以包括例如启动OS。
在从第一非易失性存储器140的第一部分142中加载引导数据之后,高速缓存模块120要将高速缓存数据写到第一非易失性存储器140的第一部分142。所述高速缓存数据可以包括可能被再次使用或频繁使用的数据,诸如应用文件、用户文档和/或元数据。例如,诸如OS、应用或web浏览器之类的软件或者诸如处理器110或另一个存储器之类的硬件,可以在第一部分142处存储高速缓存数据以用于更快地访问高速缓存数据。所述高速缓存数据可以是冗余或非冗余类型的信息。冗余类型的信息可以是从另一个存储器位置处取的存储在第一部分142处的只读数据。同样地,可能有存储在第一部分142和另一个存储器位置二者处的冗余类型信息的复制拷贝。非冗余信息可以是只存储在第一部分142处的数据(诸如被硬件、应用、用户等所修改或生成的数据)。
在设备100进入降低功率状态之前,引导模块130要将引导数据写到第一非易失性存储器140。降低功率状态的示例可以包括设备100进入关闭状态、冬眠状态、或者休眠状态。例如,在从OS接收到设备100要进入降低功率状态的指示的情况下,在设备100断电之前,引导模块130可以将引导数据再次写到第一部分142。可替换地,在设备100断电之前,引导数据可以被写到第一非易失性存储器140的另一个部分。在实施例中,OS可以等待以完成设备进入降低功率状态,直到诸如从引导模块130接收到确认:引导数据已经被成功传递到第一非易失性存储器140。
当设备100随后被开启时,可以发起第二引导。可以同样从第一非易失性存储器140中加载所写的引导数据来完成设备100的第二引导。因此,通过释放在第一非易失性存储器140处存储引导数据的存储器位置(诸如第一部分142),对于高速缓存数据来说,更大数量的被频繁使用的信息可以被存储在第一非易失性存储器140处,从而改进设备的性能和/或速度。另外,通过在设备100断电之前将引导数据加载回第一非易失性存储器140,设备100可以比在从慢速存储器中加载引导数据的情况下更快地引导。
图1B是用以加载引导数据的设备150的另一个示例性框图。图1B的设备150包括与图1A的设备100的组件类似的组件,诸如处理器110、高速缓存模块120、引导模块130和第一非易失性存储器140。第一非易失性存储器140类似地包括第一部分142。然而,图1B的设备150进一步包括第二非易失性存储器160。所述第二非易失性存储器140包括第二部分162。
第二非易失性存储器160可以是一个或多个非易失性机器可读存储介质,诸如甚至当不被供电时也保留所存储的信息的任何电子、磁性、光学或其他物理存储设备。第二非易失性存储器160的示例可以包括硬盘驱动器(HDD)或存储驱动器。第二非易失性存储器160可以具有比第一非易失性存储器140更大的等待时间和/或容量。例如,第二非易失性存储器160可以是具有较大访问时间的磁性存储介质(诸如500千兆字节(GB)的HDD)而第一非易失性存储器160可以是具有较低访问时间的一种类型的闪速存储器(诸如64GB的SDD)。
第二非易失性存储器160也可以存储引导数据。例如,在高速缓存模块120将高速缓存数据写到第一非易失性存储器140的第一部分142之前,引导模块130可以将引导数据写到第二非易失性存储器160(诸如到第二部分162)。因此,引导数据可以被保存。随后,在设备150进入降低功率状态之前,引导模块140可以将第二非易失性存储器160处的引导数据写到第一非易失性存储器140(诸如到第一部分142)。因此,如上所述,通过从第一非易失性存储器140中访问引导数据,设备100可以再次被引导。另外,在第二非易失性存储器160处的引导数据的复制拷贝可以被保留作为备份。例如,如果不能从第一非易失性存储器140中加载引导数据,则可以从第二非易失性存储器160中加载引导数据来完成第一或第二引导。例如,如果在引导模块130完成将引导数据写回到第一非易失性存储器140之前设备100先前断电,或如果第一非易失性存储器140发生故障,则引导数据可能不是从第一非易失性存储器140中可加载的。在第二非易失性存储器160处的引导数据的地址位置可以被存储在第一非易失性存储器140上。结果,如果不能从第一非易失性存储器140中加载引导数据,则设备150仍然可以读取存储在第一非易失性存储器140上的地址位置来访问在第二非易失性存储器160处的引导数据。
可选择地,在设备150进入降低功率状态之前,高速缓存模块120可以将在第一非易失性存储器140处的高速缓存数据存储到第二非易失性存储器160。例如,在引导模块130将引导数据写回到第一部分142之前,高速缓存模块120可以将在第一部分142处的高速缓存数据保存到第二非易失性存储器160。因此,高速缓存数据可以被保留在第二非易失性存储器160处并在第二引导之后被重用。否则,如果高速缓存数据的复制拷贝未被保存到第二非易失性存储器160,则当被引导模块130用第一部分142处的引导数据重写时,高速缓存数据可能被丢失。可以关于图3A和3B更详细地描述设备100和150的操作。
图2是包括用于加载引导数据的指令的计算设备200的示例性框图。在图2的实施例中,计算设备200包括处理器205、第一非易失性存储器140和机器可读存储介质210。所述机器可读存储介质210进一步包括用于加载引导数据的指令212、214和216。第一非易失性存储器140包括第一部分142并且可以与图1A和1B的类似。
计算设备200可以是例如能够执行指令212、214和216的芯片组、笔记本计算机、板式计算设备、便携式阅读设备、无线电子邮件设备、移动电话或任何其它设备。在某些示例中,计算设备200可以包括或被连接到附加的组件,诸如存储器、传感器、显示器等。例如,计算设备200可以包括与图1B的第二非易失性存储器160类似的第二非易失性存储器(未示出)。可替换地,第二非易失性存储器可以是机器可读存储介质210的部分。
处理器205可以是,至少一个中央处理单元(CPU)、至少一个基于半导体的微处理器、至少一个图形处理单元(GPU)、适合于检索和执行存储在机器可读存储介质210中的指令的其它硬件设备或其组合。处理器205可以取、解码、和执行指令212、214和216来实现加载引导数据。作为替换或除了检索和执行指令之外,处理器202还可以包括包含用于执行指令212、214和216的功能的多个电子组件的至少一个集成电路(IC)、其它控制逻辑、其它电子电路、或其组合。
机器可读存储介质210可以是包含或存储可执行指令的任何电子、磁性、光学或其它物理存储设备。因此,机器可读存储介质210可以是例如随机访问存储器(RAM)、电可擦可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。同样地,机器可读存储介质210可以是非临时的。如下文详细描述,机器可读存储介质210可以被编码有一系列可执行指令以用于设置加载引导数据。
此外,当被处理器(例如,经由所述处理器一个处理元件或多个处理元件)所执行时,指令212、214和216能够使所述处理器执行诸如图3A和3B的过程之类的过程。例如,加载指令212可以被处理器205执行以从第一非易失性存储器140的第一部分142中加载引导数据来完成设备的第一引导。释放指令214可以被处理器205执行以释放第一非易失性存储器140的第一部分142以允许设备200重写第一部分142。在设备200进入降低功率状态之前,写指令216可以被处理器205执行以将引导数据写到第一非易失性存储器140(诸如到第一部分142)。如果设备200发起第二引导,则要从第一非易失性存储器140中加载所写的引导数据来完成设备200的第二引导。
机器可读存储介质210还可以包括用以在第一部分被释放之前将在第一非易失性存储器140的第一部分142处的引导数据存储到第二非易失性存储器的指令(未示出),其中所述引导数据被从第二非易失性存储器写到第一非易失性存储器140。另外,机器可读存储介质210还可以包括用以在不能从第一非易失性存储器140中加载引导数据来完成第一和第二引导中的至少一个的情况下从第二非易失性存储器中加载引导数据的指令(未示出)。与第二非易失性存储器相比,引导数据能够更快地从第一非易失性存储器140中加载。可以关于图3A和3B更详细地描述设备200的操作。
图3A和3B是用于加载引导数据的方法300的示例性流程图。尽管下文参***150描述了方法300的执行,能够利用用于执行方法300的其他合适的组件,诸如设备100或200。此外,用于执行方法300的组件可以散布在多个设备之中(例如,与输入和输出设备通信的处理设备)。在某些情况下,协调地作用的多个设备能够被视作用以执行方法300的单个设备。方法300可以以存储在诸如存储介质210之类的机器可读存储介质上的可执行指令的形式和/或以电子电路的形式来实现。
在方框310处,设备150从第一非易失性存储器140的第一部分142中加载引导数据来完成设备100的第一引导。例如,设备150可以访问指令以将设备150的OS的图像从第一非易失性存储器140加载到诸如RAM之类的另一个存储器。一旦OS已经被加载,第一引导就可以被完成。然后,在方框320处,设备150将在第一非易失性存储器140的第一部分142处的引导数据存储到第二非易失性存储器160。接下来,在方框330处,设备150释放第一非易失性存储器140的第一部分142以允许设备150重写第一部分。在方框330处的释放可以包括使用第一非易失性存储器140的第一部分142作为高速缓存来存储设备150的高速缓存数据。在稍后的时间,在设备150断电之前,在方框340处,设备150将在第一非易失性存储器140处的高速缓存数据存储到第二非易失性存储器160。高速缓存数据可以被重用,诸如在设备100的第二引导之后被恢复到第一非易失性存储器140的第一部分142。
然后,在方框350处,在设备150进入降低功率状态之前,设备150将在第二非易失性存储器160处的引导数据写到第一非易失性存储器140。在方框360处,在设备150进入降低功率状态之后,设备150的第二引导是否已经被发起。如果第二引导没有发生,则方法300结束。否则,在方框370处,设备150从第一非易失性存储器140中加载所写的引导数据来完成设备150的第二引导。在方框380处,确定是否从第一非易失性存储器140中成功地加载所写的引导数据。如果所写的引导数据被成功地加载,则方法300结束。否则,在方框390处,设备150从第二非易失性存储器160中加载引导数据。与第二非易失性存储器160相比,引导数据能够更快地从第一非易失性存储器140中加载。
根据前文,实施例提供一种方法和/或设备,所述方法和/或设备用于增加可使用的高速缓存空间(诸如第一非易失性存储器的高速缓存空间)的量,而当设备引导时允许从第一非易失性存储器中加载引导数据。因此,实施例可以减少设备的引导时间和数据等待时间。例如,实施例可以当设备在使用中的同时将引导数据存储在第二非易失性存储器处,并且然后在设备进入降低功率状态之前将所述引导数据存储回第一非易失性存储器。在下一次引导时,可以同样从第一非易失性存储器中加载引导数据。

Claims (10)

1.一种用于存储器分配的方法,包括:
从第一非易失性存储器的第一部分中加载引导数据以完成设备的第一引导;
把所述引导数据存储到第二非易失性存储器;
在所述存储之后,释放第一非易失性存储器的第一部分以允许所述设备重写所述第一部分;以及
在所述设备进入降低功率状态之前,将所述引导数据从第二非易失性存储器写到第一非易失性存储器,其中
在第二引导被发起的情况下,所写的引导数据要从第一非易失性存储器中被加载以完成所述设备的第二引导。
2.根据权利要求1所述的方法,其中所述释放包括使用第一非易失性存储器的第一部分作为用以存储高速缓存数据的高速缓存。
3.根据权利要求2所述的方法,进一步包括:
在所述写之前,将在第一非易失性存储器处的高速缓存数据存储到第二非易失性存储器。
4.根据权利要求1所述的方法,其中所述第一非易失性存储器具有比第二非易失性存储器更低的访问时间。
5.根据权利要求4所述的方法,其中所述第一非易失性存储器包括闪速存储器,并且所述第二非易失性存储器包括磁性存储介质。
6.根据权利要求1所述的方法,进一步包括:
在不能从第一非易失性存储器中加载所述引导数据以完成所述第一和第二引导中的至少一个的情况下,从第二非易失性存储器中加载所述引导数据,其中
与第二非易失性存储器相比,所述引导数据能够更快地从第一非易失性存储器中加载。
7.一种用于存储器分配的设备,包括:
第一非易失性存储器,用以在第一部分处存储引导数据,所述引导数据用以完成所述设备的第一引导;
第二非易失性存储器,用以存储引导数据;
高速缓存模块,用以在从第一非易失性存储器中加载引导数据之后将高速缓存数据写到第一非易失性存储器的第一部分;以及
引导模块,用以在高速缓存模块将高速缓存数据写入第一非易失性存储器的第一部分之前将引导数据写入第二非易失性存储器,并且在所述设备进入降低功率状态之前将第二非易失性存储器处的所述引导数据写到第一非易失性存储器,其中
在第二引导被发起的情况下,所写的引导数据要从第一非易失性存储器中被加载以完成所述设备的第二引导。
8.根据权利要求7所述的设备,其中在所述设备进入降低功率状态之前,所述高速缓存模块要将在第一非易失性存储器处的高速缓存数据存储到第二非易失性存储器。
9.根据权利要求7所述的设备,其中所述第一非易失性存储器包括闪速存储器,并且所述第二非易失性存储器包括磁性存储介质,所述第一非易失性存储器具有比所述第二非易失性存储器更低的访问时间。
10.根据权利要求9所述的设备,其中在不能从第一非易失性存储器中加载所述引导数据以完成所述第一和第二引导中的至少一个的情况下,所述引导数据要从第二非易失性存储器中被加载。
CN201180075899.8A 2011-10-26 2011-10-26 加载引导数据 Active CN103999042B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/057924 WO2013062543A1 (en) 2011-10-26 2011-10-26 Load boot data

Publications (2)

Publication Number Publication Date
CN103999042A CN103999042A (zh) 2014-08-20
CN103999042B true CN103999042B (zh) 2018-03-30

Family

ID=48168214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180075899.8A Active CN103999042B (zh) 2011-10-26 2011-10-26 加载引导数据

Country Status (9)

Country Link
US (1) US9858086B2 (zh)
EP (1) EP2771785B1 (zh)
JP (1) JP5860543B2 (zh)
KR (1) KR101846612B1 (zh)
CN (1) CN103999042B (zh)
BR (1) BR112014009915B1 (zh)
IN (1) IN2014CN02917A (zh)
TW (1) TWI509513B (zh)
WO (1) WO2013062543A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5984500B2 (ja) * 2011-11-30 2016-09-06 三菱電機株式会社 情報処理装置、放送受信装置及びソフトウェア起動方法
US20140241071A1 (en) * 2013-02-26 2014-08-28 Seagate Technology Llc Fast Power Loss Recovery By Swapping Boot and Recovery Data Sets in a Memory
US9619330B2 (en) * 2013-10-08 2017-04-11 Seagate Technology Llc Protecting volatile data of a storage device in response to a state reset
WO2015118436A1 (en) * 2014-02-07 2015-08-13 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, device, and electronic device
JP6420165B2 (ja) * 2014-02-07 2018-11-07 株式会社半導体エネルギー研究所 半導体装置
US9424134B2 (en) * 2014-03-28 2016-08-23 Intel Corporation Boot management in a non-volatile memory system
US9823972B2 (en) * 2014-10-28 2017-11-21 Samsung Electronics Co., Ltd. Mobile flash storage boot partition and/or logical unit shadowing
US10055236B2 (en) * 2015-07-02 2018-08-21 Sandisk Technologies Llc Runtime data storage and/or retrieval
US10474473B2 (en) * 2017-04-11 2019-11-12 Intel Corporation Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
TWI698748B (zh) * 2019-01-02 2020-07-11 慧榮科技股份有限公司 資料儲存裝置、存取裝置及資料處理方法
WO2023035233A1 (en) * 2021-09-10 2023-03-16 Schneider Electric It Corporation Cost effective firmware upgrade algorithm for resource constrained microprocessors

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1799028A (zh) * 2003-06-03 2006-07-05 皇家飞利浦电子股份有限公司 从非易失性存储器引导
CN1801121A (zh) * 2004-05-03 2006-07-12 微软公司 非易失性存储器高速缓存性能改进
CN101387988A (zh) * 2007-07-19 2009-03-18 Lg电子株式会社 具有闪速存储器的计算机和运行闪速存储器的方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100313996B1 (ko) 1998-01-08 2001-12-28 구자홍 컴퓨터시스템의바이오스데이터저장장치및방법
JPH11353229A (ja) 1998-06-05 1999-12-24 Canon Inc メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US6205548B1 (en) 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US20100146256A1 (en) * 2000-01-06 2010-06-10 Super Talent Electronics Inc. Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces
US6748457B2 (en) * 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US7082495B2 (en) * 2002-06-27 2006-07-25 Microsoft Corporation Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory
JP2004145730A (ja) * 2002-10-25 2004-05-20 Ricoh Co Ltd 画像形成装置
US7206971B2 (en) * 2003-04-07 2007-04-17 Lsi Logic Corporation Selectable and updatable computer boot memory
US7412565B2 (en) * 2003-08-18 2008-08-12 Intel Corporation Memory optimization for a computer system having a hibernation mode
JP2005107608A (ja) 2003-09-29 2005-04-21 Nec Electronics Corp 電子機器、不揮発性メモリ及び不揮発性メモリのデータ書き換え方法
US7631138B2 (en) 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US20050251617A1 (en) 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US7469336B2 (en) 2005-06-24 2008-12-23 Sony Corporation System and method for rapid boot of secondary operating system
JP4736593B2 (ja) 2005-07-25 2011-07-27 ソニー株式会社 データ記憶装置、データ記録方法、記録及び/又は再生システム、並びに、電子機器
US20080109612A1 (en) * 2006-11-02 2008-05-08 Jones Kevin M Dynamic Code Relocation for Low Endurance Memories
US8239611B2 (en) * 2007-12-28 2012-08-07 Spansion Llc Relocating data in a memory device
US8621144B2 (en) 2008-06-26 2013-12-31 Intel Corporation Accelerated resume from hibernation in a cached disk system
US8417928B2 (en) * 2008-09-24 2013-04-09 Marvell International Ltd. Turbo boot systems and methods for subsequent booting from a captured data stored in a non-volatile semiconductor memory
US8407398B2 (en) 2008-10-01 2013-03-26 Lenovo (Singapore) Pte. Ltd. Cache mapping for solid state drives
US9282277B2 (en) 2008-12-19 2016-03-08 Seagate Technology Llc Storage device and controller to selectively activate a storage media
TW201027324A (en) * 2009-01-14 2010-07-16 Giga Byte Tech Co Ltd Embedded electronic device free from being stuck in update failure and method of making the same
US8327076B2 (en) 2009-05-13 2012-12-04 Seagate Technology Llc Systems and methods of tiered caching
TWI460588B (zh) 2009-07-17 2014-11-11 Toshiba Kk Memory management device and memory information processing device
CN102103508A (zh) * 2009-12-22 2011-06-22 鸿富锦精密工业(深圳)有限公司 电子装置及其开机与关机方法
JP2011198133A (ja) * 2010-03-19 2011-10-06 Toshiba Corp メモリシステムおよびコントローラ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1799028A (zh) * 2003-06-03 2006-07-05 皇家飞利浦电子股份有限公司 从非易失性存储器引导
CN1801121A (zh) * 2004-05-03 2006-07-12 微软公司 非易失性存储器高速缓存性能改进
CN101387988A (zh) * 2007-07-19 2009-03-18 Lg电子株式会社 具有闪速存储器的计算机和运行闪速存储器的方法

Also Published As

Publication number Publication date
KR20140082734A (ko) 2014-07-02
EP2771785A4 (en) 2015-06-10
BR112014009915A2 (pt) 2017-04-25
US20140250295A1 (en) 2014-09-04
EP2771785B1 (en) 2022-12-21
KR101846612B1 (ko) 2018-04-06
TWI509513B (zh) 2015-11-21
JP2014534521A (ja) 2014-12-18
JP5860543B2 (ja) 2016-02-16
US9858086B2 (en) 2018-01-02
BR112014009915B1 (pt) 2021-06-15
TW201329868A (zh) 2013-07-16
WO2013062543A1 (en) 2013-05-02
IN2014CN02917A (zh) 2015-07-03
CN103999042A (zh) 2014-08-20
EP2771785A1 (en) 2014-09-03

Similar Documents

Publication Publication Date Title
CN103999042B (zh) 加载引导数据
KR102500661B1 (ko) 다중 레벨 셀 모드 비휘발성 메모리를 위한 비용 최적화된 단일 레벨 셀 모드 비휘발성 메모리
TWI614752B (zh) 經由記憶體通道關閉之節電技術
US8463826B2 (en) Incremental garbage collection for non-volatile memories
US8769318B2 (en) Asynchronous management of access requests to control power consumption
US7793036B2 (en) Method and arrangements for utilizing NAND memory
CN104346290A (zh) 存储装置、计算机***及其操作方法
US10942677B2 (en) Method for performing access management of memory device, associated memory device and controller thereof, associated host device and associated electronic device
US20100318727A1 (en) Memory system and related method of loading code
KR102434170B1 (ko) 하이브리드 메모리 시스템
US8583890B2 (en) Disposition instructions for extended access commands
CN111868678A (zh) 混合存储器***
US11573891B2 (en) Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
JP2011070365A (ja) メモリシステム
CN110727470B (zh) 一种混合式非失性存储装置
KR20130079706A (ko) 휘발성 메모리를 포함하는 저장 장치의 구동 방법
CN111868679A (zh) 混合存储器***
CN107544912A (zh) 一种日志记录方法、加载方法及其装置
Lee et al. TinyFTL: An FTL architecture for flash memory cards with scarce resources
KR101974731B1 (ko) 플래시 스토리지 장치 및 플래시 스토리지 장치에 데이터를 기록하는 방법
CN108536619A (zh) 快速恢复ftl表的方法与装置
CN107544913A (zh) 一种ftl表快速重建方法与装置
Chen Hardware/software codesign for performance and lifetime enhancement in NAND-flash-based embedded storage systems
CN102141945B (zh) 具有内建快闪存储器备用作业单元的电脑***及其方法
Lo et al. Improving response time after resuming by reorganizing swap space

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant