CN111221750B - 固态储存装置的数据处理方法 - Google Patents
固态储存装置的数据处理方法 Download PDFInfo
- Publication number
- CN111221750B CN111221750B CN201811426938.4A CN201811426938A CN111221750B CN 111221750 B CN111221750 B CN 111221750B CN 201811426938 A CN201811426938 A CN 201811426938A CN 111221750 B CN111221750 B CN 111221750B
- Authority
- CN
- China
- Prior art keywords
- block
- logic
- entity
- blocks
- backup
- 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
Classifications
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- 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
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种固态储存装置的数据处理方法,包括下列步骤:当接收到一写入指令时,将写入数据写入一第一数目的区块,进行一区块关闭动作以形成该第一数目的使用区块,并更新该逻辑至实体对应表。当接收到一修剪指令时,将一第二数目的使用区块变更为该第二数目的非使用区块,将该第二数目的非使用区块内的一实体至逻辑对应数据储存至该非挥发性记忆体的一修剪区块,并更新该逻辑至实体对应表。以及,于多个时间点分别进行一备份动作,分别将对应该些时间点时的该逻辑至实体对应表的多个备份内容储存至该非挥发性记忆体。
Description
技术领域
本发明是有关于一种固态储存装置的数据处理方法,且特别是有关于一种固态储存装置对应于修剪指令(trim command)的数据处理的方法,以及其对应的逻辑至实体对应表(Logical-to-Physical Table)重建方法。
背景技术
众所周知,固态储存装置(Solid State Drive,简称SSD)使用非挥发性记忆体(non-volatile memory)为主要储存元件。也就是说,当数据写入非挥发性记忆体后,一旦***电源关闭,数据仍保存在固态储存装置中。
请参照图1,其所绘示为现有固态储存装置的示意图。固态储存装置10中包括一控制电路101与一非挥发性记忆体105。其中,非挥发性记忆体105可为一反及闸快闪记忆体(NAND flash memory),且非挥发性记忆体105中包括多个区块Block_0、Block_1等等。再者,该些区块的其中之一被规划为备份区块Block_PBT用来储存部分建立表(PartialBuild Table,简称PBT表)的用途。另外,部分建立表也可称为快速建立表(Quick BuildTable,简称QBT)。
在固态储存装置10外部,控制电路101利用一外部总线20与主机(host)12之间进行指令与数据的传递。其中,外部总线20可为USB总线、SATA总线、PCIe总线、M.2总线或者U.2总线等等。
在固态储存装置10内部,控制电路101连接至非挥发性记忆体105,用以根据主机12所发出的写入指令进一步将主机12的写入数据存入非挥发性记忆体105。或者,根据主机12所发出的读取指令由非挥发性记忆体105中取得读取数据,经由控制电路101传递至主机12。
控制电路101更包括一逻辑至实体对应表(Logical-to-Physical Table,简称L2P表)107,用来管理非挥发性记忆体105内的储存数据。
为了能够即时更新L2P表107,L2P表107一般储存于挥发性记忆体中。例如,L2P表107的内容可储存于控制电路101内的静态随机存取记忆体(SRAM)或动态随机存取记忆体(DRAM)。当然,L2P表107的内容也可储存于控制电路101外的动态随机存取记忆体(DRAM)。
由于L2P表107储存于挥发性记忆体中,当固态储存装置10未接受电源时,L2P表107的内容将被删除。因此,当固态储存装置10断电之前,控制电路101需要将L2P表107的内容储存于非挥发性记忆体105中的一特定位置。因此,于固态储存装置10断电之后,虽然控制电路101中L2P表107的内容消失,但是非挥发性记忆体105中仍旧保存L2P表107的内容。
当固态储存装置10再次开机时,控制电路101需要先将非挥发性记忆体105中特定位置所记录的L2P表107的内容载入控制电路101中。当L2P表107的内容成功载入控制电路101后,固态储存装置10即可以正常运作。
再者,为了防止固态储存装置10于运作的过程发生突然断电的状况导致L2P表107的内容消失,控制电路101会在固态储存装置10运作的过程中进行备份动作(backupaction),用以将L2P表107的内容储存于非挥发性记忆体105的备份区块Block_PBT表中。
再者,主机12可利用修剪指令(Trim command)来删除区块中的储存数据。一般来说,由于区块中储存数据的抹除需要花费较长的时间,因此当控制电路101接收到修剪指令时,并不会立刻对区块进行抹除动作(erase action),即控制电路101不会立刻将区块中的数据抹除,而仅是在L2P表107中进行注销动作。后续,在适当的时机时,例如在待机时,控制电路101才会对区块进行抹除动作,使得区块中的储存数据完全被删除。
因此,于固态储存装置10的运作过程中,若控制电路101在进行L2P表107的备份动作之后至发生突然断电的期间,主机12曾发出修剪指令(Trim command),则被注销的位址会因断电而消失,使控制电路101将无法正确地重建L2P表107。
发明内容
本发明有关于一种固态储存装置的数据处理方法,该固态储存装置包括一控制电路具有一逻辑至实体对应表以及一非挥发性记忆体具有多个区块,该方法包括下列步骤:进行第(k-1)次的一备份动作,将该逻辑至实体对应表的一第(k-1)次备份的逻辑至实体对应表内容储存至该非挥发性记忆体的;于一第(k-1)时间区间内,执行至少一写入指令,将写入数据写入一第一数目的区块,并进行一区块关闭动作以形成该第一数目的使用区块;于该第(k-1)时间区间内,执行至少一修剪指令,将一第二数目的使用区块变更为该第二数目的非使用区块,并将该第二数目的非使用区块内的一第一实体至逻辑对应数据储存至该非挥发性记忆体的一修剪区块;进行第k次的该备份动作,将该逻辑至实体对应表的一第k次备份的逻辑至实体对应表内容储存至该非挥发性记忆体;于一第k时间区间内,执行至少一该写入指令,将写入数据写入该些区块中一第三数目的区块后,进行该区块关闭动作以形成该第三数目的使用区块;以及于该第k时间区间内,执行至少一该修剪指令,将该些区块中一第四数目的使用区块变更为该第四数目的非使用区块,并将该第四数目的非使用区块内的一第二实体至逻辑对应数据储存至该修剪区块;其中,该控制电路进行k次的该备份动作。
本发明更有关于一种固态储存装置的数据处理方法,该固态储存装置包括一控制电路具有一逻辑至实体对应表以及一非挥发性记忆体具有多个区块,该方法包括下列步骤:当接收到一写入指令时,将写入数据写入一第一数目的区块,进行一区块关闭动作以形成该第一数目的使用区块,并更新该逻辑至实体对应表;当接收到一修剪指令时,将一第二数目的使用区块变更为该第二数目的非使用区块,将该第二数目的非使用区块内的一实体至逻辑对应数据储存至该非挥发性记忆体的一修剪区块,并更新该逻辑至实体对应表;以及于多个时间点分别进行一备份动作,分别将对应该些时间点时的该逻辑至实体对应表的多个备份内容储存至该非挥发性记忆体。
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合所附图式详细说明如下:
附图说明
图1为现有固态储存装置示意图。
图2为本发明固态储存装置的示意图。
图3A至图3C为固态储存装置的运作过程中非挥发性记忆体与L2P表的用途示意图。
图3D至图3H为固态储存装置进行SPOR动作来重建L2P表的流程示意图。
图4为本发明固态储存装置的数据处理流程示意图。
图5为本发明固态储存装置进行SPOR动作来重建L2P表的流程示意图。
图6A至图6E为本发明固态储存装置的数据处理运作以及进行SPOR动作的示意图。
图7为本发明固态储存装置中L2P表、使用区块、修剪区块之间的运作示意图。
图8为本发明固态储存装置进行SPOR动作来重建L2P表的另一流程示意图。
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
请参照图2,其所绘示为本发明固态储存装置的示意图。固态储存装置40经由一外部总线20连接至主机12。再者,固态储存装置40中包括一控制电路401与一非挥发性记忆体405。其中,非挥发性记忆体405可为一反及闸快闪记忆体。
控制电路401包括一逻辑至实体对应表(Logical-to-Physical Table,简称L2P表)407,用来管理非挥发性记忆体405内的储存数据。非挥发性记忆体405中包括多个区块Block_0、Block_1等等。另外,在该些区块中规划至少一个备份区块Block_PBT用来储存部分建立表(partial build table,简称PBT表),而另规划至少一个区块为修剪区块Block_trim用来储存关闭信息。
一般来说,非挥发性记忆体405中包括许多区块(block),而每个区块中又包括多个页(page),其中至少一个页被规划为信息区(information area),用以储存关闭信息(close information)。例如,一个区块中有8页,而每个页的容量为4K bytes。其中,第一页至第七页为数据区(data area),用以储存主机的写入数据;第八页为信息区,用以储存关闭信息。
一般来说,L2P表407提供逻辑配置位址(Logical Allocation Address,以下简称LAA)与实体配置位址(Physical Allocation Address,以下简称PAA)之间的对应关系。请参照图3A至图3C,其所绘示为固态储存装置的运作过程中非挥发性记忆体与L2P表的用途示意图。
如图3A所示,非挥发性记忆体405中有6个区块。其中一个区块被规划为备份区块Block_PBT用来储存PBT表,一个区块被规划为修剪区块Block_trim用来储存关闭信息,而另外四个区块Block_0~Block_3为数据区块,用以储存数据。再者,每个区块中有8个页。举例来说,PAA(00)~PAA(07)位于第零区块Block_0、PAA(08)~PAA(0F)位于第一区块Block_1、PAA(10)~PAA(17)位于第二区块Block_2、PAA(18)~PAA(1F)位于第三区块Block_3。再者,非挥发性记忆体405中每个PAA与LAA的储存容量皆为4Kbytes。
如图3A所示,4个区块Block_0~Block_3中尚未储存数据,所以4个区块Block_0~Block_3皆为自由区块(free block)。另外,L2P表407中尚未有任何对应关系。
如图3B所示,主机12发出写入指令(write command)欲将写入数据储存至逻辑配置位址LAA(18)、LAA(19)、LAA(1A)、LAA(1B)、LAA(1C)、LAA(1D)、LAA(1E)的位置,而控制电路401由自由区块中选择第一区块Block_1里的实体配置位址PAA(08)、PAA(09)、PAA(0A)、PAA(0B)、PAA(0C)、PAA(0D)、PAA(0E),亦即第一页至第七页,来储存上述写入数据。
因此,如图3B所示,第一区块Block_1的实体配置位址PAA(08)、PAA(09)、PAA(0A)、PAA(0B)、PAA(0C)、PAA(0D)、PAA(0E)内储存写入数据(斜线区域)。另外,控制电路401会在L2P表407中记录LAA与PAA之间对应的关系。举例来说,L2P表407中记录LAA(18)的写入数据储存于PAA(08)。
再者,第一区块Block_1的最后一个页被规划为信息区,用来储存关闭信息(closeinformation)。当区块的数据区写满时,会对区块执行一区块关闭动作,其中控制电路401会将关闭信息储存于第一区块Block_1的最后一个页中。关闭信息中至少包括该第一区块Block_1中所有PAA至LAA的对应数据(Physical-to-Logical data,简称P2L对应数据)D1P2L。也就是说,第一区块Block_1的最后一页至少会记录该区块中每一个PAA所对应的LAA。再者,第一区块Block_1中的P2L对应数据D1P2L的位址对应关系与L2P表407内的位址对应关系相同。再者,于完成区块关闭动作后,第一区块Block_1即为使用区块(used block),而剩下三个区块仍为自由区块(free block)。
如图3C所示,主机12再次发出写入指令(write command)欲将数据写入逻辑配置位址LAA(01)、LAA(02)、LAA(03)、LAA(04)、LAA(10)、LAA(11)、LAA(12)的位置,而控制电路401由自由区块中选择第二区块Block_2里的实体配置位址PAA(10)、PAA(11)、PAA(12)、PAA(13)、PAA(14)、PAA(15)、PAA(16),亦即第一页至第七页,来储存上述写入数据。
如图3C所示,第二区块Block_2的实体配置位址PAA(10)、PAA(11)、PAA(12)、PAA(13)、PAA(14)、PAA(15)、PAA(16)内储存写入数据(斜线区域)。相同地,控制电路401会在L2P表407中记录LAA与PAA之间对应的关系。
同理,控制电路401对第二区块Block_2执行区块关闭动作时,第二区块Block_2中所有PAA至LAA的对应数据D2P2L会记录于第二区块Block_2中被规划为信息区的最后一页。再者,于完成区块关闭动作后,第二区块Block_2即为使用区块(used block)。
由以上的说明可知,当控制电路401在执行写入指令时,控制电路401会同步更新L2P表407的内容。因此,控制电路401能够根据L2P表407的内容来掌握非挥发性记忆体405中所有数据的对应关系。
举例来说,假设主机12发出读取指令(read command)欲读取逻辑配置位址LAA(18)中的数据时,控制电路401根据L2P表407确认该数据储存于实体配置位址PAA(08)处。因此,控制电路401读取第一区块Block_1中实体配置位址PAA(08)的数据并将数据传递至主机12。
为了防止固态储存装置40于运作的过程发生突然断电的状况导致L2P表407的内容消失,控制电路401会在固态储存装置40运作的过程中进行备份动作(backup action),用以将L2P表407的内容储存于非挥发性记忆体405的备份区块Block_PBT中。例如,当写入数据到达一特定数据量时,控制电路401进行备份动作,将L2P表407的内容储存于备份区块Block_PBT中。
请参照图3D至图3H,其所绘示为固态储存装置进行突然断电回复动作(suddenpower off and recovery,简称SPOR动作)来重建L2P表的示意图。
接续图3C,如图3D所示,当写入数据量到达特定数据量时,控制电路401进行备份动作,用以将L2P表407的内容D_L2P储存于备份区块Block_PBT中。
接着,如图3E所示,主机12再次发出写入指令(write command)欲将数据写入逻辑配置位址为LAA(16)、LAA(06)、LAA(07)、LAA(08)、LAA(09)、LAA(0A)、LAA(0B)的位置,而控制电路401由自由区块中选择第三区块Block_3里的实体配置位址PAA(18)、PAA(19)、PAA(1A)、PAA(1B)、PAA(1C)、PAA(1D)、PAA(1E),亦即第一页至第七页,来储存上述写入数据。
如图3E所示,第三区块Block_3的实体配置位址PAA(18)、PAA(19)、PAA(1A)、PAA(1B)、PAA(1C)、PAA(1D)、PAA(1E)内储存写入数据(斜线区域)。相同地,控制电路401会在L2P表407中记录LAA与PAA之间对应的关系。
同理,控制电路401对第三区块Block_3执行区块关闭动作时,第三区块Block_3中所有PAA至LAA的对应数据D3P2L将记录于第三区块Block_3中被规划为信息区的最后一页。再者,于完成区块关闭动作后,第三区块Block_3即为使用区块(used block)。
如图3F所示,假设固态储存装置40发生突然断电的状况,使得L2P表407的内容消失。当固态储存装置40再次接收电源时,固态储存装置40先进行SPOR动作。
首先,如图3G所示,控制电路401由非挥发性记忆体405的备份区块Block_PBT中取得最后储存的L2P表内容D_L2P并载入L2P表407中。因此,控制电路401可确认第一区块Block_1与第二区块Block_2为使用区块。
之后,控制电路401搜寻非挥发性记忆体405内的其它区块,并确认第三区块Block_3为使用区块,但L2P表407并未记录其对应关系。因此,如图3H所示,控制电路401由第三区块Block_3的信息区中取得PAA至LAA的对应数据D3P2L,并记录于L2P表407。
如图3H所示,L2P表407重建完成,L2P表407的内容回复至突然断电之前的内容,亦即固态储存装置40完成SPOR动作。此时,固态储存装置40可再次正常运作。
为了避免因修剪指令而被注销的位址,因断电而无法正确地被重建,根据本发明的实施例,当控制电路401执行修剪指令时,如果发生使用区块变更为非使用区块时,该非使用区块内关闭信息的PAA至LAA对应数据(P2L对应数据)会被储存至修剪区块Block_trim中。
请参照图4,其所绘示为本发明固态储存装置的数据处理流程示意图。于固态储存装置40正常运作时,控制电路401会接收主机所发出的指令(步骤S412),并判断接收的指令是否为修剪指令(步骤S414)。当控制电路401接收的指令不是修剪指令时(S414),则控制电路401执行该指令(步骤S416)后回到步骤S412。举例来说,当控制电路401接收到写入指令时,则控制电路401将写入数据储存至非挥发性记忆体405中。或者,当控制电路401接收到读取指令时,则控制电路401将非挥发性记忆体405中的数据传递至主机12。
再者,当控制电路401接收的指令为修剪指令时(S414),则控制电路401执行该修剪指令(步骤S418)。举例来说,当控制电路401执行该修剪指令时,控制电路401会注销L2P表407中部分LAA与PAA之间的对应关系。
根据本发明的实施例,控制电路401会判断是否有使用区块变更为非使用区块的情况发生(步骤S419)。当没有发生使用区块变更为非使用区块的情况时(步骤S419),回到步骤S412。反之,当发生使用区块变更为非使用区块的情况时(步骤S419),则控制电路401将非使用区块中的关闭信息储存至修剪区块Block_trim中(步骤S420),并回到步骤S412。
举例来说,于执行修剪指令时,其中一个使用区块内的写入数据皆变为无效数据,则控制电路401确认该使用区块变更为非使用区块。接着,控制电路401将该非使用区块内关闭信息的P2L对应数据储存至修剪区块Block_trim中。之后,控制电路401可在适当时机对该非使用区块进行抹除动作,使该非使用区块成为自由区块。
请参照图5,其所绘示为本发明固态储存装置进行SPOR动作来重建L2P表的流程示意图。当固态储存装置40进行SPOR动作时,控制电路401将备份区块Block_PBT中备份储存的L2P表内容载入L2P表407(步骤S452)。接着,控制电路401搜寻非挥发性记忆体405内未记录于L2P表407的其它使用区块,并将其信息区中记录的P2L对应关系记录于L2P表407(步骤S454)。接着,控制电路401根据修剪区块Block_trim的内容来注销L2P表中部分LAA至PAA的对应关系(步骤S456)。
请参照图6A至图6E,其所绘示为本发明固态储存装置的数据处理运作以及进行SPOR动作的示意图。其中,图6A中的非挥发性记忆体405与L2P表407中的内容相同于图3E。
如图6B所示,主机12发出修剪指令(Trim command)删除逻辑配置位址LAA(01)、LAA(02)、LAA(03)、LAA(04)、LAA(10)、LAA(11)、LAA(12)中的数据。
此时,控制电路401注销L2P表中逻辑配置位址LAA(01)、LAA(02)、LAA(03)、LAA(04)、LAA(10)、LAA(11)、LAA(12)与实体配置位址PAA(10)、PAA(11)、PAA(12)、PAA(13)、PAA(14)、PAA(15)、PAA(16)之间的对应关系。因此,第二区块Block_2中的所有数据(交叉线区域)即成为无效数据(invalid data),亦即第二区块Block_2变为非使用区块。
根据本发明的实施例,当控制电路401确认第二区块Block_2变为非使用区块时,控制电路401更将第二区块Block_2的信息区中的关闭信息的PAA至LAA的对应数据D2P2L,储存至修剪区块Block_trim。之后,控制电路401可于适当时机抹除(erase)第二区块Black_2,使第二区块Block_2成为自由区块。
假设此时固态储存装置40发生突然断电的状况,造成L2P表407的内容消失。当固态储存装置40再次接收电源时,固态储存装置40进行SPOR动作。
首先,如图6C所示,控制电路401由非挥发性记忆体405的备份区块Block_PBT中取得最后储存的内容D_L2P并载入L2P表407中。
接着,控制电路401搜寻非挥发性记忆体405内的其它区块,并确认第三区块Block_3为使用区块,但L2P表407并未记录其对应关系。因此,如图6D所示,控制电路401由第三区块Block_3的信息区中取得PAA至LAA的对应数据D3P2L,并载入L2P表407中。
之后,如图6E所示,修剪区块Block_trim中储存第二区块Block_2的关闭信息的PAA至LAA的对应数据D2P2L。因此,控制电路401确认第二区块Block_2为非使用区块,并进一步注销L2P表407中第二区块Block_2的对应关系。亦即,控制电路401注销L2P表407中PAA(10)、PAA(11)、PAA(12)、PAA(13)、PAA(14)、PAA(15)、PAA(16)与LAA(01)、LAA(02)、LAA(03)、LAA(04)、LAA(10)、LAA(11)、LAA(12)之间的对应关系。
由以上的说明可知,当固态储存装置40执行修剪指令时,控制电路401于修剪区块Block_trim中记录变更为非使用区块的P2L对应数据。当固态储存装置40突然断电并进行SPOR动作后,可正确地重建L2P表407,使L2P表407的内容回复至突然断电之前的内容,而固态储存装置40可再次正常运作。
以上的实施例是以非挥发性记忆体405中有六个区块,且每个区块中仅有8个页为例来进行说明。当然本发明并不限定于此。再者,以上的实施例是将区块中的最后一个页规划为信息区,然本发明亦不限定于此。
在实际的运用上,非挥发性记忆体405中包括更多个区块,而每个区块中包括更多个页。举例来说,非挥发性记忆体405中包括1024个区块,而每个区块中包括2000个页。在此情况之下,每个区块的第1页至第1990页可规划为数据区(data area),用以储存主机的写入数据;第1991页至第2000页可规划为信息区(information area),用以储存关闭信息(close information)。
再者,于固态储存装置40于正常运作时,当写入数据量到达20Gbytes时,控制电路401进行备份动作,并将L2P表407的内容储存于备份区块Block_PBT中。
另外,由于修剪区块Block_trim的容量有限,当修剪区块Block_trim到达一储存上限时,控制电路401可进行备份动作,将L2P表407的内容储存于备份区块Block_PBT中。之后,控制电路401再对修剪区块Block_trim进行抹除动作。如此,当控制电路401再次执行修剪指令时,修剪区块Block_trim即有足够的空间来储存非使用区块的P2L对应数据。
一般来说,在固态储存装置40的运作过程,控制电路401会进行多次的备份动作,也会执行主机12发出的多笔写入指令与修剪指令。
请参考图7,其所绘示为本发明固态储存装置中备份动作、L2P表、使用区块、修剪区块之间的运作示意图。举例来说,固态储存装置40的运作过程中控制电路401已经进行了k次的备份动作。
如图7所示,于时间点ta时,控制电路401进行第(k-1)次的备份动作。此时,L2P表407的内容Dk-1_L2P会储存于备份区块Block_PBT中。换言之,备份区块Block_PBT中所储存的L2P表内容Dk-1_L2P为控制电路401于进行第(k-1)次的备份动作时的L2P表407的内容。可参照图3D的绘示,控制电路401进行备份动作时,L2P表407的内容会复制储存于备份区块Block_PBT。
于时间点ta至时间点tb的时间区间Tk-1,控制电路401执行写入指令,并将写入数据储存于非挥发性记忆体405的区块中,并进行区块关闭动作进而新产生Xk-1个使用区块。相同地,在控制电路401将写入数据储存于Xk-1个使用区块的过程,L2P表407中的内容也会同步的修改。其中,时间区间Tk-1定义为第(k-1)次的备份动作至下一次(第k次)备份动作之间的时间区间。
另外,于时间点ta至时间点tb的时间区间Tk-1,控制电路401也执行修剪指令,并将Yk-1个区块变更为非使用区块。相同地,在控制电路401执行修剪指令的过程,控制电路401会修改L2P表407,将L2P表407中对应Yk-1个区块的LAA至PAA的对应关系注销,并且控制电路401将Yk-1个区块中的关闭信息所包含的全部P2L对应数据DP2L_k-1储存于修剪区块Block_trim中。可参照图6B,于执行修剪命令时,控制电路401会将L2P表407中对应区块Block_2的LAA至PAA的对应关系注销,并且控制电路401将区块Block_2中的P2L对应数据D2P2L储存于修剪区块Block_trim中。
基本上,上述控制电路407执行写入指令以及修剪指令的次序并没有被限制,控制电路407皆是根据主机12发出指令的次序来依序执行。另外,由于控制电路407执行读取命令时并不会改变L2P表407的内容,因此图7中并未介绍行读取命令。
于时间点tb时,控制电路401进行第k次的备份动作。此时,L2P表407的内容Dk_L2P会储存于备份区块Block_PBT中。换言之,备份区块Block_PBT中所储存的L2P表内容Dk_L2P为控制电路401于进行第k次的备份动作时的L2P表407的内容。
于时间点tb至时间点tc的时间区间Tk,控制电路401执行写入指令,并将写入数据储存于非挥发性记忆体405的区块中,并进行区块关闭动作进而新产生Xk个使用区块。相同地,在控制电路401将写入数据储存于Xk个使用区块的过程,L2P表407中的内容也会同步的修改。其中,时间区间Tk定义为最后一次(第k次)的备份动作至突然断电之间的时间区间。
另外,于时间点tb至时间点tc的时间区间Tk,控制电路401也执行修剪指令,并将Yk个区块变更为非使用区块。相同地,在控制电路401执行修剪指令的过程,控制电路401会修改L2P表407,将L2P表407中对应Yk个区块的LAA至PAA的对应关系注销,并且控制电路401将Yk个区块中的关闭信息所包含的全部P2L对应数据DP2L_k储存于修剪区块Block_trim中。
如图7所示,于时间点tc时,固态储存装置40突然断电,造成L2P表407的内容消失。因此,当固态储存装置40于时间点td再次接收电源时,控制电路401必须先进行SPOR动作,让L2P表407的内容回复至突然断电之前的内容。
基本上,控制电路401可利用图5的SPOR动作来重建L2P表407。也就是说,于进行SPOR动作时,控制电路401先将备份区块Block_PBT中最后储存的L2P表内容Dk_L2P载入L2P表407。接着,控制电路401搜寻非挥发性记忆体405内未记录于L2P表407的其它使用区块,也就是在时间区间Tk中所形成的Xk个使用区块,并将Xk个使用区块的信息区中的PAA至LAA的对应关系记录于L2P表407。接着,控制电路401根据修剪区块Block_trim最后更新的P2L对应数据DP2L_k来注销L2P表407中部分LAA至PAA的对应关系。之后,L2P表407重建完成,固态储存装置40可开始正常运作。
由以上的说明可知,控制电路401进行SPOR动作时,是利用最后一次(第k次)备份动作时储存于备份区块Block_PBT的L2P表内容Dk_L2P来开始L2P表407的重建流程。然而,如果控制电路401无法成功读取储存于备份区块Block_PBT的L2P表内容Dk_L2P时,SPOR动作会失败使得L2P表407无法成功重建。
为了要防止上述SPOR动作失败,在一实施例中,本发明提出利用更早之前储存于备份区块Block_PBT的L2P表内容来进行SPOR动作。
请参照图8,其所绘示为本发明固态储存装置进行SPOR动作来重建L2P表的另一流程示意图。举例来说,固态储存装置40的运作过程中控制电路401已经进行了k次的备份动作。因此,备份区块Block_PBT中储存了k份不同时间点的L2P表407内容,亦即L2P表内容D1_L2P~Dk_L2P。同理,修剪区块Block_trim中也储存了不同时间区间T1~Tk的k份P2L对应数据DP2L_1~DP2L_k。
当固态储存装置40进行SPOR动作时,控制电路401先设定n=0(步骤S802),并读取备份区块Block_PBT中第(k-n)次储存的L2P表内容Dk-n_L2P(步骤S804)。如果第(k-n)次储存的L2P表内容未读取成功,则设定n=n+1(步骤S808),并回到步骤S804。
根据步骤S802~步骤S808可知,当固态储存装置40进行SPOR动作时,控制电路401会由备份区块Block_PBT中最后一笔(第k笔)储存的L2P表内容开始往前逐次读取备份区块Block_PBT中储存的L2P表内容,直到成功读取一笔备份区块Block_PBT中储存的L2P表内容为止。
之后,当第(k-n)次储存的L2P表内容读取成功(步骤S810)时,控制电路401将备份区块Block_PBT中第(k-n)次储存的L2P表内容Dk-n_L2P载入L2P表407(步骤S810)。
接着,控制电路401搜寻时间区间Tk-n中所形成的Xk-n个使用区块,并将其信息区中的PAA至LAA的对应关系记录于L2P表407(步骤S812)。
接着,控制电路401根据时间区间Tk-n内储存于修剪区块Block_trim的P2L对应数据DP2L_k-n来注销L2P表407中部分LAA至PAA的对应关系(步骤S814)。
接着,判断n=0是否成立(步骤S816)。当n=0不成立时,设定n=n-1(步骤S818)并回到步骤S812。反之,当n=0成立时,则L2P表407重建完成(步骤S820)。亦即,固态储存装置40可开始正常运作。
以下以图7的运作流程为例来介绍SPOR动作。假设控制电路407于进行SPOR动作时,无法读取备份区块Block_PBT中最后一次(第k次)储存的L2P表内容Dk_L2P,仅能读取备份区块Block_PBT中倒数第二次(第k-1次)储存的L2P表内容Dk-1_L2P。因此,n=1时,控制电路407可以读取第k-1次储存的L2P表内容Dk-1_L2P。
接着,控制电路401将备份区块Block_PBT中倒数第二次(第k-1次)储存的L2P表内容Dk-1_L2P载入L2P表407。接着,控制电路401搜寻时间区间Tk-1中所形成的Xk-1个使用区块,并将Xk-1个使用区块信息区中的PAA至LAA的对应关系记录于L2P表407。接着,控制电路401根据时间区间Tk-1储存于修剪区块Block_trim的P2L对应数据DP2L_k-1来注销L2P表407中部分LAA至PAA的对应关系。
由以上的说明可知,虽然控制电路401无法读取备份区块Block_PBT中最后一次(第k次)储存的L2P表内容Dk_L2P。但是,当上述流程执行完成后,L2P表407的内容会相同于备份区块Block_PBT中最后一次(第k次)储存的L2P表内容Dk_L2P。也就是说,控制电路407可以根据备份区块Block_PBT中第(k-1)次储存的L2P表内容Dk-1_L2P来获得备份区块Block_PBT中最后一次(第k次)储存的L2P表内容Dk_L2P。
简言之,控制电路407可以根据备份区块Block_PBT中第(k-n)次储存的L2P表内容Dk-n_L2P来获得备份区块Block_PBT中下一次(第k-n+1次)储存的L2P表内容Dk-n+1_L2P。
当最后一次(第k次)储存的L2P表内容Dk_L2P获得后,n会递减,使n=0。再者,控制电路401搜寻时间区间Tk中所形成的Xk个使用区块,并将Xk个使用区块信息区中的PAA至LAA的对应关系记录于L2P表407。接着,控制电路401根据时间区间Tk储存于修剪区块Block_trim的P2L对应数据DP2L_k来注销L2P表407中部分LAA至PAA的对应关系。之后,L2P表407重建完成,固态储存装置40可开始正常运作。
由以上图8的说明可知,控制电路401进行SPOR动作时,只要能够正确读取于备份区块Block_PBT中对应多个备份时间点所储存的多个L2P表内容其中之一时,即可以成功重建L2B表407。因此,可大幅提高L2P表407成功重建的机率。
再者,由于非挥发性记忆体405中,备份区块Block_PBT与修剪区块Block_trim的容量有限。根据本发明的实施例,备份区块Block_PBT中至少会保留最后2次备份动作所储存的L2P表内容。相同地,修剪区块Block_trim也至少保留对应最后2次备份动作后所储存的P2L对应数据。当然,本发明并不限定于此,备份区块Block_PBT与修剪区块Block_trim内也可以保留更多的储存内容。
综上所述,虽然本发明已以实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (8)
1.一种固态储存装置的数据处理方法,其特征在于,该固态储存装置包括一控制电路具有一逻辑至实体对应表以及一非挥发性记忆体具有多个区块,该方法包括下列步骤:
进行第(k-1)次的一备份动作,将该逻辑至实体对应表的一第(k-1)次备份的逻辑至实体对应表内容储存至该非挥发性记忆体的;
于一第(k-1)时间区间内,执行至少一写入指令,将写入数据写入一第一数目的区块,并进行一区块关闭动作以形成该第一数目的使用区块;
于该第(k-1)时间区间内,执行至少一修剪指令,将一第二数目的使用区块变更为该第二数目的非使用区块,并将该第二数目的非使用区块内的一第一实体至逻辑对应数据储存至该非挥发性记忆体的一修剪区块;
进行第k次的该备份动作,将该逻辑至实体对应表的一第k次备份的逻辑至实体对应表内容储存至该非挥发性记忆体;
于一第k时间区间内,执行至少一该写入指令,将写入数据写入该些区块中一第三数目的区块后,进行该区块关闭动作以形成该第三数目的使用区块;以及
于该第k时间区间内,执行至少一该修剪指令,将该些区块中一第四数目的使用区块变更为该第四数目的非使用区块,并将该第四数目的非使用区块内的一第二实体至逻辑对应数据储存至该修剪区块;
其中,该控制电路进行k次的该备份动作;
其中,当执行该修剪指令时,该控制电路会注销该逻辑至实体对应表中部分逻辑配置位址与实体配置位址之间的对应关系。
2.如权利要求1所述的数据处理方法,其特征在于,该第(k-1)时间区间是第(k-1)次的该备份动作至第k次的该备份动作之间的时间区间。
3.如权利要求1所述的数据处理方法,其特征在于,更包括下列步骤:
于遭遇突然断电后再次接收电源时,先读取该第k次备份的逻辑至实体对应表内容;以及
于读取该第k次备份的逻辑至实体对应表内容失败时,读取该第(k-1)次备份的逻辑至实体对应表内容并载入该逻辑至实体对应表。
4.如权利要求2所述的数据处理方法,其特征在于,于读取该第k次备份的逻辑至实体对应表内容失败时,更包括下列步骤:
搜寻该第(k-1)时间区间内所形成的该第一数目的使用区块,并将其实体配置位址至逻辑配置位址的对应关系记录于该逻辑至实体对应表;
根据该第(k-1)时间区间内储存于该修剪区块的该第一实体至逻辑对应数据来注销该逻辑至实体对应表中的部分逻辑配置位址与实体配置位址之间的对应关系;
搜寻该第k时间区间内所形成的该第三数目的使用区块,并将其实体配置位址至逻辑配置位址的对应关系记录于该逻辑至实体对应表;以及
根据该第k时间区间内储存于该修剪区块的该第二实体至逻辑对应数据来注销该逻辑至实体对应表中的部分逻辑配置位址与实体配置位址之间的对应关系。
5.如权利要求2所述的数据处理方法,其特征在于,更包括下列步骤:
于读取该第k次备份的逻辑至实体对应表内容成功时,将该第k次备份的逻辑至实体对应表内容载入该逻辑至实体对应表;
搜寻该第k时间区间内所形成的该第三数目的使用区块,并将其实体配置位址至逻辑配置位址的对应关系记录于该逻辑至实体对应表;以及
根据该第k时间区间内储存于该修剪区块的该第二实体至逻辑对应数据来注销该逻辑至实体对应表中的部分逻辑配置位址与实体配置位址之间的对应关系。
6.如权利要求1所述的数据处理方法,其特征在于,更包括下列步骤:
当该修剪区块到达一储存上限时,进行该备份动作,将该逻辑至实体对应表的内容储存于该非挥发性记忆体中;以及
对该修剪区块进行一抹除动作。
7.一种固态储存装置的数据处理方法,其特征在于,该固态储存装置包括一控制电路具有一逻辑至实体对应表以及一非挥发性记忆体具有多个区块,该方法包括下列步骤:
当接收到一写入指令时,将写入数据写入一第一数目的区块,进行一区块关闭动作以形成该第一数目的使用区块,并更新该逻辑至实体对应表;
当接收到一修剪指令时,将一第二数目的使用区块变更为该第二数目的非使用区块,将该第二数目的非使用区块内的一实体至逻辑对应数据储存至该非挥发性记忆体的一修剪区块,并更新该逻辑至实体对应表;以及
于多个时间点分别进行一备份动作,分别将对应该些时间点时的该逻辑至实体对应表的多个备份内容储存至该非挥发性记忆体;
其中,当执行该修剪指令时,该控制电路会注销该逻辑至实体对应表中部分逻辑配置位址与实体配置位址之间的对应关系。
8.如权利要求7所述的数据处理方法,其特征在于,更包括下列步骤:
于遭遇突然断电后再次接收电源时,根据该些时间点的先后顺序,由后往前依序读取储存于该非挥发性记忆体中对应该些时间点的该些备份内容,直到可成功读取该些备份内容其中之一;
将该成功读取的备份内容载入该逻辑至实体对应表,其中该成功读取的备份内容对应于该些时间点中的一第一时间点;
搜寻于该第一时间点之后,因接收到该写入指令而形成的第三数目的使用区块,并将其实体配置位址至逻辑配置位址的对应关系记录于该逻辑至实体对应表;以及
搜寻于该第一时间点之后,因接收到该修剪指令而储存于该修剪区块的该实体至逻辑对应数据,并根据该实体至逻辑对应数据来注销该逻辑至实体对应表中的部分逻辑配置位址与实体配置位址之间的对应关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811426938.4A CN111221750B (zh) | 2018-11-27 | 2018-11-27 | 固态储存装置的数据处理方法 |
US16/278,793 US10942811B2 (en) | 2018-11-27 | 2019-02-19 | Data processing method for solid state drive |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811426938.4A CN111221750B (zh) | 2018-11-27 | 2018-11-27 | 固态储存装置的数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221750A CN111221750A (zh) | 2020-06-02 |
CN111221750B true CN111221750B (zh) | 2023-08-22 |
Family
ID=70770729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811426938.4A Active CN111221750B (zh) | 2018-11-27 | 2018-11-27 | 固态储存装置的数据处理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10942811B2 (zh) |
CN (1) | CN111221750B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4085335A1 (en) | 2019-12-31 | 2022-11-09 | Micron Technology, Inc. | Data removal marking in memory device |
KR20220025401A (ko) * | 2020-08-24 | 2022-03-03 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
CN112286720B (zh) * | 2020-10-28 | 2023-08-01 | 四川效率源信息安全技术股份有限公司 | Sm2246en主控的固态硬盘启用trim命令后提取被删除数据的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324899A (zh) * | 2008-08-05 | 2008-12-17 | 北京海尔集成电路设计有限公司 | 一种快速写nand型flash的方法 |
CN101515276A (zh) * | 2008-12-29 | 2009-08-26 | 北京握奇数据***有限公司 | 一种文件数据写操作的方法、文件数据恢复方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054880A1 (en) * | 2011-08-26 | 2013-02-28 | Stec, Inc. | Systems and methods for reducing a number of close operations in a flash memory |
TWI638263B (zh) * | 2017-07-26 | 2018-10-11 | 大陸商深圳大心電子科技有限公司 | 資料備份方法、資料恢復方法以及儲存控制器 |
TWI670600B (zh) * | 2017-09-18 | 2019-09-01 | 深圳大心電子科技有限公司 | 資料備份方法、資料恢復方法以及儲存控制器 |
-
2018
- 2018-11-27 CN CN201811426938.4A patent/CN111221750B/zh active Active
-
2019
- 2019-02-19 US US16/278,793 patent/US10942811B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324899A (zh) * | 2008-08-05 | 2008-12-17 | 北京海尔集成电路设计有限公司 | 一种快速写nand型flash的方法 |
CN101515276A (zh) * | 2008-12-29 | 2009-08-26 | 北京握奇数据***有限公司 | 一种文件数据写操作的方法、文件数据恢复方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111221750A (zh) | 2020-06-02 |
US20200167235A1 (en) | 2020-05-28 |
US10942811B2 (en) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9645894B2 (en) | Data storage device and flash memory control method | |
US9836108B2 (en) | Memory system and controller | |
US9817588B2 (en) | Memory device and operating method of same | |
US8909986B2 (en) | Data storing method for solid state drive to preserve data integrity after power failure | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9632714B2 (en) | Solid-state drive device | |
US10838629B2 (en) | Solid state device with fast boot after ungraceful shutdown | |
US9058255B2 (en) | Solid state drive and method for constructing logical-to-physical table thereof | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN111221750B (zh) | 固态储存装置的数据处理方法 | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
JPWO2009098776A1 (ja) | バックアップ方法、ディスクアレイシステム及び制御装置 | |
GB2541528A (en) | Back-up and restoration of data between volatile and flash memory | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN104516959A (zh) | 一种管理数据库日志的方法及装置 | |
JP2013222435A (ja) | 半導体記憶装置及びその制御方法 | |
JPWO2009004674A1 (ja) | 記憶装置、ディスク装置、書込み判定方法、制御装置 | |
US9959044B2 (en) | Memory device including risky mapping table and controlling method thereof | |
US10671313B2 (en) | Apparatus and methods for fast and secure storage of data | |
CN110928480B (zh) | 固态储存装置的数据处理方法 | |
US11182245B2 (en) | Operating method of memory controller, memory controller, and storage device | |
CN103389943A (zh) | 控制装置、存储装置及存储控制方法 | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
US7996598B2 (en) | Memory management module | |
JP2009288914A (ja) | フラッシュメモリおよび電子機器 |
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 |