CN110609596B - 数据储存装置的开发系统以及产品化方法 - Google Patents
数据储存装置的开发系统以及产品化方法 Download PDFInfo
- Publication number
- CN110609596B CN110609596B CN201811020294.9A CN201811020294A CN110609596B CN 110609596 B CN110609596 B CN 110609596B CN 201811020294 A CN201811020294 A CN 201811020294A CN 110609596 B CN110609596 B CN 110609596B
- Authority
- CN
- China
- Prior art keywords
- power
- data storage
- storage device
- power supply
- protection program
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- 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]
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J9/00—Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting
- H02J9/04—Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source
- H02J9/06—Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source with automatic change-over, e.g. UPS systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/263—Arrangements for using multiple switchable power supplies, e.g. battery and AC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J9/00—Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting
- H02J9/04—Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source
- H02J9/06—Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source with automatic change-over, e.g. UPS systems
- H02J9/061—Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source with automatic change-over, e.g. UPS systems for DC powered loads
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Emergency Management (AREA)
- Power Engineering (AREA)
- Business, Economics & Management (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
Abstract
本发明涉及数据储存装置的备用电力设计技术,具体地说,涉及数据储存装置的开发系统以及产品化方法。本发明的一种数据储存装置开发系统包括一供电模拟工具以及一主机。该主机操作该供电模拟工具以及一数据储存装置。该数据储存装置具有一非挥发式存储器、一控制器以及一缓存存储器。该主机操作该供电模拟工具供电该数据储存装置,并令该供电模拟工具于一第一时间点提示该控制器进行一掉电保护程序。根据该掉电保护程序的耗时,该主机最佳化一电容值,用以实施一备用电源,安装至该数据储存装置产品化的一数据储存装置。
Description
技术领域
本发明有关于数据储存装置的产品开发。
背景技术
非挥发式存储器有多种形式─例如,快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式随机存取存储器(Resistive RAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,用于长时间数据保存,可实现为数据储存装置。
然而,非挥发式存储器通常有其特别的储存特性,使其操作需要相当运算资源。顺应非挥发式存储器的储存特性,数据储存装置除了以非挥发式存储器实现长时间数据保存,更配置有一缓存存储器(例如,以DRAM、SRAM…等实现),负责应付主机频繁的读写要求。如此一来,非挥发式存储器可避免被过度读写,系统效能将大大提升。需注意的是,缓存存储器通常需要电力才能维护其上快取数据(挥发式)。因此,数据储存装置通常更配置一备用电源,应付非预期掉电(sudden power off,简称SPO)事件。非预期掉电事件发生时,备用电源作用,提供备用电力,使缓存存储器上的快取数据得以搬移到非挥发式存储器(flushing,用作快取数据即时保存),免于遗失。备用电源用来实现掉电保护(power-lossprotection)程序。如何以低成本方式实现备用电源,为本技术领域重要课题。
发明内容
本发明揭示一种数据储存装置开发技术,其中特别进行一掉电保护(power-lossprotection,简称PLP)模拟,精准评估出一数据储存装置应当搭配的备用电源(如,估算出供应备用电力的一电容的尺寸)。所述PLP模拟相关一掉电保护(PLP)程序,即产品固件为应付非预期掉电(SPO)事件所进行的程序(包括flushing─快取数据即时保存)。一种实施方式更将掉电保护模拟用于评估固件提供的掉电保护程序是否适当,使之最佳化。
根据本发明一种实施方式实现的一种数据储存装置开发系统,包括:一供电模拟工具以及一主机。该主机操作该供电模拟工具以及一数据储存装置。该数据储存装置具有一非挥发式存储器、一控制器以及一缓存存储器。该主机操作该供电模拟工具供电该数据储存装置,并令该供电模拟工具于一第一时间点提示该控制器进行一掉电保护程序。根据该掉电保护程序的耗时,该主机最佳化一电容值,用以实施一备用电源,安装至该数据储存装置产品化的一数据储存装置。
根据该掉电保护程序,该控制器可进行该缓存存储器至该非挥发式存储器的快取数据搬移。
一种实施方式中,该供电模拟工具包括一处理器、一电源、以及一脚位。该主机透过该处理器操作该电源供电该数据储存装置。该主机透过该处理器变化该脚位上的信号。该脚位连结该数据储存装置,以于该第一时间点提示该控制器进行该掉电保护程序。
一种实施方式中,随着变化该脚位上的信号,该主机令该处理器操作该电源自供电一操作电压切换为供电一备用电源电压。该备用电源电压模拟一电容之放电。
在该第一时间点之前,该主机可操作该控制器产生快取数据搬移需求。在该第一时间点之后,该主机更在一第二时间点透过该处理器令该电源停止供电该数据储存装置。在该第二时间点之后,该主机更在一第三时间点透过该处理器令该电源再次起电该数据储存装置,使该主机得以透过该控制器验证该掉电保护程序,以确立该掉电保护程序的耗时。该掉电保护程序失败时,该主机可延后该第二时间点,再次评估该掉电保护程序的耗时。另一种实施方式中,该掉电保护程序失败时,该主机修正该掉电保护程序后再次评估该掉电保护程序的耗时。
一种实施方式中,该主机操作该处理器估算该电源对该数据储存装置供电的一主动电流值,以与该掉电保护程序的耗时结合,用于最佳化该电容值。
以上技术更可用于实现一种数据储存装置产品化方法。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1示出了根据本发明一种实施方式掉电保护程序的测试装置,主要包括主机108以及供电模拟工具110,并耦接至数据储存装置100;
图2示出了根据本发明一种实施方式测试掉电保护程序方法200的运作流程;且
图3以时间轴方式,说明该掉电保护模拟器116如何驱动该供电模拟工具110。
符号说明
100~数据储存装置;
102~快闪存储器;
104~控制器;
106~缓存存储器;
108~主机;
110~供电模拟工具;
112~处理器;
114~电源;
116~掉电保护模拟器;
200~掉电保护模拟器116之运作流程;
GPIO~通用输入输出脚位;
S202…S218~步骤;
t0、t1、t2~时间点。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请权利要求书界定。
非挥发式存储器可以是快闪存储器(Flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,提供长时间数据保存的储存媒体。以下特别以快闪存储器(Flash memory)为例进行讨论。
现今数据储存装置常以快闪存储器为储存媒体,用来实现记忆卡(Memory Card)、通用串行总线闪存装置(USB Flash Device)、固态硬碟(SSD)…等产品。有一种应用是采多芯片封装(Multi-chip Packaging)、将快闪存储器与其控制器包装在一起,又称eMMC。
以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置上。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备、行车电脑…等。电子装置的运算模块可视为一主机(Host),操作电子装置所使用的数据储存装置,透过数据储存装置中的控制器存取数据储存装置中的快闪存储器。
快闪存储器实现的数据储存装置也可用于建构数据中心(Data Center)。例如,伺服器可操作固态硬碟(SSD)阵列形成数据中心。伺服器即可视为一主机(Host),操作所连结的固态硬碟,以存取其中快闪存储器。
以下叙述快闪存储器有其特殊的储存特性。
主机(Host)端是以逻辑地址(例如,逻辑区块地址LBA或全域主机页编号GHP…等)区别数据。快闪存储器的物理空间则是划分为多个区块(Blocks)配置使用。各区块(Block)包括多个页面(Pages),其中,页面为数据编程的最小单位。页面包括N个区段(Sectors),N为大于一的整数,如:4,其中,区段为数据管理的最小单位。16KB空间的页面可分为四个区段,各区段为4KB。一种实施方式中,一区块是根据页面编号,由低至高编号配置来储存数据。随着数据储存,各页面(甚至各写入单位)对应的逻辑地址须以映射表进行管理。快闪存储器的诸多操作都是基于此映射表。快闪存储器的存取将耗费相当系统资源在映射表查询以及管理。特别是,快闪存储器的储存空间需以区块作为数据抹除(Erase)的最小单位。使用过后的区块经数据抹除后方能再次使用。数据更新并非同空间复写。新版的数据被写入闲置空间后,旧空间内容将被标为无效。一区块可能仅零星留存有效数据,故垃圾回收(Garbage Collection)需求相应产生。一区块中留存的零星有效数据是经垃圾回收技术搬移到闲置空间,使得徒留无效数据的区块得以被抹除再利用。快闪存储器的频繁数据更新可能导致系统资源耗费在垃圾回收程序上。整理之,快闪存储器特殊储存特性将使其操作需要相当运算资源。
顺应快闪存储器的储存特性,以快闪存储器实现非挥发式数据储存的数据储存装置通常更提供一缓存存储器,缓存存储器可缓存使用者数据或映射表,应付主机频繁的读写要求。例如,频繁更新的使用者数据缓存至缓存存储器,之后,于预设间断后再写入快闪存储器。例如,将全部或部份映射表缓存至缓存存储器,以加速来自主机的读取指令的处理。如此一来,缓存存储器可避免快闪存储器被过度读写,且明显提升数据储存装置的系统效能。
缓存存储器可以DRAM或SRAM提供,通常需要电力维护其运作,以缓存的使用者数据或映射表。因此,数据储存装置通常更配置一备用电源,应付非预期掉电(Sudden PowerOff,简称SPO)事件。非预期掉电事件发生时,备用电源可提供备用电力至数据储存装置上的电子元件,使缓存存储器上的数据得以快速搬移(Flushing)到快闪存储器,免于造成数据的遗失。
备用电源通常以电容实现,而配置的电容大小较佳与完成掉电保护(Power-LossProtection,简称PLP)程序所需的掉电保护时间成正比,当然,亦与数据储存装置上的电子元件的消耗功率成正比。因此,如何取得适当的掉电保护时间的值决定了备用电源的设计。然而,目前并无任何便利的方法可以取得适当的掉电保护时间的值。
本发明揭示一种掉电保护程序的测试装置以及测试掉电保护程序的方法,可用以取得掉电保护时间的值。当取得掉电保护时间的值之后,数据储存装置的设计者即可在数据储存装置配置一备用电源,使掉电保护机制可以正常地运作,以保障缓存存储器中缓存的使用者数据或映射表。
另外,本发明掉电保护程序的模拟装置以及模拟掉电保护程序的方法中,掉电保护程序较佳由一非预期掉电指令或信号而启动,掉电保护程序除了执行快速搬移(Flushing)程序之外,亦会记录非预期掉电事件。当数据储存装置因为复电而重新启动后,检测到非预期掉电事件的记录时,可启动非预期掉电回复(Sudden Power Off Recovery,SPOR)程序以继续非预期掉电前的程序,或重建因为非预期掉电所遗失的映射表。
图1示出了根据本发明一种实施方式掉电保护程序的测试装置,主要包括主机108以及供电模拟工具110,并耦接至数据储存装置100。数据储存装置100包括快闪存储器102、控制器104以及缓存存储器106,其中,数据储存装置100尚未配置备用电源。
如图所示,主机108耦接至数据储存装置100,如此一来,主机108运行掉电保护模拟器(PLP Emulator)116以测试数据储存装置100,例如:掉电保护模拟器116藉由主机108输出数据读取指令或数据写入指令至数据储存装置100,其中,掉电保护模拟器116可以程式化方式由该主机108运算实现。主机108耦接至供电模拟工具110,如此一来,掉电保护模拟器116藉由主机108而控制供电模拟工具110的运作。
供电模拟工具110具有处理器112以及电源114。掉电保护模拟器116输出电力供应指令至处理器112,再由处理器112控制电源114的运作,其中,电力供应指令包括:供应操作电力、停止供应操作电力、供应备用电力、停止供应备用电力等。电源114可提供操作电力或备用电力至数据储存装置100,其中,操作电力可等同或不等同备用电力,当两者不等同时,操作电力较佳提供稳定的电压而备用电力与电容放电的行为相似,以模拟电容放电的行为。供电模拟工具110较佳更具有通用输入输出(General Purpose Input/Output,GPIO)介面/脚位或其他的通信介面,GPIO介面可耦接至数据储存装置100,因此,处理器112可依据电力供应指令而输出非预期掉电指令或信号至数据储存装置100,使数据储存装置100启动掉电保护程序。在另一实施例中,由主机108,而非供电模拟工具110,以GPIO介面耦接至数据储存装置100,由主机108,而非供电模拟工具110,输出非预期掉电指令或信号至数据储存装置100。
掉电保护模拟器116先以一般模式操作数据储存装置100,并以电力供应指令要求供电模拟工具110供应操作电力至数据储存装置100。此时,掉电保护模拟器116可测试数据储存装置100是否能正常运作,即是否能正常地处理来自主机108(掉电保护模拟器116)的指令或是自身启动的程序,例如:垃圾回收程序。
接着,掉电保护模拟器116开始计时并输出电力供应指令并要求供电模拟工具110停止供应操作电力转而开始供应备用电力至数据储存装置100。处理器112依据电力供应指令要求而令电源114供应备用电力至数据储存装置100,并且藉由GPIO介面而输出非预期掉电指令或信号至数据储存装置100。当收到非预期掉电指令或信号后,数据储存装置100致能/启动掉电保护程序,并记录非预期掉电事件。
之后,掉电保护模拟器116命令供电模拟工具110停止供应备用电力至数据储存装置100,并停止计时以取得一放电时间。如此一来,掉电保护程序即完成测试,且取得模拟电容放电所需的时间,而放电时间不少于执行掉电保护程序所需的时间。
最后,掉电保护模拟器116输出电力供应指令并要求供电模拟工具110重新供应操作电力至数据储存装置100。处理器112依据电力供应指令要求而令电源114供应操作电力至数据储存装置100,并且藉由GPIO介面而输出重新开机指令或信号至数据储存装置100。当接收重新开机指令并重新启动后,数据储存装置100检测到非预期掉电事件的记录而启动非预期掉电回复程序。当非预期掉电回复程序执行完成之后,数据储存装置100进入正常模式,此时,主机108可存取数据储存装置100并判断数据储存装置100是否正常运作且数据是否完整且未遗失。
在另一实施例中,处理器112依据电力供应指令要求而令电源114供应操作电力,等待一充电时间后,再藉由GPIO介面而输出重新开机指令或信号至数据储存装置100,其中,充电时间为模拟电容充电所需的时间。在此实施例中,充电时间为预设值或由电力供应指令所决定。
在另一实施例中,掉电保护模拟器116输出电力供应指令并要求供电模拟工具110重新供应操作电力至数据储存装置100,等待一充电时间后,掉电保护模拟器116输出电力供应指令并要求处理器112输出重新开机指令或信号至数据储存装置100。在此实施例中,充电时间由掉电保护模拟器116所决定。
图2示出了根据本发明一种实施方式测试掉电保护程序方法200的运作流程。步骤S202:主机108的掉电保护模拟器116记录非预期掉电时间点t1以及备用电源供电时限t2,其中,非预期掉电时间点t1以及一备用电源供电时限t2可为固定值,亦可由主机108提供使用者介面以供开发者来设定,并储存至主机108的掉电保护模拟器116。另外,非预期掉电时间点t1以及备用电源供电时限t2的差值即为模拟电容放电的放电时间。
步骤S204:主机108的掉电保护模拟器116输出电力供应指令至供电模拟工具110以供应操作电力至数据储存装置100,并且开始时间的累计。收到输出电力供应指令后,供电模拟工具110开始供应操作电力至数据储存装置100。
步骤S206:主机108的掉电保护模拟器116输出电力供应指令至供电模拟工具110以要求供电模拟工具110藉由GPIO介面输出重新开机指令或信号至数据储存装置100。收到输出电力供应指令后,供电模拟工具110藉由GPIO介面输出重新开机指令或信号至数据储存装置100,使数据储存装置100进行开机。
步骤S204与步骤S206的执行较佳相差为一个充电时间后,例如:0.3秒,用以模拟电容充电的充电时间。如果不模拟电容充电时,步骤S204与步骤S206为近似同步执行,且无先后顺序。在另一实施例中,步骤S206可以省略,即在步骤S204,当收到来自于掉电保护模拟器116的电力供应指令后,供电模拟工具110藉由GPIO介面一并输出重新开机指令或信号至数据储存装置100(同时或等待充电时间后)。
步骤S208:主机108的掉电保护模拟器116存取数据储存装置100。当数据储存装置100完成开机程序后,数据储存装置100置于一般模式,掉电保护模拟器116可输出数据存取指令至数据储存装置100,并判断数据存取指令是否正常地执行,数据是否完整无遗失。另外,于重新开机之后,掉电保护模拟器116亦可要求数据储存装置100回传日志档案(LogFile)或除错资讯(SMART)以确认SPOR程序已正常且无误地执行,掉电保护模拟器116亦可要求数据储存装置100回传是否记录有非预期掉电事件。
步骤S210:主机108的掉电保护模拟器116判断累计时间是否为非预期掉电时间点t1。假设非预期掉电时间点t1为60秒,当开始时间的累计之后,掉电保护模拟器116判断累计的时间是否为非预期掉电时间点t1,如果是则进入步骤S212。
步骤S212:主机108的掉电保护模拟器116输出电力供应指令并要求供电模拟工具110供应备用电力至数据储存装置100。掉电保护模拟器116输出电力供应指令至供电模拟工具110,要求供电模拟工具110停止供应操作电力转而供应备用电力至数据储存装置100。
步骤S214:主机108的掉电保护模拟器116输出电力供应指令并要求供电模拟工具110藉由GPIO介面输出非预期掉电指令或信号至数据储存装置100。
步骤S212与步骤S214较佳为近似同步执行,且无先后顺序。在另一实施例中,步骤S212可以省略,即在步骤S214,当收到来自于掉电保护模拟器116的电力供应指令后,供电模拟工具110藉由GPIO介面输出非预期掉电指令或信号至数据储存装置100,继续供应操作电力至数据储存装置100。
当数据储存装置100收到非预期掉电指令或信号之后,马上进入掉电保护模式(启动掉电保护程序)。掉电保护程序除了执行快速搬移(Flushing)程序之外,亦会记录此非预期掉电事件。
步骤S216:主机108的掉电保护模拟器116判断累计时间是否为备用电源供电时限t2。假设备用电源供电时限t2为60.2秒,当开始时间的累计之后,掉电保护模拟器116判断累计时间是否为备用电源供电时限t2,如果是则进入步骤S218。如果掉电保护程序在备用电源供电时限t2到达之前已执行完成,则数据储存装置100可进入待机模式或径行关机。
步骤S218:主机108的掉电保护模拟器116输出电力供应指令并要求供电模拟工具110停止供应备用电力至数据储存装置100。
非预期掉电时间点t1与备用电源供电时限t2两者的差值为0.2秒,用以模拟电容放电的放电时间。如果掉电保护程序可以在0.2秒完成,则可满足掉电保护程序所设定的目标。相反的,如果掉电保护程序无法在0.2秒完成的话,当再度执行步骤S208时,藉由存取数据储存装置100,主机108的掉电保护模拟器116可以判断数据的遗失并通知开发者,则开发者可以改进掉电保护程序,或者调高非预期掉电时间点t1与备用电源供电时限t2两者的差值,例如,由0.2秒调高至0.25秒。因此,开发者可藉由重复执行本发明测试掉电保护程序方法200,以验证掉电保护程序或设定合适的备用电源供电时限t2的值。在一种实施方式中,时间点t2之后更设计一时间点t3。主机108可在该时间点t3透过该处理器112令该电源114再次起电该数据储存装置100,使该主机108得以透过该控制器104验证时间点t2前进行的该掉电保护程序,以确立该掉电保护程序的耗时。
图3以时间轴方式,说明该掉电保护模拟器116如何驱动该供电模拟工具110。步骤S204对应至时间点t0,步骤S210对应至非预期掉电时间点t1,在时间点t0与非预期掉电时间点t1之间,供电模拟工具110提供操作电力至数据储存装置100,掉电保护模拟器116则存取数据储存装置100。非预期掉电时间点t1与备用电源供电时限t2之间,该供电模拟工具110提供备用电力至该数据储存装置100,数据储存装置100执行掉电保护程序,且掉电保护程序较佳在备用电源供电时限t2之前执行完毕。在备用电源供电时限t2时,掉电保护模拟器116令供电模拟工具110停止提供备用电力至数据储存装置100,完成电容放电的模拟。
备用电源供电时限t2值的设定可参考下列步骤。首先,给予备用电源供电时限t2一个预设值,例如:60.2秒。当流程200完成执行一次,则将回圈数加1。接着,掉电保护模拟器116检查回圈数是否等于目标数(例如,5000次)。若尚不等于目标数,则重复执行流程200。如果在步骤S208中检测到异常,则在步骤S202中调整备用电源供电时限t2的值,例如:由0.2秒调高至0.21秒,再重复执行流程200。如果回圈数等于目标数,这表示备用电源供电时限t2值的设定为恰当,掉电保护模拟器116整理出提示报告,其中可详列最佳化的备用电源供电时限t2、或是最佳化的固件版本。
当备用电源供电时限t2的值确定后,减去非预期掉电时间点t1的值,开发者即可依据数据储存装置100运作的主动电流量,反映出最佳化电容值,用来产品化备用电源。所谓主动电流量可以从数据储存装置100各元件规格加总获得。另有一种实施方式在供电模拟工具110设置主动电流量测功能,由主机108操作该处理器112估算该电源114对该数据储存装置100供电的一主动电流值。
前述最佳化的固件版本则是在该数据储存装置100产品化成一数据储存装置时采纳,烧录于其上。
举凡在产品开发中,模拟进行掉电保护程序而评估出最佳备用电力、最佳产品固件的技术,都属于本发明欲保护范围。本发明还以前述技术揭示一种数据储存装置产品化方法,包括前述对该供电模拟工具110以及该数据储存装置100的操作。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (14)
1.一种数据储存装置开发系统,包括:
一供电模拟工具;以及
一主机,操作该供电模拟工具以及一数据储存装置,该数据储存装置具有一非挥发式存储器、一控制器以及一缓存存储器;
其中:
该主机操作该供电模拟工具供电该数据储存装置,并令该供电模拟工具于一第一时间点提示该控制器进行一掉电保护程序;
根据该掉电保护程序的耗时,该主机最佳化一电容值,用以实施一备用电源,安装至该数据储存装置产品化的一数据储存装置
其中,该供电模拟装置包括:一处理器和一电源;
该主机透过该处理器操作该电源供电该数据储存装置;
在该第一时间点之后,该主机还在一第二时间点透过该处理器令该电源停止供电该数据储存装置;
在该第二时间点之后,该主机还在一第三时间点透过该处理器令该电源再次起电该数据储存装置,使该主机得以透过该控制器验证该掉电保护程序,以确立该掉电保护程序的耗时;
该掉电保护程序失败时,该主机延后该第二时间点,再次评估该掉电保护程序的耗时。
2.如权利要求1所述的数据储存装置开发系统,其特征在于:根据该掉电保护程序,该控制器进行该缓存存储器至该非挥发式存储器的快取数据搬移。
3.如权利要求2所述的数据储存装置开发系统,其特征在于:该供电模拟工具还包括一脚位;
该主机透过该处理器变化该脚位上的信号,该脚位连结该数据储存装置,以于该第一时间点提示该控制器进行该掉电保护程序。
4.如权利要求3所述的数据储存装置开发系统,其特征在于:随着变化该脚位上的信号,该主机令该处理器操作该电源自供电一操作电压切换为供电一备用电源电压;且
该备用电源电压模拟一电容的放电。
5.如权利要求3所述的数据储存装置开发系统,其特征在于:在该第一时间点之前,该主机操作该控制器产生快取数据搬移需求。
6.如权利要求1所述的数据储存装置开发系统,其特征在于:该掉电保护程序失败时,该主机修正该掉电保护程序后再次评估该掉电保护程序的耗时。
7.如权利要求3所述的数据储存装置开发系统,其特征在于:该主机操作该处理器估算该电源对该数据储存装置供电的一主动电流值,以与该掉电保护程序的耗时结合,用于最佳化该电容值。
8.一种数据储存装置产品化方法,包括:
提供一供电模拟工具;
操作该供电模拟工具以及一数据储存装置,该数据储存装置具有一非挥发式存储器、一控制器以及一缓存存储器;
操作该供电模拟工具供电该数据储存装置,并令该供电模拟工具于一第一时间点提示该控制器进行一掉电保护程序;
根据该掉电保护程序的耗时,最佳化一电容值,用以实施一备用电源,安装至该数据储存装置产品化的一数据储存装置;
令该供电模拟工具包括一处理器和一电源;
透过该处理器操作该电源供电该数据储存装置;
在该第一时间点之后,更在一第二时间点透过该处理器令该电源停止供电该数据储存装置;
在该第二时间点之后的一第三时间点,透过该处理器令该电源再次起电该数据储存装置,并透过该控制器验证该掉电保护程序,以确立该掉电保护程序的耗时;
在该掉电保护程序失败时,延后该第二时间点,再次评估该掉电保护程序的耗时。
9.如权利要求8所述的数据储存装置产品化方法,其特征在于:
根据该掉电保护程序,该控制器进行该缓存存储器至该非挥发式存储器的快取数据搬移。
10.如权利要求9所述的数据储存装置产品化方法,其特征在于,还包括:
令该供电模拟工具还包括一脚位;且
透过该处理器变化该脚位上的信号,该脚位连结该数据储存装置,以于该第一时间点提示该控制器进行该掉电保护程序。
11.如权利要求10所述的数据储存装置产品化方法,其特征在于,还包括:
随着变化该脚位上的信号,令该处理器操作该电源自供电一操作电压切换为供电一备用电源电压,其中该备用电源电压模拟一电容的放电。
12.如权利要求10所述的数据储存装置产品化方法,其特征在于,还包括:
在该第一时间点之前,操作该控制器产生快取数据搬移需求。
13.如权利要求8所述的数据储存装置产品化方法,其特征在于,还包括:
在该掉电保护程序失败时,修正该掉电保护程序并再次评估该掉电保护程序的耗时。
14.如权利要求13所述的数据储存装置产品化方法,其特征在于,还包括:
操作该处理器估算该电源对该数据储存装置供电的一主动电流值,以与该掉电保护程序的耗时结合,用于最佳化该电容值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107120765 | 2018-06-15 | ||
TW107120765A TWI678622B (zh) | 2018-06-15 | 2018-06-15 | 資料儲存裝置的開發系統以及產品化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110609596A CN110609596A (zh) | 2019-12-24 |
CN110609596B true CN110609596B (zh) | 2022-11-15 |
Family
ID=68840628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811020294.9A Active CN110609596B (zh) | 2018-06-15 | 2018-09-03 | 数据储存装置的开发系统以及产品化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11461516B2 (zh) |
CN (1) | CN110609596B (zh) |
TW (1) | TWI678622B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11262830B2 (en) * | 2019-11-11 | 2022-03-01 | Microsoft Technology Licensing, Llc | Managing ephemeral storage on a computing node |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902637A (zh) * | 2012-11-19 | 2013-01-30 | 北京理工大学 | 一种固态硬盘数据断电保护方法 |
CN104750615A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN105449829A (zh) * | 2015-12-21 | 2016-03-30 | 中国电子科技集团公司第十一研究所 | 一种电源保护电路 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003620B2 (en) * | 2002-11-26 | 2006-02-21 | M-Systems Flash Disk Pioneers Ltd. | Appliance, including a flash memory, that is robust under power failure |
CN100428203C (zh) * | 2006-11-23 | 2008-10-22 | 北京飞天诚信科技有限公司 | 基于非易失性存储的便携式设备的实现掉电保护的方法 |
CN102393658A (zh) * | 2011-07-06 | 2012-03-28 | 东南大学 | 大功率变流器通用控制平台 |
US20160188414A1 (en) | 2014-12-24 | 2016-06-30 | Intel Corporation | Fault tolerant automatic dual in-line memory module refresh |
US20170091042A1 (en) * | 2015-09-25 | 2017-03-30 | Quanta Computer Inc. | System and method for power loss protection of storage device |
US10409349B2 (en) * | 2016-02-19 | 2019-09-10 | Microsoft Technology Licensing, Llc | Remediating power loss at a server |
JP6732684B2 (ja) * | 2017-03-15 | 2020-07-29 | キオクシア株式会社 | 情報処理装置、ストレージデバイスおよび情報処理システム |
US10698817B2 (en) * | 2017-06-12 | 2020-06-30 | Dell Products, L.P. | Method for determining available stored energy capacity at a power supply and system therefor |
-
2018
- 2018-06-15 TW TW107120765A patent/TWI678622B/zh active
- 2018-09-03 CN CN201811020294.9A patent/CN110609596B/zh active Active
-
2019
- 2019-03-12 US US16/299,216 patent/US11461516B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902637A (zh) * | 2012-11-19 | 2013-01-30 | 北京理工大学 | 一种固态硬盘数据断电保护方法 |
CN104750615A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN105449829A (zh) * | 2015-12-21 | 2016-03-30 | 中国电子科技集团公司第十一研究所 | 一种电源保护电路 |
Also Published As
Publication number | Publication date |
---|---|
US11461516B2 (en) | 2022-10-04 |
US20190384872A1 (en) | 2019-12-19 |
CN110609596A (zh) | 2019-12-24 |
TW202001577A (zh) | 2020-01-01 |
TWI678622B (zh) | 2019-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216323B2 (en) | Solid state memory system with low power error correction mechanism and method of operation thereof | |
US8370720B2 (en) | Mass storage device and method for offline background scrubbing of solid-state memory devices | |
US7321951B2 (en) | Method for testing flash memory power loss recovery | |
KR102198609B1 (ko) | 모바일 장치 및 그것의 동작 방법 | |
US11036421B2 (en) | Apparatus and method for retaining firmware in memory system | |
TWI524183B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US10599345B2 (en) | Memory device that writes data into a block based on time passage since erasure of data from the block | |
TWI489466B (zh) | 記憶體抹除方法、記憶體控制器與記憶體儲存裝置 | |
KR20200113992A (ko) | 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치 | |
TWI607309B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
US10395751B2 (en) | Automated testing system and operating method thereof | |
US20230004320A1 (en) | Method of managing debugging log in storage device | |
US11093369B2 (en) | Reconfigurable simulation system and method for testing firmware of storage | |
CN110609596B (zh) | 数据储存装置的开发系统以及产品化方法 | |
CN105683925A (zh) | 数据存储设备启动 | |
CN111124035B (zh) | 基于实时时钟管理空闲页面的存储器系统及其操作方法 | |
CN111309518B (zh) | 存储器系统和存储器系统的操作方法 | |
CN111159123B (zh) | 一种嵌入式可靠参数储存文件系统及方法 | |
US6898680B2 (en) | Minimization of overhead of non-volatile memory operation | |
CN104731704A (zh) | Nand flash管理软件的测试方法 | |
US20230315285A1 (en) | Storage Optimization Of CAT Table During Background Operations | |
US20230259747A1 (en) | Accelerator system for training deep neural network model using nand flash memory and operating method thereof | |
CN104598167A (zh) | 存储器抹除方法、存储器控制器与存储器储存装置 | |
TW202418092A (zh) | 資料儲存裝置與寫入緩存器管理方法 | |
TW202418090A (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 |