CN109669627B - 数据储存装置以及非挥发式存储器操作方法 - Google Patents
数据储存装置以及非挥发式存储器操作方法 Download PDFInfo
- Publication number
- CN109669627B CN109669627B CN201810007289.8A CN201810007289A CN109669627B CN 109669627 B CN109669627 B CN 109669627B CN 201810007289 A CN201810007289 A CN 201810007289A CN 109669627 B CN109669627 B CN 109669627B
- Authority
- CN
- China
- Prior art keywords
- volatile memory
- power supply
- supply area
- boot
- storage device
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 137
- 238000013500 data storage Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000002159 abnormal effect Effects 0.000 claims abstract description 30
- 230000005059 dormancy Effects 0.000 abstract 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 12
- 230000007958 sleep Effects 0.000 description 8
- 230000006266 hibernation Effects 0.000 description 4
- 230000002618 waking effect Effects 0.000 description 4
- 101100328518 Caenorhabditis elegans cnt-1 gene Proteins 0.000 description 3
- 101150044602 Slc28a2 gene Proteins 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101150045440 ISP1 gene Proteins 0.000 description 1
- 101100353471 Mus musculus Prss28 gene Proteins 0.000 description 1
- 101100509103 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ish1 gene Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- 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
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
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)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及快速休眠唤醒的数据储存装置以及非挥发式存储器操作方法,其中以一控制器操作一非挥发式存储器。该控制器具有一微处理器以及一挥发式存储器。根据该挥发式存储器的一常态给电区所载有的一开机程序码载出脚本,该微处理器自该非挥发式存储器将一开机程序载出至该挥发式存储器的一非常态给电区,以执行该开机程序,继而自该非挥发式存储器将一***内程序载出至该非常态给电区,以执行该***内程序。
Description
技术领域
本发明有关于数据储存装置以及其中非挥发式存储器的操作方法。
背景技术
非挥发式存储器有多种形式─例如,快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式随机存取存储器(Resistive RAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,用于长时间数据保存。一非挥发式存储器可与一控制器结合成一数据储存装置,由一主机操作。
为了使非挥发式存储器上储存单元的损耗平均,非挥发式存储器的物理空间系动态配置使用。特别是,不同非挥发式存储器可能有不同的良率状况;因此,不同非挥发式存储器配置来储存开机程序码(以下以BootISP代号)的物理空间可能有出入。数据储存装置的控制器需对非挥发式存储器耗时搜寻后,方能自非挥发式存储器寻得、并载出开机程序码BootISP。如此耗时的逐空间搜寻特别影响休眠唤醒时的使用者感受。
发明内容
根据本发明一种实施方式所实现的一数据储存装置包括一非挥发式存储器以及一控制器。该控制器包括一微处理器以及一挥发式存储器,用以操作该非挥发式存储器。根据该挥发式存储器的一常态给电区所载有的一开机程序码载出脚本,该微处理器自该非挥发式存储器将一开机程序载出至该挥发式存储器的一非常态给电区,以执行该开机程序,继而自该非挥发式存储器将一***内程序载出至该非常态给电区,以执行该***内程序。
根据本发明一种实施方式实现的一种非挥发式存储器操作方法,包括:提供一挥发式存储器,其中该挥发式存储器包括一常态给电区以及一非常态给电区;且根据该常态给电区所载有的一开机程序码载出脚本,自该非挥发式存储器将一开机程序载出至该非常态给电区,以执行该开机程序,继而自该非挥发式存储器将一***内程序载出至该非常态给电区,以执行该***内程序。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1为方块图,图解根据本发明一种实施方式所实现的一数据储存装置100;
图2A、2B、2C图解开机程序码载出脚本BootDS以及开机程序码BootISP(分三段Boot1、Boot2以及Boot3)内容;
图3A-1、3A-2图解常态给电区122所载内容;
图3B图解非常态给电区124所载内容;
图4A、4B、4C图解旧产品的快闪存储器为开机所内存的内容,包括开机程序码Boot1、Boot2以及Boot3,但不包括图2A-2C所示的开机程序码载出脚本BootDS;
图5为流程图,图解该数据储存装置100自关机状态上电所做的开机动作;且
图6为流程图,图解该数据储存装置100休眠唤醒的开机动作。
符号说明
100~数据储存装置;
102~快闪存储器;
104~控制器;
106~主机;
112~微处理器;
114~只读存储器;
116~挥发式存储器;
122~常态给电区;
124~非常态给电区;
202~栏位,供填写参数BtDSSecCnt、Scnt、Cnt0、Cnt1、Cnt2、Mode、Block、以及三组Page与CH/CE;
API_for_PS4~参数;
Boot1、Boot2、Boot3~开机程序码BootISP三段落;
BootDS~开机程序码载出脚本;
BootDS_Tail、BootISP1_Tail、BootISP2_Tail、BootISP3_Tail~标签;
BootISP~开机程序码;
BootISP1、BootISP2与BootISP3~程序码;
BootISP_2017~标签;
BootISP_HMAC~栏位;
Boot_use~参数;
ISP~***内程序码;
ISP_variable~参数;
Model123_AO、Model123_DS、Model123_Ext、Model123_RT~标签;
ParaInfo~参数;
Reserved~储备空间;
S502…S518、S602…S612~步骤;
ScriptSize~脚本尺寸;
Super_Lightswitch、Super_Lightswitch_HMAC~栏位;
NandCmdScript~栏位,供填写脚本;
InitFormDeviceSleepFlow~休眠唤醒码。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围来界定。
非挥发式存储器可以是快闪存储器(Flash Memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,提供长时间数据保存的储存媒体,可用于实现数据储存装置、或应用于数据中心。以下特别以快闪存储器为例进行讨论。
现今数据储存装置常以快闪存储器为储存媒体,用来实现记忆卡(Memory Card)、通用串行总线闪存装置(USB Flash Device)、固态硬碟(SSD)…等产品。有一种应用是采多晶片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模组(如eMMC)。以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的运算模块可视为一主机(Host),操作所使用的数据储存装置,以存取其中快闪存储器。
快闪存储器实现的储存媒体也可用于建构数据中心。例如,伺服器可操作固态硬碟(SSD)阵列形成数据中心。伺服器即可视为一主机,操作所连结的固态硬碟,以存取其中快闪存储器。
主机端是以逻辑地址(例如,逻辑区块地址LBA或全域主机页编号GHP…等)区别快闪存储器储存内容。为了最佳化使用快闪存储器,快闪存储器的储存空间是动态配置对应主机所识别的逻辑地址。例如,为了避开损坏的区块,不同快闪存储器配置来储存开机程序码(以下以BootISP代号)的物理空间可能有出入。
快闪存储器一般划分为多个区块(Blocks)。各区块包括多页(Pages)。各页可更划分为多个储存单元。快闪存储器可采用多通道存取,以轮流存取每一通道中的区块的页所储存的数据,或同时存取每一通道中的区块的页所储存的数据。开机程序码BootISP可分为数段存于一区块中,有着各自的通道编号以及页编号。或者,快闪存储器的空间划分也可能有其他实施方式。或者,开机程序码BootISP不同段可储存于不同区块中。
开机程序码BootISP一般在***内程序码(ISP)之前被载出执行,用以完成快闪存储器的开机程序(包括自关机状态、或省电状态启动上电所需的程序)。针对开机程序码BootISP,本发明提供一开机程序码载出脚本(Script)BootDS,储存于内建于控制器的挥发式存储器的常态给电(Always On)区,或是独立式挥发式存储器的常态给电区。开机程序码载出脚本BootDS记录取得开机程序码BootISP所需的物理参数,例如:通道数值、物理地址值等等。如此一来,当数据储存装置从休眠状态被唤醒时(例如,从NVMe定义的电力状态S4切换至电力状态S1时),由于开机程序码载出脚本BootDS记录取得开机程序码BootISP所需的物理参数,所以控制器可免去依序搜寻快闪存储器以获得开机程序码BootISP如此繁琐的程序,加速开机程序码BootISP的读取,亦也节省开机程序码BootISP所占用的挥发式存储器的储存空间。
图1为方块图,图解根据本发明一种实施方式所实现的一数据储存装置100。
数据储存装置100包括一快闪存储器102以及一控制器104。一主机106可连结该数据储存装置100,通过该控制器104存取该快闪存储器102。快闪存储器102上存有开机程序码载出脚本BootDS以及开机程序码BootISP,以提供开机程序。快闪存储器102上更存有***内程序码ISP,于开机程序后再被载出执行。控制器104包括一微处理器112、一只读存储器114以及一挥发式存储器116。只读存储器114以及挥发式存储器116不限定与微处理器112整合、或分开提供。只读存储器114储存有一只读程序码(ROM code)。挥发式存储器116可由静态随机存取存储器(SRAM)实现,暂存程序码、运算数据、主机106与快闪存储器102之间映射关系…等。以下专注于开机程序的相关描述。
如图所示,挥发式存储器116包括一常态给电(Always On)区122以及一非常态给电区124。数据储存装置100自正常状态,例如电力状态S1,进入休眠状态时,例如电力状态S4,常态给电区122还是有电,因此,可用以储存重要的数据,在本发明中,常态给电区122可储存用于唤醒该数据储存装置100所需的数据。本发明是令该常态给电区122储存载自该快闪存储器102的开机程序码载出脚本BootDS。微处理器112藉由执行常态给电区122上的开机程序码载出脚本BootDS,即可获知自快闪存储器102何处取得开机程序码BootISP,待数据储存装置100自休眠状态回复至正常状态时,则将开机程序码BootISP载至该非常态给电区124执行,以于后续更将***内程序码ISP自该快闪存储器102取至该非常态给电区124执行。相较于包含繁琐开机程序的开机程序码BootISP,作快闪存储器102位置标记用的开机程序码载出脚本BootDS尺寸相当小,仅占用常态给电区122一部份储存空间,因此,常态给电区122的储存空间有相当余裕可做其他应用。例如,智慧型手机的个人安全性信息因而可储存在常态给电区122,加速数据储存装置100的休眠唤醒。
数据储存装置100自完成开机后,即将开机程序码载出脚本BootDS储存至常态给电区122,并于数据储存装置100自休眠状态回复至正常状态时载入开机程序码载出脚本BootDS。该数据储存装置100自关机状态启动或重新启动时,微处理器112会根据只读存储器114提供的只读程序码(ROM code)动作,依据预设的方式,搜寻快闪存储器102以找到开机程序码载出脚本BootDS以及开机程序码BootISP、并将开机程序码载出脚本BootDS载入该常态给电区122,且将开机程序码BootISP载入该非常态给电区124。特别是,取得开机程序码BootISP的物理参数(快闪存储器102地址)也是在此时填入常态给电区122的开机程序码载出脚本BootDS。在另一实施例中,数据储存装置100自关机状态启动或重新启动时,微处理器112仅搜寻快闪存储器102以找到开机程序码BootISP且将开机程序码BootISP载入该非常态给电区124,待完成开机程序后,微处理器112再从快闪存储器102取得开机程序码载出脚本BootDS并将开机程序码载出脚本BootDS载入常态给电区122,并将取得开机程序码BootISP的物理参数填入开机程序码载出脚本BootDS。
图2A、2B、2C图解开机程序码载出脚本BootDS以及开机程序码BootISP(分三段Boot1、Boot2以及Boot3)内容。
开机程序码载出脚本BootDS以标签(tag)"Model123_DS"标示,且注明挥发式存储器116上一地址"0x40180000",表示需写入该常态给电区122。除了内容标签"BOOTISP_2017"外,开机程序码载出脚本BootDS提供栏位202,供填写自快闪存储器102取得开机程序码BootISP所需的多种物理参数(包括BtDSSecCnt、Scnt、Cnt0、Cnt1、Cnt2、Mode、Block、以及三组Page与CH/CE)。开机程序码载出脚本BootDS还提供一栏位NandCmdScript,用于脚本(Script)储存;该脚本是根据栏位202内容而编写出。栏位202以及栏位NandCmdScript都是在数据储存装置100自关机状态启动、对快闪存储器102有进行搜寻时,才将实际数值填入已载至该常态给电区122上的该开机程序码载出脚本BootDS。开机程序码载出脚本BootDS还提供一休眠唤醒码InitFormDeviceSleepFlow,其中描述数据储存装置100休眠唤醒时的元件上电顺序(power sequence),且指示执行栏位NandCmdScript所填写的该脚本。尾端标有结尾标签"BootDS_Tai1"。
开机程序码Boot1同样注有标签"Model123_DS",但注明挥发式存储器116上一地址"0x40071000",表示规划载入该非常态给电区124。开机程序码Boot1包括程序码BootISP1、快闪存储器102资讯FlashInfo、以及结尾标签"BootISP1_Tai1"。一种实施方式中,下一段开机程序码Boot2在快闪存储器102的位置可以记录于程序码BootISP1中。开机程序码Boot1可接续开机程序码载出脚本BootDS存于快闪存储器102上,与开机程序码载出脚本BootDS储存于同一页的储存空间。
开机程序码Boot2所注标签为"Model123_RT",且注明挥发式存储器116上一地址"0x40072800",表示规划载入该非常态给电区124。开机程序码Boot2包括程序码BootISP2、以及结尾标签"BootISP2_Tail"。一种实施方式中,下一段开机程序码Boot3在快闪存储器102的位置可以记录于程序码BootISP2中。
开机程序码Boot3所注标签为"Model123_Ext",且注明挥发式存储器116上一地址"0x40074000",表示规划载入该非常态给电区124。开机程序码Boot3包括程序码BootISP3、侦错栏位C_ROMCodeChecksum、结尾标签"BootISP3_Tai1"、及其他栏位(BootISP_HMAC、Super_Lightswitch、Super_Lightswitch_HMAC)。
图3A-1、3A-2图解常态给电区122所载内容。常态给电区122的储存空间为32K,除了储存操作快闪存储器102所需的参数ParaInfo、ISP_variable、API_for_PS4与Boot_use,不同于已知技艺所需占用大量的储存空间,本发明开机程序码载出脚本BootDS只占用常态给电区122的4K储存空间,而节省的储存空间可用以储存其他重要数据,或作为其他应用,更加速休眠唤醒。
图3B图解非常态给电区124所载内容。同一页储存的开机程序码载出脚本BootDS以及开机程序码Boot1可如图所示一同载入该非常态给电区124。开机程序码Boot1之后更载有开机程序码Boot2以及Boot3。由于开机程序码Boot1、Boot2以及Boot3是载入非常态给电区124,不会占用常态给电区122,仅开机程序码载出脚本BootDS会搬移或备份至常态给电区122。
图4A、4B、4C图解旧产品的快闪存储器为开机所内存的内容,包括开机程序码Boot1、Boot2以及Boot3,但不包括图2A-2C所示的开机程序码载出脚本BootDS。如图所示,开机程序码Boot1所注标签是"Model123_AO",是"AO"结尾,与图2A"DS"结尾的标签"Model123_DS"区别。特别是,开机程序码三段落Boot1、Boot2以及Boot3是注明挥发式存储器116的常态给电区122上的地址,分别为"0x40180000"、"0x40181800"、以及"0x40183000"。常态给电区122的大量储存空间用以储存开机程序码BootISP,供休眠唤醒使用。
以下考量新旧产品相容性,提出数据储存装置100操作流程。图5为流程图,图解该数据储存装置100自关机状态上电所做的开机动作。步骤S502,微处理器112根据只读程序码(ROM code)搜寻快闪存储器102,寻找标签符合的内容。若寻无,则流程进行步骤S504,微处理器112维持执行只读程序码(ROM code)。若寻得,则步骤S506会根据标签尾端导向不同动作。若标签尾端为"DS",符合图2A开机程序码载出脚本BootDS所载标签"Model123_DS",则流程进行步骤S508。微处理器112自快闪存储器102将开机程序码载出脚本BootDS载出至挥发式存储器116的常态给电区122,并将组成开机程序码BootISP的三段落Boot1、Boot2以及Boot3自快闪存储器102载至挥发式存储器116的非常态给电区124。此步骤还包括对常态给电区122上的开机程序码载出脚本BootDS进行参数填写,包括:自快闪存储器102读出段落Boot1、Boot2以及Boot3各自所需的控制参数Cnt0、Cnt1、Cnt2与操作模式Mode(SDR或DDR模式);段落Boot1、Boot2以及Boot3所在区块编号Block;段落Boot1、Boot2以及Boot3各自的页编号Page以及通道编号/晶片致能编号CH/CE。步骤S510对已载至挥发式存储器116的数据进行侦错,可以是根据段落Boot3末端所提供的C_ROMCodeChecksum、BootISP_HMAC、Super_Lightswitch、Super_Lightswitch_HMAC等栏位进行。若未通过侦错,表示段落Boot1、Boot2以及Boot3可能已受到未授权更改,流程进行步骤S504,微处理器112维持执行只读程序码(ROM code)。若通过侦错,流程进行步骤S512执行非常态给电区124上的开机程序码BootISP,继而以步骤S514将***内程序码ISP自快闪存储器102载出至非常态给电区124,并以步骤S516执行。一种实施方式是在微处理器112已经进入***内程序码ISP执行,采用较高速的时脉后,方对常态给电区122上的开机程序码载出脚本BootDS的栏位NandCmdScript进行脚本填写,包括填写脚本的尺寸Scnt。
若快闪存储器102事实上是旧产品,储存的开机内容是如图4A-4C所示,则步骤S506会辨识到标签尾端为"AO",符合图4A开机程序码Boot1所注标签"Model123_AO",则流程进行步骤S518。微处理器112自快闪存储器102将组成开机程序码BootISP的三段落Boot1、Boot2以及Boot3载至挥发式存储器116的常态给电区122。步骤S510侦错通过后,步骤S512是执行常态给电区122上的开机程序码BootISP,继而进行步骤S514以及S516。
图6为流程图,图解该数据储存装置100休眠唤醒的开机动作。步骤S602,微处理器112对挥发式存储器116的常态给电区122上的数据进行标签检查。"DS"结尾的标签代表常态给电区122上是开机程序码载出脚本BootDS。步骤S604执行开机程序码载出脚本BootDS,依照休眠唤醒码InitFormDeviceSleepFlow依序上电数据储存装置100上的元件,且执行栏位NandCmdScript所载的脚本。步骤S606根据该脚本将组成开机程序码BootISP的三段落Boot1、Boot2以及Boot3自快闪存储器102载至挥发式存储器116的非常态给电区124。步骤S608执行非常态给电区124上由三段落Boot1、Boot2以及Boot3组成的开机程序码BootISP,继而以步骤S610将***内程序码ISP自快闪存储器102载出至非常态给电区124,并以步骤S612执行。
若步骤S602是在常态给电区122找到"AO"结尾的标签,代表常态给电区122上是三段落Boot1、Boot2以及Boot3组成的开机程序码BootISP。步骤S614令微处理器112执行常态给电区122上的该开机程序码BootISP,继而以步骤S610将***内程序码ISP自快闪存储器102载出至非常态给电区124,并以步骤S612执行。
图5、6流程使新旧产品相容。
综上所述,凡是将开机程序码BootISP载于非常态给电区124且是在常态给电区122载有开机程序码载出脚本BootDS的技术,都属于本发明所欲保护的范围。基于以上技术内容,本发明更涉及非挥发式存储器操作方法。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (6)
1.一种数据储存装置,包括:
一非挥发式存储器;以及
一控制器,包括一微处理器以及一挥发式存储器,用以操作该非挥发式存储器;
其中:
该微处理器是在该数据储存装置自关机状态上电时,搜寻该非挥发式存储器,并将搜寻到的一开机程序码载出脚本载出至该挥发式存储器的一常态给电区;
该微处理器在该数据储存装置自关机状态上电而搜寻该非挥发式存储器时,更寻得一开机程序,将该开机程序于该非挥发式存储器上的位置填入该常态给电区上的该开机程序码载出脚本;
在该数据储存装置自休眠状态唤醒时,根据该挥发式存储器的该常态给电区所载有的该开机程序码载出脚本,且基于该开机程序码载出脚本所填有之该开机程序于该非挥发式存储器上的位置,该微处理器自该非挥发式存储器将该开机程序载出至该挥发式存储器的一非常态给电区,以执行该开机程序,继而自该非挥发式存储器将一***内程序载出至该非常态给电区,以执行该***内程序。
2.如权利要求1所述的数据储存装置,其特征在于:
在该数据储存装置自关机状态上电时,该微处理器搜寻该非挥发式存储器寻得的该开机程序更被该微处理器载出至该非常态给电区,以执行该开机程序,继而自该非挥发式存储器将该***内程序载出至该非常态给电区执行,并在执行该***内程序时对该常态给电区上的该开机程序码载出脚本做进一步编写。
3.如权利要求2所述的数据储存装置,其特征在于:
该常态给电区还载有使用者安全信息,加速该数据储存装置自休眠状态唤醒。
4.一种非挥发式存储器操作方法,包括:
提供一挥发式存储器,其中该挥发式存储器包括一常态给电区以及一非常态给电区;
在一非挥发式存储器所属的一数据储存装置自关机状态上电时,搜寻该非挥发式存储器,并将搜寻到的一开机程序码载出脚本载出至该挥发式存储器的该常态给电区;
在该数据储存装置自关机状态上电而搜寻该非挥发式存储器时,更寻得一开机程序,将该开机程序于该非挥发式存储器上的位置填入该常态给电区上的该开机程序码载出脚本;
在该数据储存装置自休眠状态唤醒时,根据该常态给电区所载有的该开机程序码载出脚本,且基于该开机程序码载出脚本所填有之该开机程序于该非挥发式存储器上的位置,自该非挥发式存储器将一开机程序载出至该非常态给电区,以执行该开机程序,继而自该非挥发式存储器将一***内程序载出至该非常态给电区,以执行该***内程序。
5.如权利要求4所述的非挥发式存储器操作方法,其特征在于,还包括:
在该数据储存装置自关机状态上电时,将搜寻该非挥发式存储器寻得的该开机程序载出至该非常态给电区,以执行该开机程序,继而自该非挥发式存储器将该***内程序载出至该非常态给电区执行,并在执行该***内程序时对该常态给电区上的该开机程序码载出脚本做进一步编写。
6.如权利要求5所述的非挥发式存储器操作方法,其特征在于:
该常态给电区还载有使用者安全信息,加速该数据储存装置自休眠状态唤醒。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106135474A TWI645296B (zh) | 2017-10-17 | 2017-10-17 | 資料儲存裝置以及非揮發式記憶體操作方法 |
TW106135474 | 2017-10-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669627A CN109669627A (zh) | 2019-04-23 |
CN109669627B true CN109669627B (zh) | 2022-05-03 |
Family
ID=65432187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810007289.8A Active CN109669627B (zh) | 2017-10-17 | 2018-01-04 | 数据储存装置以及非挥发式存储器操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10684864B2 (zh) |
CN (1) | CN109669627B (zh) |
TW (1) | TWI645296B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI738235B (zh) * | 2020-03-03 | 2021-09-01 | 慧榮科技股份有限公司 | 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置 |
TWI738359B (zh) * | 2020-05-26 | 2021-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US11763040B2 (en) * | 2021-04-07 | 2023-09-19 | Western Digital Technologies, Inc. | Enhanced D3-cold and faster recovery |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929565A (zh) * | 2012-10-24 | 2013-02-13 | 北京华大信安科技有限公司 | 基于SoC的引导装载程序读取、装置及芯片 |
CN106775609A (zh) * | 2015-11-19 | 2017-05-31 | 飞思卡尔半导体公司 | 用于减少休眠及恢复时间的***及方法 |
CN107003863A (zh) * | 2015-01-29 | 2017-08-01 | 惠普发展公司,有限责任合伙企业 | 引导片上***器件 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6004134A (en) * | 1994-05-19 | 1999-12-21 | Exos, Inc. | Interactive simulation including force feedback |
US6641480B2 (en) * | 2001-01-29 | 2003-11-04 | Microsoft Corporation | Force feedback mechanism for gamepad device |
CN1285990C (zh) * | 2003-03-12 | 2006-11-22 | 联想(北京)有限公司 | 保存并快速恢复计算机***工作状态的方法 |
US7257703B2 (en) * | 2003-11-18 | 2007-08-14 | Toshiba America Electronic Components, Inc. | Bootable NAND flash memory architecture |
US7523212B2 (en) * | 2004-03-01 | 2009-04-21 | Microsoft Corporation | System and method for configuring a computer according to a detected network |
US7296143B2 (en) * | 2004-06-22 | 2007-11-13 | Lenovo (Singapore) Pte. Ltd. | Method and system for loading processor boot code from serial flash memory |
US7657696B2 (en) * | 2005-02-25 | 2010-02-02 | Lsi Corporation | Method to detect NAND-flash parameters by hardware automatically |
US7496719B2 (en) * | 2005-07-26 | 2009-02-24 | Intel Corporation | Universal nonvolatile memory boot mode |
US7849302B2 (en) * | 2006-04-10 | 2010-12-07 | Apple Inc. | Direct boot arrangement using a NAND flash memory |
JP5220747B2 (ja) * | 2007-07-31 | 2013-06-26 | パナソニック株式会社 | 不揮発性記憶装置および不揮発性記憶システム |
TW200943184A (en) * | 2008-04-03 | 2009-10-16 | Jmicron Technology Corp | Host peripheral system and method for loading an external program code to a host for setting up a transmission mechanism when booting |
CN102099787B (zh) * | 2008-07-17 | 2014-03-26 | Lsi公司 | 用于在虚拟化的服务器平台上安装可引导的虚拟存储设备的***和方法 |
US8386738B1 (en) * | 2008-11-06 | 2013-02-26 | Marvell International Ltd. | Off-chip non-volatile memory access |
US20100211616A1 (en) * | 2009-02-16 | 2010-08-19 | Rajesh Khandelwal | Performance by Avoiding Disk I/O for Deduplicated File Blocks |
US9058491B1 (en) * | 2009-03-26 | 2015-06-16 | Micron Technology, Inc. | Enabling a secure boot from non-volatile memory |
US8589667B2 (en) * | 2010-04-19 | 2013-11-19 | Apple Inc. | Booting and configuring a subsystem securely from non-local storage |
US8996851B2 (en) * | 2010-08-10 | 2015-03-31 | Sandisk Il Ltd. | Host device and method for securely booting the host device with operating system code loaded from a storage device |
US8447983B1 (en) * | 2011-02-01 | 2013-05-21 | Target Brands, Inc. | Token exchange |
US9323317B2 (en) * | 2012-12-12 | 2016-04-26 | International Business Machines Corporation | System and methods for DIMM-targeted power saving for hypervisor systems |
TW201437805A (zh) * | 2013-03-29 | 2014-10-01 | Wistron Corp | 電子裝置及其電源管理方法 |
US10579391B2 (en) * | 2013-07-31 | 2020-03-03 | Oracle International Corporation | System on a chip hardware block for translating commands from processor to read boot code from off-chip non-volatile memory device |
US20160232088A1 (en) * | 2014-07-17 | 2016-08-11 | Sandisk Enterprise Ip Llc | Garbage Collection in Storage System with Distributed Processors |
KR102290974B1 (ko) * | 2014-11-07 | 2021-08-19 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법 |
TWI541809B (zh) * | 2015-04-24 | 2016-07-11 | 群聯電子股份有限公司 | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 |
US10152599B2 (en) * | 2015-12-18 | 2018-12-11 | Intel IP Corporation | Security mechanisms for extreme deep sleep state |
TWI579767B (zh) * | 2015-12-31 | 2017-04-21 | Insyde Software Corp | Quick boot computer system and method, the computer can read the recording media and computer program products |
US10019158B2 (en) * | 2016-03-15 | 2018-07-10 | Toshiba Memory Corporation | Determination of a read voltage to be applied to a page based on read voltages of other pages |
TWI623878B (zh) * | 2017-07-07 | 2018-05-11 | 大心電子(英屬維京群島)股份有限公司 | 資料讀取方法以及儲存控制器 |
TWI638263B (zh) * | 2017-07-26 | 2018-10-11 | 大陸商深圳大心電子科技有限公司 | 資料備份方法、資料恢復方法以及儲存控制器 |
-
2017
- 2017-10-17 TW TW106135474A patent/TWI645296B/zh active
-
2018
- 2018-01-04 CN CN201810007289.8A patent/CN109669627B/zh active Active
- 2018-06-22 US US16/016,168 patent/US10684864B2/en active Active
-
2020
- 2020-05-08 US US16/869,956 patent/US11086636B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929565A (zh) * | 2012-10-24 | 2013-02-13 | 北京华大信安科技有限公司 | 基于SoC的引导装载程序读取、装置及芯片 |
CN107003863A (zh) * | 2015-01-29 | 2017-08-01 | 惠普发展公司,有限责任合伙企业 | 引导片上***器件 |
EP3198417A1 (en) * | 2015-01-29 | 2017-08-02 | Hewlett-Packard Development Company, L.P. | Booting a system-on-a-chip device |
CN106775609A (zh) * | 2015-11-19 | 2017-05-31 | 飞思卡尔半导体公司 | 用于减少休眠及恢复时间的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109669627A (zh) | 2019-04-23 |
TWI645296B (zh) | 2018-12-21 |
US10684864B2 (en) | 2020-06-16 |
US20200264894A1 (en) | 2020-08-20 |
TW201917589A (zh) | 2019-05-01 |
US20190114177A1 (en) | 2019-04-18 |
US11086636B2 (en) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101395778B1 (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
JP2023055992A (ja) | メモリ機器のための拡張利用範囲 | |
KR101456593B1 (ko) | 플래시 메모리 장치를 포함하는 메모리 시스템 | |
US9501130B2 (en) | Data storage device and data processing system including the same | |
US9715445B2 (en) | File differentiation based on data block identification | |
US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
US11086636B2 (en) | Data storage device and method for operating non-volatile memory | |
CN105389122B (zh) | 数据储存器件的操作方法 | |
US20160062690A1 (en) | Data storage device, data processing system including the same, and operating method thereof | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
CN111399752A (zh) | 不同类型存储单元的控制装置及方法 | |
US10339045B2 (en) | Valid data management method and storage controller | |
US20170123881A1 (en) | Test method of volatile memory device embedded in electronic device | |
CN112306783A (zh) | 存储器控制器及其操作方法 | |
US11347433B2 (en) | Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device | |
CN110727470A (zh) | 一种混合式非失性存储装置 | |
US11055020B2 (en) | Data storage device sharing operations with another data storage device and method of operating the same | |
US8745363B2 (en) | Bootable volatile memory device, memory module and processing system comprising bootable volatile memory device, and method of booting processing system using bootable volatile memory device | |
CN113093987A (zh) | 控制存储器装置的控制器及其操作方法 | |
CN104657083A (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
CN103218308A (zh) | 缓冲存储器管理方法、存储器控制器与存储器储存装置 | |
CN111124035B (zh) | 基于实时时钟管理空闲页面的存储器***及其操作方法 | |
CN102591738A (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 | |
CN111309518A (zh) | 存储器***和存储器***的操作方法 | |
CN102609291A (zh) | 基于固态硬盘的***启动方法和固态硬盘 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |