CN111208935A - 数据储存装置与数据存取方法 - Google Patents

数据储存装置与数据存取方法 Download PDF

Info

Publication number
CN111208935A
CN111208935A CN201910270810.1A CN201910270810A CN111208935A CN 111208935 A CN111208935 A CN 111208935A CN 201910270810 A CN201910270810 A CN 201910270810A CN 111208935 A CN111208935 A CN 111208935A
Authority
CN
China
Prior art keywords
data
host
system data
controller
write command
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.)
Granted
Application number
CN201910270810.1A
Other languages
English (en)
Other versions
CN111208935B (zh
Inventor
柯冠宇
邱慎廷
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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN111208935A publication Critical patent/CN111208935A/zh
Application granted granted Critical
Publication of CN111208935B publication Critical patent/CN111208935B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种数据储存装置与数据存取方法。该数据储存装置包括随机存取存储器、快闪存储器以及控制器。快闪存储器包括多个区块,并且每一个区块包括多个页面。控制器耦接随机存取存储器以及快闪存储器,控制器自主机接收写入指令,并判断写入指令所要写入的数据是***数据或是普通数据;其中,当写入指令要写入的是***数据时,于***数据已完整储存至数据储存装置后,控制器传送确认讯息至主机。

Description

数据储存装置与数据存取方法
技术领域
本发明有关于一种数据储存装置与数据存取方法,特别有关于一种能够加快电子装置的开机速度的数据储存装置与数据存取方法。
背景技术
快闪存储器为一种普遍的非挥发性数据储存装置,是以电性方式抹除与程序化。以非及闸型的快闪存储器(NAND FLASH)为例,常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)、嵌入式快闪存储器模块(eMMC)、通用快闪存储器(UFS)…等使用。
当使用者在使用电子装置,可能会在写入数据的过程中,发生意外或不正常的断电情况。如此一来,可能会造成电子装置无法在有限时间内载入开机数据以进行初始化运作。
发明内容
为了解决上述问题,本发明提出一种数据储存装置与数据存取方法,能够让主机在有限时间内快速载入开机数据,以加快电子装置的开机速度。
本发明的一实施例提供了一种数据储存装置,包括随机存取存储器、快闪存储器以及控制器。快闪存储器包括多个区块,并且每一个区块包括多个页面。控制器耦接随机存取存储器以及快闪存储器,控制器自主机接收写入指令,并判断该写入指令要写入的数据是一***数据或是一普通数据。其中,当写入指令要写入的是***数据时,于***数据已完整储存至数据储存装置后,控制器传送确认讯息至主机。
本发明的另一实施例提供了一种数据存取方法,适用于具有一快闪存储器以及一控制器的一数据储存装置。数据储存方法包括:自主机接收写入指令;判断写入指令要写入的数据是***数据或是普通数据;以及当写入指令要写入的是***数据时,于***数据已完整储存至数据储存装置时,传送确认讯息至该主机。
藉由本发明的多个实施例所提供的数据储存装置以及电子装置及数据存取方法,能够让主机在每次开机时可以在有限时间内快速读取出所需的***数据(例如开机数据)进行初始化运作,并且可避免***数据因非预期断电而造成版本不一的错误。
附图说明
图1是显示根据本发明一实施例所述的电子装置的示意图;
图2是显示根据本发明一实施例所述的传送开机数据的示意图;
图3是显示根据本发明一实施例所述的记录逻辑分区的表格的示意图;
图4A与4B是显示根据本发明一实施例所述的数据储存方法的流程图;
图5是显示根据本发明一实施例所述的数据读取方法的流程图。
符号说明
10~电子装置
100~数据储存装置
120~控制器
140~快闪存储器
160-16N~区块
160A、160Z…16NA、16NZ~页面
170A~逻辑分区表
180~随机存取存储器
200~主机
300~显示器
400~通信装置
RUPIU~确认讯息
BD1、BD2-BD10~开机数据
P001、P002-P104~逻辑分区
RT1、RT2、RT3、RT4~回复讯息
UPIU~指令封包
S400…S516~步骤
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
图1是显示根据本发明一实施例所述的电子装置10的示意图。电子装置10包括数据储存装置100以及主机200。电子装置10可以为智慧型手机、平板电脑、笔记型电脑、游戏装置、电子书或是PDA等移动电子装置,或是桌上型电脑、伺服器等电子装置,或是任何搭载有触控模块(例如触控积体电路)的电子装置。主机200是耦接数据储存装置200,用以存取数据储存装置200的数据。主机200可包含微处理器(microcontroller,MCU)、单一中央处理单元(central-processing unit,CPU)或者是关连于平行运算环境(parallel processingenvironment)的多平行处理单元,用以执行作业***以及应用程序。
在此实施例中,数据储存装置100可包括控制器120、快闪存储器140以及随机存取存储器(RAM)180。数据储存装置100耦接主机200以依据主机200的指令读取或储存数据。数据储存装置100可为固态硬碟或符合通用快闪存储器储存(Universal Flash Storage,UFS)或嵌入式多媒体记忆卡(Embedded Multi Media Card,EMMC)规格的嵌入式储存装置。如图1所示,控制器120耦接快闪存储器140以及随机存取存储器180。控制器120可包括微处理器以及具有固件码的只读存储器(ROM),微处理器可执行固件码以存取快闪存储器140。随机存取存储器180可为静态随机存取存储器(Static RAM,SRAM)。随机存取存储器180用以暂存主机200所要储存或读取的数据以及控制器120执行存取运作所需的数据。
快闪存储器140可为反集闸快闪存储器(NAND Flash)。快闪存储器140包括多个区块160~16N,其中"N"为正整数。详细而言,区块160~16N中的每一者还包括多个实体页面。例如,区块160包括实体页面160A~160Z,区块16N包括实体页面16NA~16NZ,其中"A"、"Z"为正整数,且"Z"大于"A"。控制器120在对快闪存储器140执行写入(程序化)运作时,是以快闪存储器140的实体页面为单位来执行写入的运作。
快闪存储器140的实体页面160A~16NZ的每一者都具有一个实体地址,而实体页面160A~16NZ的每一者的实体地址都是不同的。然而,主机200是藉由逻辑地址来存取数据储存装置100。举例而言,当主机200写入数据至数据储存装置100时,控制器120可从快闪存储器140的区块160~16N中选取一区块作为即时区块(current block)来写入数据,并于随机存取存储器180维护该即时区块的对照表F2H。其中,对照表F2H用于记录该即时区块的各个页面的实体地址-逻辑地址的对应关系。当控制器120写入数据至该即时区块的最后一个页面时,控制器120可将随机存取存储器180上的对照表F2H储存至快闪存储器140,并且依据对照表F2H来更新快闪存储器140中的对照表H2F。其中,对照表H2F用于记录该快闪存储器140的各个逻辑地址-实体地址的对应关系。当主机200欲读取数据储存装置100的数据时,控制器120是藉由对照表F2H及/或对照表H2F来取得主机200所欲读取的数据的实体地址,并将数据读取至主机200。详言之,当主机200欲读取数据储存装置100的数据时,控制器120是先查询随机存取存储器180上的对照表F2H,以确认主机200欲读取的数据是否位于即时区块。若对照表F2H上并未有主机200欲读取的数据(例如读取指令中所指定的逻辑地址的数据),则控制器120可查询对照表H2F,以取得读取指令中所指定的逻辑地址所对应的实体地址,并将实体地址的数据读取至主机200。
图2是显示根据本发明一实施例所述的传送开机数据的示意图。在此实施例中,主机200传送一写入指令CMD,将多个开机数据(boot data)BD1~BD4写入数据储存装置100。上述开机数据BD1~BD4是一种***档案,用来供主机200于开机时执行初始化运作。其中,写入指令CMD可为UFS规范的指令封包(Command UFS Protocol Information Unit,CMDUPIU)。如图2所示,首先,主机200传送写入指令CMD至数据储存装置100。写入指令CMD可包括所要传送的数据的数据大小、要写入的数据储存装置100的逻辑地址以及逻辑分区(例如逻辑单元编号,Logical Unit Number,LUN)的资讯。当数据储存装置100接收到写入指令CMD之后,数据储存装置100会传送一回复讯息RT1至主机200,以通知主机200开始传送开机数据BD1。
然后,主机200在接收到回复讯息RT1之后,传送开机数据BD1至数据储存装置。当数据储存装置100接收到开机数据BD1之后,数据储存装置100会传送回复讯息RT2至主机200,通知主机200开始传送开机数据BD2。相似地,主机200继续传送开机数据BD2以及BD3至数据储存装置100。数据储存装置100接收开机数据BD2以及BD3,并且分别对应的传送回复讯息RT3以及RT4至主机200。当主机传送最后一笔的开机数据BD4之后,数据储存装置100传送确认讯息RUPIU至主机200,以通知主机200开机数据BD1~BD4已储存至数据储存装置100。其中,回复讯息RT1~RT4可为UFS规范的准备传送封包(Ready To Transfer UFSProtocol Information Unit,RTT UPIU),确认讯息RUPIU可为UFS规范的确认封包(Response UFS Protocol Information Unit,Response UPIU),并且开机数据BD1~BD4可透过UFS规范的数据输出封包(Data Out UPIU)来传送。在其他实施例中,主机200可依据其***需求,传送其他数量与类型的***数据至数据储存装置100,主机200也可利用其他不同的存储器规范来存取数据储存装置100,本发明并不加以限制。
图3是显示根据本发明一实施例所述的记录逻辑分区的表格的示意图。逻辑分区表170A可用于储存各个逻辑分区分别对应于数据分区或***分区的设定资讯,逻辑分区表170A可储存于快闪存储器140之中。在数据储存装置100接收到写入指令CMD后,控制器120可依据写入指令CMD中所指定的逻辑分区查询逻辑分区表170A,以判断该写入指令CMD中所欲写入的数据属于***数据或普通数据。
于一实施例中,主机200可传送一设定指令来设定各个逻辑分区属于***分区或数据分区,并储存于逻辑分区表170A中。控制器120可以一个位元的旗标(flag)来储存逻辑分区的设定资讯,例如但不限于,旗标为"0"表示逻辑分区为数据分区、旗标为"1"则表示逻辑分区为***分区。在图3所示的实施例中,快闪存储器140的储存空间可划分为8个逻辑分区P001~P008,逻辑分区P001设定为***分区(system partition),用以储存***数据(例如开机数据),并且逻辑分区P002~P008设定为数据分区(data partition),用以储存普通数据(例如使用者数据),为求简洁并未将旗标的数值绘示于图中。在此实施例中,主机200分别传送了开机数据BD1~BD4至逻辑分区P001,以及传送了普通数据ND1~ND2至逻辑分区P002。于另一实施例中,快闪存储器140的各个逻辑分区可预设为数据分区,主机200可传送设定指令来将快闪存储器140的多个逻辑分区中之至少一者设定为***分区。
一般而言,区块160~16N可依据其使用状态而区分为即时区块(current block)、数据区块(data block)以及空闲区块(spare block)。当主机200传输写入数据至数据储存装置100时,控制器120会先从空闲区块中选取一个区块作为即时区块,并且将数据写入该即时区块。其中,控制器120可将该笔数据所欲储存的逻辑分区的资讯一并储存在即时区块中,例如储存在即时区块的备用区(spare region)。此外,控制器120可在随机存取存储器180记录关于此即时区块的对照表F2H(第一对照表),其中对照表F2H用于记录即时区块的各个页面的实体地址-逻辑地址的对应关系。当即时区块被写满时,控制器120可将此对照表F2H储存到快闪存储器140,并且依据对照表F2H更新快闪存储器140中的对照表H2F(第二对照表)。此时,写满数据的即时区块逻辑上即转换为数据区块。数据区块可于控制器120进行垃圾回收(garbage collection)运作后,成为空闲区块,以供再次使用。
当数据储存装置100发生非预期断电时,控制器120于下次开机时可执行一复电运作(Sudden power off recovery,SPOR),其中该复电运作包含于随机存取存储器180中重建即时区块的对照表F2H。于一实施例中,当主机200传输***数据(例如开机数据BD1~BD4)至数据储存装置100后,控制器120于***数据写入即时区块后即回复确认讯息RUPIU至主机200。然而,若即时区块尚未写满即发生非预期断电,于下次开机时,控制器120需执行完复电运作才可将开机数据BD1~BD4传送给主机200,以供主机200进行初始化运作。由于复电运作的执行时间将延后主机200开机进行初始化运作的时间,会造成不良的使用者体验。
于另一实施例中,当主机200传输***数据(例如开机数据BD1~BD4)至数据储存装置100后,控制器120系于***数据已完整储存至数据储存装置100后才传送确认讯息RUPIU至主机200。详细而言,当数据储存装置100接收开机数据BD1~BD4时,控制器120将开机数据BD1~BD4写入即时区块,且依据随机存取存储器180中的对照表F2H更新快闪存储器140中的对照表H2F,之后才传送确认讯息RUPIU至主机200。详言之,当控制器120判断该笔写入指令CMD的逻辑分区对应于***分区(例如逻辑分区P001)时,控制器120系于数据写入即时区块且依据随机存取存储器180中的对照表F2H更新快闪存储器140中的对照表H2F后,才会将确认讯息RUPIU传送至主机200。由于对照表H2F已经更新,即使之后发生非预期断电,数据储存装置100在下次开机进行复电运作时,控制器120不需完成复电运作即可直接依据前述更新后的对照表H2F读取开机数据BD1~BD4并将其传送至主机200,因此,主机200不需等待控制器120完成复电运作即可接收到开机数据BD1~BD4进行初始化运作。
在另一实施例中,当控制器120判断写入指令CMD的逻辑分区对应于***分区时,控制器120是于数据写入即时区块,且将随机存取存储器180中的对照表F2H储存至快闪存储器140后,才会将确认讯息RUPIU传送至主机200。由于随机存取存储器180中的对照表F2H已储存至快闪存储器140,即使之后控制器120在将数据写入即时区块时发生非预期断电,主机200在下次开机进行复电运作时,控制器120不需完成复电运作即可直接将前述对照表F2H读取至随机存取存储器180,并依据对照表F2H读取开机数据BD1~BD4并将其传送至主机200,因此,主机200不需等待控制器120于复电运作中重建对照表F2H即可接收到开机数据BD1~BD4进行初始化运作。接着,控制器120可在将开机数据BD1~BD4传送至主机200后再执行重建对照表F2H的运作。于一使用情境中,开机数据BD1~BD4可能位于即时区块上或位于其他的数据区块上,因此,当控制器120将对照表F2H读取至随机存取存储器180,并且经查询对照表F2H上并未有开机数据BD1~BD4时,控制器120可另查询对照表H2F,以取得开机数据BD1~BD4并传送至主机200。
在一实施例中,主机200写入普通数据ND1~ND2的写入流程与图2所示的流程相似,故不再赘述。数据储存装置100在接收一写入指令的全部普通数据时,控制器120不立刻将对照表F2H储存至快闪存储器140中及/或依据对照表F2H更新快闪存储器140中的对照表H2F。控制器120可在即时区块写入一特定数据量或写入数据至即时区块的最后一页面之后,才会将对照表F2H储存至快闪存储器140中及依据对照表F2H更新快闪存储器140中的对照表H2F。简言之,当控制器120判断写入指令CMD所指定的逻辑分区为数据分区时,亦即主机200所欲写入的数据为普通数据,控制器120将数据写入即时区块后即可回复确认讯息RUPIU至主机200。
在一实施例中,若数据储存装置100从主机200接收***数据,控制器120将***数据写入即时区块后,并且于对照表F2H储存至快闪存储器140之后才传送确认讯息RUPIU至主机200。若之后发生非预期断电等意外状况,数据储存装置100在下次开机时会执行复电运作,其中控制器120可读取先前所储存的对照表F2H,以节省重建对照表F2H所需的时间。于重建对照表F2H的过程中,控制器120可检查即时区块上的数据是否为***数据。当即时区块上的一页面的数据为***数据时,控制器120舍弃该数据。于另一实施例中,若数据储存装置100从主机200接收***数据,控制器120将***数据写入即时区块后,并且于更新对照表H2F之后才传送确认讯息RUPIU至主机200。若之后发生非预期断电等意外状况,数据储存装置100在下次开机时会执行复电运作。于重建对照表F2H的过程中,控制器120可检查即时区块上的数据是否为***数据。当即时区块上的一页面的数据为***数据时,控制器120还判断该页面于对照表F2H中的映射关系是否于非预期断电前已更新至对照表H2F。若是,控制器120保留该页面的***数据;若否,控制器120舍弃该页面的***数据。
举例而言,即时区块的各个页面的备用区中储存有该页面的数据所对应的逻辑分区的资讯,因此于重建对照表F2H的过程中,控制器120可藉此来判断即时区块的各个页面所储存的数据属于***数据或是普通数据。当即时区块上的数据为***数据(例如开机数据)时,控制器120可舍弃即时区块上的该数据,例如将该即时区块储存有该数据的页面标记为无效,或者将对照表F2H中该页面的映射关系记载为"0xFFFFFFFF"。
详言之,假设发生不正常的断电等意外状况,当控制器120在下次开机进行复电运作时,为了避免主机200初始化运作的等待时间过久,控制器120可直接依据即时区块的对照表F2H及/或对照表H2F将开机数据传送给主机200(如前述多个实施例所述的方法),然而若即时区块上所储存的另一版本的开机数据仍继续维持有效,会导致开机数据版本冲突的问题。举例而言,若主机200前后分别写入了开机数据BD1~BD4及BD5~BD8至数据储存装置100,其中开机数据BD1~BD4及BD5~BD8为不同版本的开机数据。当开机数据BD1~BD4已完整储存至数据储存装置100(亦即控制器120已回复关于开机数据BD1~BD4的写入指令的确认讯息RUPIU至主机200),而控制器120于写入开机数据BD5~BD8至即时区块中即遭遇非预期断电,之后电子装置10开机时,控制器120可依据即时区块的对照表F2H及/或对照表H2F将先前已完整储存至快闪存储器140的开机数据BD1~BD4传送给主机100执行初始化运作。然而,若控制器120执行复电运作时,将开机数据BD5~BD8保留下来(例如在重建对照表F2H的过程中,在对照表F2H中记载开机数据BD5~BD8的实体地址-逻辑地址的映射关系),则会导致开机数据的版本冲突的问题。
简言之,于复电运作重建对照表F2H的过程中,如果即时区块上的数据为***数据,且该***数据于对照表F2H中的映射关系并未于非预期断电前已更新至对照表H2F或该对照表F2H并未储存至快闪存储器140中,则控制器120舍弃该***数据。顺带一提,如果即时区块上的数据为普通数据(例如普通数据ND1~ND2),控制器120不另判断是否要舍弃该普通数据,普通数据按一般重建对照表F2H的流程处理。
图4A与4B是显示根据本发明一实施例所述的数据储存方法的流程图。此数据储存方法适用于电子装置10,尤其是数据储存装置100的控制器120。在步骤S400,控制器120自主机200接收设定指令,并依据该设定指令将各个逻辑分区分别设定为***分区或数据分区。其中,控制器120可储存一表格(例如前述的逻辑分区表170A)来记录上述各逻辑分区对应于***分区或数据分区。表格的记录方式如前述实施例所述,为求简洁此处不再赘述。于另一实施例中,各个逻辑分区可预设为数据分区,而步骤S400可取代为,控制器120自主机200接收设定指令,并依据设定指令将多个逻辑分区中之至少一者设定为***分区。
在步骤S402中,控制器120接收来自主机200的一写入指令。其中,写入指令可包括所要传送的数据的数据大小、要写入的数据储存装置100的逻辑地址以及逻辑分区的资讯。在步骤S404,控制器120判断该写入指令要写入的数据属于***数据或普通数据。如果是***数据,则执行步骤S406。如果是普通数据,则执行步骤S416。其中,控制器120可依据写入指令中所指定的逻辑分区查询前述逻辑分区表170A来判断该写入指令中指定的逻辑分区是属于***分区或数据分区,进而判断该笔写入指令中所欲写入的数据属于***数据或普通数据。
在步骤S406中,控制器120从主机200接收用以写入至快闪存储器140的***分区的***数据。其中,控制器120将所接收的***数据写入即时区块,并且在随机存取存储器180维护对应该即时区块的对照表F2H。接着,在步骤S408中,控制器120判断是否已接收该写入指令的全部***数据,若是则执行步骤S410;若否,则返回步骤S406。
在步骤S410中,控制器120更新对照表H2F。其中,控制器120可依据对照表F2H来更新对照表H2F。当控制器120更新完对照表H2F后,即表示该笔写入指令中所欲写入的数据(亦即***数据)已完整储存至数据储存装置100。在步骤S412,控制器传送确认讯息RUPIU至主机。然后在步骤S414,结束此数据储存方法。于另一实施例中,步骤S410可取代为,控制器120将随机存取存储器180上的对照表F2H储存至快闪存储器140。
在步骤S416中,控制器120从主机200接收用以写入至快闪存储器140的数据分区的普通数据。其中,控制器120将所接收的普通数据写入即时区块,并且在随机存取存储器180维护对应该即时区块的对照表F2H。接着,步骤S418中,控制器120判断是否已接收该写入指令的全部普通数据,若是,则执行步骤S412;若否,则返回步骤S416。在步骤S412中,控制器120传送确认讯息RUPIU至主机。顺带一提,于此步骤中,控制器120将所接收的数据写入即时区块后即可传送确认讯息RUPIU至主机,而不需等对照表H2F更新好或将随机存取存储器180上的对照表F2H储存至快闪存储器140后,即可传送确认讯息RUPIU。然后执行步骤S414,结束此数据储存方法。
图5是显示根据本发明一实施例所述的数据读取方法的流程图。此数据读取方法适用于电子装置10,尤其是数据储存装置100的控制器120。其中,此数据读取方法可接续于前述数据储存方法之后执行,使得数据读取方法与数据储存方法合并为数据存取方法。在步骤S500,电子装置10遭遇非预期断电后再次开机。在步骤S502,控制器120在执行复电运作时从主机200接收一读取指令。其中,该读取指令用于读取快闪存储器140的一***分区的***数据(例如开机数据BD1~BD4),以供主机200执行初始化运作。
在步骤S504,控制器120依据对照表H2F读取该***数据并传送至主机200。于此实施例中,控制器120先前接收***数据时,是依据即时区块的对照表F2H来更新对照表H2F后才传送确认讯息RUPIU至主机,则控制器120可直接依据对照表H2F来读取该***数据。于另一实施例中,若控制器120先前接收***数据时,是将即时区块的对照表F2H储存至快闪存储器140后才传送确认讯息RUPIU至主机,则步骤S504可取代为,控制器120依据对照表F2H读取该***数据并传送至主机200。其中,若该***数据并未位于即时区块上,控制器120可另依据对照表H2F读取该***数据。
在步骤S506,控制器120重建即时区块的对照表F2H,并依序检查即时区块的一页面的数据是否为***数据。当该页面的数据为***数据时,执行步骤S508;反之,则执行步骤S514。举例而言,控制器120可藉由储存于即时区块的各个页面的备用区中所储存的逻辑分区的资讯来判断即时区块的各个页面所储存的数据属于***数据或是普通数据。例如,当即时区块的一页面的备用区中所储存的逻辑分区是对应于***分区时,控制器120则判定该页面储存***数据。而当即时区块的一面页的备用区中所储存的逻辑分区对应于数据分区时,控制器120则判定该页面储存普通数据。
在步骤S508,控制器120判断该页面于对照表F2H中的映射关系是否于非预期断电前已更新至对照表H2F,若是,则进入步骤S510,控制器120保留该页面的***数据,接着执行步骤S514;若否,则进入步骤S512,控制器120舍弃该页面的***数据,接着执行步骤S514。举例而言,控制器120可依据该页面的备用区所储存的一逻辑地址,查询对照表H2F中该逻辑地址所对应的一实体地址是否为该页面的实体地址,若是,则表示该页面于对照表F2H中的映射关已于非预期断电前已更新至对照表H2F。控制器120可将该页面的逻辑地址-实体地址的映射关系记载于对照表F2H中,以保留该页面的***数据。此外,控制器120可藉由将该页面标记为无效,或者删除该页面于对照表F2H中的映射关系,诸如将对照表F2H中的映射关系更改为"0xFFFFFFFF"来舍弃该页面的***数据。于另一实施例中,若控制器120先前接收***数据时,系将即时区块的对照表F2H储存至快闪存储器140后才传送确认讯息RUPIU至主机,则步骤S508可省略,并直接执行步骤S512。顺带一提,由于在步骤S504时控制器120已经将开机数据传送给主机200,因此控制器120在后续复电运作中重建F2H表时,若判断即时区块上有另一版本的开机数据,则为了避免版本冲突的问题,控制器120可舍弃即时区块上之该另一版本的开机数据。
在步骤S514,控制器120判断即时区块的对照表F2H是否已重建完成。若已完成,则在步骤S516,结束此数据读取方法。反之,则回到步骤S506。
一般而言,若电子装置10发生非预期断电,则下次开机时数据储存装置100往往需要花费许多时间来重建即时区块的照表F2H,待对照表F2H建立完成后,控制器120才能将开机数据传送至主机200,供主机200进行开机的初始化运作。然而,藉由本发明所提供的数据储存装置、电子装置及数据储存方法及/或数据读取方法(数据存取方法),控制器120可藉由写入指令CMD中所指定的逻辑分区来判断该写入指令CMD所要写入的数据为***数据或普通数据。若主机200要写入***数据至数据储存装置100时,控制器120在***数据已完整储存至快闪存储器140之后才传送确认讯息RUPIU给主机200。换言之,控制器120将所接收的***数据写入即时区块之后,会在将即时区块之对照表F2H储存至快闪存储器140或依据即时区块的对照表F2H来更新对照表H2F之后,才传送确认讯息RUPIU给主机200。藉此,即使电子装置10遭遇非预期断电,主机200在开机时可以在有限时间内快速读取出所需的***数据(例如开机数据)进行初始化运作。此外,控制器120更于复电运作的重建对照表F2H的过程中,舍弃即时区块上与主机200初始化运作所使用的***数据不同版本的***数据,以避免***数据因非预期断电而造成版本不一的错误。
本发明的方法,或特定型态或其部份,可以以程序码的型态存在。程序码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
在本说明书以及权利要求书中的序数,例如"第一"、"第二"、"第三"等等,彼此之间并没有顺序上的先后关系,其仅用于标示区分两个具有相同名字的不同元件。本发明说明书中"耦接"一词泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

Claims (20)

1.一种数据储存装置,包括:
一随机存取存储器;
一快闪存储器,包括多个区块,并且每一个区块包括多个页面;以及
一控制器,耦接该随机存取存储器以及该快闪存储器,该控制器自一主机接收一写入指令,并判断该写入指令要写入的数据是一***数据或是一普通数据;
其中,当该写入指令要写入的是该***数据时,于该***数据已完整储存至该数据储存装置后,该控制器传送一确认讯息至该主机。
2.如权利要求1所述的数据储存装置,其特征在于,该快闪存储器包含多个逻辑分区,其中该控制器系自该主机接收一设定指令,并依据该设定指令将该多个逻辑分区分别设定为一***分区或一数据分区。
3.如权利要求2所述的数据储存装置,其特征在于,该控制器是依据该写入指令中指定的该逻辑分区来判断该写入指令要写入的数据为该***数据或该普通数据,当该写入指令中指定的该逻辑分区对应于该***分区时,该写入指令要写入的数据为该***数据,而当该写入指令中指定的该逻辑分区对应于该数据分区时,该写入指令要写入的数据为该普通数据。
4.如权利要求1所述的数据储存装置,其特征在于,该控制器将该写入指令要写入的数据写入该多个区块中之一即时区块,并且在该随机存取存储器维护一第一对照表,其中该第一对照表是用于记录该即时区块的各个页面的一实体地址与一逻辑地址的对应关系。
5.如权利要求4所述的数据储存装置,其特征在于,若该写入指令要写入的数据是该***数据,于该控制器将该***数据写入该即时区块,并依据该随机存取存储器中的该第一对照表更新该快闪存储器中的一第二对照表,并于该第二对照表更新完成后传送该确认讯息至该主机,其中该第二对照表是用于记录该快闪存储器的各个逻辑地址与各个实体地址的对应关系。
6.如权利要求5所述的数据储存装置,其特征在于,当该控制器在执行一复电运作时从该主机接收一读取指令,而该读取指令是用于读取该***数据时,该控制器不等待该复电运作完成,依据该第二对照表读取出该***数据并传送至该主机。
7.如权利要求6所述的数据储存装置,其特征在于,于执行该复电运作中重建该第一对照表时,该控制器检查该即时区块上的一页面的数据是否为该***数据,当该页面的数据为该***数据时,该控制器判断该页面于该第一对照表中的映射关系是否于非预期断电前已更新至该第二对照表,若是,则保留该页面的该***数据,若否,则舍弃该页面的该***数据。
8.如权利要求4所述的数据储存装置,其特征在于,若该写入指令要写入的数据是该***数据,该控制器是将该***数据写入该即时区块,并将该随机存取存储器中的该第一对照表储存至该快闪存储器,以及于第一对照表储存完成后传送该确认讯息至该主机。
9.如权利要求8所述的数据储存装置,其特征在于,当该控制器在执行一复电运作时从该主机接收一读取指令,而该读取指令是用于读取该***数据时,该控制器不等待该复电运作完成,自该快闪存储器读取该第一对照表,并依据该第一对照表读取该***数据并传送至该主机。
10.如权利要求9所述的数据储存装置,其特征在于,于执行该复电运作中重建该第一对照表时,该控制器检查该即时区块上的一页面的数据是否为该***数据,当该页面的数据为该***数据时,该控制器舍弃该页面的该***数据。
11.一种数据存取方法,适用于具有一快闪存储器以及一控制器的一数据储存装置,该方法包括:
自一主机接收一写入指令;
判断该写入指令要写入的数据是一***数据或是一普通数据;以及
当该写入指令要写入的是该***数据时,于该***数据已完整储存至该数据储存装置后,传送一确认讯息至该主机。
12.如权利要求11所述的数据存取方法,其特征在于,该快闪存储器包含多个逻辑分区,该方法还包括:
自该主机接收一设定指令,并依据该设定指令将该多个逻辑分区分别设定为一***分区或一数据分区。
13.如权利要求12所述的数据存取方法,其特征在于,判断该写入指令要写入的数据是该***数据或是该普通数据还包含:
依据该写入指令中指定的该逻辑分区来判断该写入指令要写入的数据为该***数据或该普通数据;
其中,当该写入指令中指定的该逻辑分区对应于该***分区时,该写入指令要写入的数据为该***数据,而当该写入指令中指定的该逻辑分区对应于该数据分区时,该写入指令要写入的数据为该普通数据。
14.如权利要求11所述的数据存取方法,其特征在于,还包括:
将该写入指令要写入的数据写入该多个区块中的一即时区块,并且在该随机存取存储器维护一第一对照表,其中该第一对照表系用于记录该即时区块的各个页面的一实体地址与一逻辑地址的对应关系。
15.如权利要求14所述的数据存取方法,其特征在于,还包括:
若该写入指令要写入的数据是该***数据,于接收该写入指令的全部***数据时,依据该第一对照表更新该快闪存储器中的一第二对照表;以及
于该第二对照表更新完成后,传送该确认讯息至该主机;
其中,该第二对照表系用于记录该快闪存储器的各个逻辑地址与各个实体地址的对应关系。
16.如权利要求15所述的数据存取方法,其特征在于,还包括:
在执行一复电运作时从该主机接收一读取指令,而该读取指令是用于读取该***数据时,不等待该复电运作完成,依据该第二对照表读取出该***数据并传送至该主机。
17.如权利要求16所述的数据存取方法,其特征在于,还包括:
于执行该复电运作中重建该第一对照表时,检查该即时区块上的一页面的数据是否为该***数据;
当该页面的数据为该***数据时,判断该页面于该第一对照表中的映射关系是否于非预期断电前已更新至该第二对照表,若是,则保留该页面的该***数据,若否,则舍弃该页面的该***数据。
18.如权利要求14所述的数据存取方法,其特征在于,还包括:
若该写入指令要写入的数据是该***数据,将该***数据写入该即时区块,并将该随机存取存储器中的该第一对照表储存至该快闪存储器;以及
于第一对照表储存完成后,传送该确认讯息至该主机。
19.如权利要求18所述的数据存取方法,其特征在于,还包括:
在执行一复电运作时从该主机接收一读取指令,而该读取指令是用于读取该***数据时,不等待该复电运作完成,自该快闪存储器读取该第一对照表,并依据该第一对照表读取该***数据并传送至该主机。
20.如权利要求19所述的数据存取方法,其特征在于,还包括:
于执行该复电运作中重建该第一对照表时,检查该即时区块上的一页面的数据是否为该***数据;以及
当该页面的数据为该***数据时,舍弃该页面的该***数据。
CN201910270810.1A 2018-11-22 2019-04-04 数据储存装置与数据存取方法 Active CN111208935B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107141711 2018-11-22
TW107141711A TWI704456B (zh) 2018-11-22 2018-11-22 資料儲存裝置與資料存取方法

Publications (2)

Publication Number Publication Date
CN111208935A true CN111208935A (zh) 2020-05-29
CN111208935B CN111208935B (zh) 2023-05-23

Family

ID=70770296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910270810.1A Active CN111208935B (zh) 2018-11-22 2019-04-04 数据储存装置与数据存取方法

Country Status (3)

Country Link
US (1) US11366596B2 (zh)
CN (1) CN111208935B (zh)
TW (1) TWI704456B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117348821A (zh) * 2023-12-04 2024-01-05 合肥康芯威存储技术有限公司 一种存储器、电子设备及开机数据读取方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11500567B2 (en) * 2019-12-06 2022-11-15 Micron Technology, Inc. Configuring partitions of a memory sub-system for different data
US11436153B2 (en) * 2020-05-26 2022-09-06 Western Digital Technologies, Inc. Moving change log tables to align to zones

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200921388A (en) * 2007-11-14 2009-05-16 Netac Technology Co Ltd Method for managing a storage medium
CN101436159A (zh) * 2007-11-14 2009-05-20 深圳市朗科科技股份有限公司 存储介质管理方法
US20090307413A1 (en) * 2008-06-09 2009-12-10 Phison Electronics Corp. Data writing method for flash memory and storage system and controller using the same
US20120246394A1 (en) * 2011-03-21 2012-09-27 Silicon Motion, Inc. Flash Memory Device and Data Writing Method for a Flash Memory
CN104461397A (zh) * 2014-12-19 2015-03-25 上海新储集成电路有限公司 一种固态硬盘及其读写方法
CN104750615A (zh) * 2013-12-26 2015-07-01 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
US20160124820A1 (en) * 2014-11-03 2016-05-05 Silicon Motion, Inc. Data Storage Device and Flash Memory Control Method
CN106030501A (zh) * 2014-09-30 2016-10-12 株式会社日立制作所 分布式存储***
US20160378337A1 (en) * 2015-06-26 2016-12-29 OCZ Storage Solutions Inc. Solid-state mass storage device and method for persisting volatile data to non-volatile media

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787484A (en) * 1996-08-08 1998-07-28 Micron Technology, Inc. System and method which compares data preread from memory cells to data to be written to the cells
TWI485563B (zh) 2008-09-17 2015-05-21 Silicon Motion Inc 快閃記憶裝置及其運作方法
US9164887B2 (en) 2011-12-05 2015-10-20 Industrial Technology Research Institute Power-failure recovery device and method for flash memory
TWI661352B (zh) * 2016-09-22 2019-06-01 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
KR20190030790A (ko) * 2017-09-14 2019-03-25 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN109582599B (zh) * 2017-09-29 2023-12-22 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法
US10908832B2 (en) * 2017-10-31 2021-02-02 Micron Technology, Inc. Common pool management
KR102468737B1 (ko) * 2017-12-19 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10802734B2 (en) * 2018-09-28 2020-10-13 Western Digital Technologies, Inc. Method for fast boot read

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200921388A (en) * 2007-11-14 2009-05-16 Netac Technology Co Ltd Method for managing a storage medium
CN101436159A (zh) * 2007-11-14 2009-05-20 深圳市朗科科技股份有限公司 存储介质管理方法
US20090307413A1 (en) * 2008-06-09 2009-12-10 Phison Electronics Corp. Data writing method for flash memory and storage system and controller using the same
US20120246394A1 (en) * 2011-03-21 2012-09-27 Silicon Motion, Inc. Flash Memory Device and Data Writing Method for a Flash Memory
CN104750615A (zh) * 2013-12-26 2015-07-01 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
CN106030501A (zh) * 2014-09-30 2016-10-12 株式会社日立制作所 分布式存储***
US20160124820A1 (en) * 2014-11-03 2016-05-05 Silicon Motion, Inc. Data Storage Device and Flash Memory Control Method
CN105740157A (zh) * 2014-11-03 2016-07-06 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
CN104461397A (zh) * 2014-12-19 2015-03-25 上海新储集成电路有限公司 一种固态硬盘及其读写方法
US20160378337A1 (en) * 2015-06-26 2016-12-29 OCZ Storage Solutions Inc. Solid-state mass storage device and method for persisting volatile data to non-volatile media

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117348821A (zh) * 2023-12-04 2024-01-05 合肥康芯威存储技术有限公司 一种存储器、电子设备及开机数据读取方法
CN117348821B (zh) * 2023-12-04 2024-03-22 合肥康芯威存储技术有限公司 一种存储器、电子设备及开机数据读取方法

Also Published As

Publication number Publication date
TWI704456B (zh) 2020-09-11
TW202020670A (zh) 2020-06-01
US11366596B2 (en) 2022-06-21
CN111208935B (zh) 2023-05-23
US20200167078A1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
US8902671B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US9519436B1 (en) Memory erasing method, memory controller, and memory storage apparatus
TWI569139B (zh) 有效資料合併方法、記憶體控制器與記憶體儲存裝置
US8589619B2 (en) Data writing method, memory controller, and memory storage apparatus
US9081662B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
CN111208935B (zh) 数据储存装置与数据存取方法
US10459803B2 (en) Method for management tables recovery
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
CN113900582A (zh) 数据处理方法及对应的数据储存装置
US8966161B2 (en) Memory storage device and restoring method thereof
US9213597B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
US20200151119A1 (en) Method and apparatus for performing access control between host device and memory device
CN113641597A (zh) 管理数据存储的方法及装置以及计算机可读取存储介质
CN115576863A (zh) 一种数据读写方法、存储设备及存储介质
US20120324205A1 (en) Memory management table processing method, memory controller, and memory storage apparatus
CN109002265B (zh) 一种数据处理的方法以及相关装置
CN113835617A (zh) 数据处理方法及对应的数据储存装置
TWI798034B (zh) 記憶體控制器與資料處理方法
CN111198651B (zh) 进行存储空间管理的方法以及数据存储装置及其控制器
CN117311594A (zh) 管理nvm芯片的方法及相关产品
CN117009259A (zh) 一种l2p加速器
CN116955228A (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