CN115291815B - 一种存储器及其控制方法与存储系统 - Google Patents
一种存储器及其控制方法与存储系统 Download PDFInfo
- Publication number
- CN115291815B CN115291815B CN202211223996.3A CN202211223996A CN115291815B CN 115291815 B CN115291815 B CN 115291815B CN 202211223996 A CN202211223996 A CN 202211223996A CN 115291815 B CN115291815 B CN 115291815B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- mapping table
- memory
- array
- 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
- 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
- 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/1448—Management of the data involved in backup or backup restore
-
- 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/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]
-
- 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)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种存储器及其控制方法与存储系统,控制方法包括:对存储器写入数据,并根据被写入数据的地址映射信息,获取多个地址映射表,其中地址映射表被存储在存储器的闪存区或缓存区;根据地址映射表获取快照信息,并将快照信息存储在缓存区;根据闪存区中存储块被调用的顺序,获取数组信息并将数组信息存储于闪存区;当数组信息的有效数据个数达到预设阈值,将快照信息转移至闪存区,并重新获取数组信息;以及当存储器出现异常状态,根据快照信息恢复存储器的一部分数据,并根据数组信息读取闪存区的存储数据,恢复存储器的另一部分数据。本发明能快速且可控地恢复存储器的掉电丢失数据。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储器及其控制方法与存储系统。
背景技术
当今在固态硬盘消费级市场,固态硬盘价格已经逐渐逼近传统机械硬盘的价格。为了更进一步的减小固态硬盘的成本,当前消费级固态硬盘已经逐渐由原来的外置动态随机存取存储器(Dynamic Random Access Memory,DRAM)的架构设计演变为不外置DRAM的架构设计。这样设计的好处是,整个固态硬盘可以节省掉一个甚至多个DRAM的价格,进而进一步降低固态硬盘成本。
闪存映射表是记录逻辑地址和物理地址间对应关系的映射表,可以用于管理写入逻辑地址的数据存在闪存的哪个物理位置。因此,闪存映射表的管理影响了存储器的读写性能。尤其在异常掉电的情况下,上电后如何恢复闪存映射表是亟待解决的一个问题。
发明内容
本发明的目的在于提供一种存储器及其控制方法与存储系统,在发生异常掉电之后的上电处理流程中,能快速且可控地恢复映射表中的所有映射关系。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供一种存储器的控制方法,包括以下步骤:
对存储器写入数据,并根据被写入数据的地址映射信息,获取多个地址映射表,其中所述地址映射表被存储在所述存储器的闪存区或缓存区;
根据所述地址映射表获取快照信息,并将所述快照信息存储在所述缓存区;
根据所述闪存区中存储块被调用的顺序,获取数组信息并将所述数组信息存储于所述闪存区;
当所述数组信息的有效数据个数达到预设阈值,将所述快照信息转移至所述闪存区,并重新获取所述数组信息;以及
当所述存储器出现异常状态,根据所述快照信息恢复所述存储器的一部分数据,并根据所述数组信息读取所述闪存区的存储数据,恢复所述存储器的另一部分数据。
在本发明一实施例中,获取所述地址映射表的步骤包括:
根据所述被写入数据的逻辑地址和物理地址的映射关系配对,获得动态映射表,并将所述动态映射表存储于所述缓存区;
在所述闪存区建立一级映射表,并将部分所述动态映射表的地址映射信息转移至所述一级映射表;以及
根据所述一级映射表的地址映射信息,在所述缓存区建立二级映射表。
在本发明一实施例中,当所述缓存区的存储单元数量小于转移阈值,将部分所述动态映射表的地址映射信息转移至所述一级映射表。
在本发明一实施例中,所述快照信息包括所述二级映射表和所述动态映射表。
在本发明一实施例中,获取所述数组信息的步骤包括:
当数据写满所述存储块后,调取下一个所述存储块;
获取被调用存储块的编号数据,其中所述编号数据包括所述被调用存储块的器件编号和顺序编号;以及
按照所述顺序编号,排列所述被调用存储块的编号数据,获得数组信息。
在本发明一实施例中,重新获取所述数组信息的步骤包括:
将所述数组信息的有效数据个数清零,并以两次清零所述有效数据个数的间隔为数组周期;
在每个所述数组周期内,根据被调用的所述存储块的顺序,设置所述顺序编号;
在下一所述数组周期内,用所述顺序编号相同的所述编号数据替换上一所述数组周期内的所述编号数据。
在本发明一实施例中,获取所述数组信息的步骤包括:
设置有效数据位和余量位;
将本轮所述数组周期内的所述编号数据存储于所述有效数据位;
将下轮所述数组周期内的所述编号数据存储于所述余量位;以及
根据所述顺序编号,将所述余量位的所述编号数据转移至对应的所述有效数据位。
在本发明一实施例中,所述有效数据位按照所述顺序编号进行排序。
本发明提供了一种存储器的存储系统,包括:
映射表生成单元,用于对存储器写入数据,并根据被写入数据的地址映射信息,获取多个地址映射表,其中所述地址映射表被存储在所述存储器的闪存区或缓存区;
快照信息生成单元,用于根据所述地址映射表获取快照信息,并将所述快照信息存储在所述缓存区;
数组信息生成单元,用于根据所述闪存区中存储块被调用的顺序,获取数组信息并将所述数组信息存储于所述闪存区;
快照信息转移单元,用于在所述数组信息中存储块的有效个数达到预设阈值时,将所述快照信息转移至所述闪存区,并重新获取所述数组信息;以及
上电数据恢复单元,用于在所述存储器出现异常状态时,根据所述快照信息恢复所述存储器的一部分数据,并根据所述数组信息读取所述闪存区的存储数据,恢复所述存储器的另一部分数据。
本发明提供了一种存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的存储器的控制方法。
如上所述,本发明提供了一种存储器及其控制方法与存储系统,在异常掉电的情况下,仍旧能够保持数据不被丢失,且在发生异常掉电之后的上电处理流程中,能快速且可控地恢复映射表中的所有映射关系。本发明提供的存储器的控制方法和可实施该方法的存储器和存储系统,在存储易失数据时,对存储空间的占用小,对存储器和存储系统的读写性能影响小。且根据本发明提供的存储器的控制方法和可实施该方法的存储器和存储系统,在数据备份和恢复的过程中,都能避免冗余数据的产生,有效地避免了数据写入时的写放大问题,从而提升存储器或存储系统的利用效率。在恢复数据的时候,本发明提供的存储器的控制方法,能够可选择地恢复部分数据或是调整恢复数据的优先级,能在兼具存储器读写性能的基础上,快速且可控地实现上电数据恢复。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为存储器的结构示意图。
图2为主机从存储器调取数据的结构示意图。
图3为闪存区的结构示意图。
图4为本发明所述存储器的控制方法的流程图。
图5为步骤S10的流程图。
图6为动态映射表的结构示意图。
图7为步骤S14的流程图。
图8为步骤S30和步骤S40的流程图。
图9为步骤S32的流程图。
图10为步骤S50的流程图。
图11为快照存储单元的结构示意图。
图12为本发明所述存储系统的结构示意图。
图中:1、存储器;2、主机;10、闪存区;100、存储块;11、数据存储单元;111、被占用存储区;112、空白存储区;12、一级映射存储单元;13、快照存储单元;131、二级映射表存储模块;132、动态映射表存储模块;14、数组存储单元;20、缓存区;21、数据缓存单元;22、动态缓存单元;23、二级映射缓存单元;24、快照缓存单元;3、存储系统;31、映射表生成单元;32、快照信息生成单元;33、数组信息生成单元;34、快照信息转移单元;35、上电数据恢复单元。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
存储设备可以用来存储程序和各种数据信息的记忆部件,与主机系统一起使用,可使主机系统将数据写入至存储设备中或是从存储设备中读取数据。以闪存作为存储介质的存储设备相较于传统的磁盘来讲,不具有重复覆写的特点。只有先对闪存进行擦除操作才能写入数据,且写入操作是按照物理页面(page)为单位进行,擦除操作以物理区块(block)为单位进行。因此主机系统写入指定逻辑地址的数据,并不是存放在闪存的固定位置。而在无外置DRAM,即DRAM-less的存储设备方案中,缓存资源比外置DRAM的存储设备方案更加有限。在异常掉电的情况下,DRAM-less的存储设备上电恢复能力有限。在DRAM-less的存储设备方案中预防异常掉电和上电恢复时,对存储资源的占用,会直接影响存储设备的性能。
请参阅图1所示,本发明提供了一种存储器1,存储器1可以与主机2电性连接,从而使主机2可以从存储器1中读出数据或写入数据。具体的,存储器1和主机2可以通过数据传输接口或是串行总线等方式电性连接。在本实施例中,存储器1可以是存储卡或固态硬盘(Solid State Drive,SSD)等非易失性存储设备。其中存储卡例如是嵌入式多媒体卡(Embedded Multi Media Card,EMMC)。主机2为可实质地与存储器1配合以储存数据的任意设备。在本实施例中,主机2可以是计算机。在本发明的其他实施例中,主机2也可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等设备。例如,在主机2为数字相机时,非易失性存储器储存装置则为其所使用的安全数码卡(Secure Digital Memory Card,SD卡)、多媒体卡(Multi-Media Card,MMC卡)、CF卡或嵌入式储存装置。嵌入式储存装置例如为EMMC卡,且嵌入式储存装置可以电性连接在主机2的基板上。
请参阅图1和图2所示,主机2每向存储器1内写入数据,被写入数据具有逻辑地址,也具有实际存储的物理地址,逻辑地址和物理地址之间的映射关系配对被存储在缓存区20中。若缓存区20中的数据在发生异常掉电后就会出现丢失。因此本发明提供了一种存储器的控制方法,可以对存储器1中逻辑地址和物理地址之间映射关系进行管理。在对存储器1进行控制管理前,可以对存储器1进行配置。
请参阅图1和图2所示,在本发明一实施例中,存储器1包括闪存区10和缓存区20,缓存区20和闪存区10之间可以通过接口或线束实现电性连接,以交换数据。其中,闪存区10为非易失性存储装置,例如SM卡、CF卡、MMC卡、SD卡、记忆棒、XD卡和微硬盘等等。其中,闪存区10可以是NAND闪存,也可以是NOR闪存。缓存区20可以是一种高速缓冲存储装置(cache),缓存区20电性连接于主机2,当主机2需要调取数据时,可以先从缓存区20中调取数据。当主机2需要调取的数据信息不能在缓存区20中直接寻求到时,再从闪存区10中调取所需的数据,从而大幅提升存储器1的数据处理效率。
请参阅图1至图3所示,在本发明一实施例中,闪存区10包括数据存储单元11、一级映射存储单元12、快照存储单元13和数组存储单元14。其中,数据存储单元11包括多个存储块100,存储块100可以是存储器1的物理区块(block)。物理区块可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。物理区块具有多个物理页面(page)。在例如NAND闪存中,多个晶体管组成的阵列形成了NAND闪存。相邻的晶体管之间串行连接,形成串(String)。每个晶体管的控制极连接字线。按照每串晶体管的排列顺序,每串晶体管中处于末端的晶体管漏极来连接位线,处于首端的晶体管源极连接至源线。在本实施例中,位于同一字线上的晶体管是处于同一物理页面中的,而共处于同一衬底结构上的晶体管阵列是位于同一物理区块中的。其中属于同一个物理区块物理页面可被独立地写入且被同时地抹除。在应用存储器1时,每一物理区块和物理页面的物理地址可能存在偏移调用,因此需要存储逻辑地址和物理地址的映射关系,以便于根据调用的逻辑地址,找到对应的物理区块或是物理页面。
请参阅图1至图3所示,在本发明一实施例中,在配置存储器1时,在数据存储单元11划分出被占用存储区111和空白存储区112。其中,被占用存储区111包括多个被写满数据的存储块100。如图3所示,在本实施例中,被占用存储区111例如有m个存储块100。空白存储区112包括多个存储块100,且位于空白存储区112的存储块100中可以是未被写入数据,也可以是被写入数据但尚未写满。其中,数据存储单元11和数组存储单元14电性连接,以便于数组存储单元14从数据存储单元11,具体的从空白存储区112中获取存储块100被调取的信息。向数据存储单元11中写入主机数据时,主机数据被随机写入空白存储区112中某个存储块100的存储页中,且主机数据按照顺序写入存储页中。当主机数据被擦除时,同一个存储块100中的数据被同步擦除。一级映射存储单元12可以用于存储主机数据的地址映射信息,快照存储单元13可以用于存储上电恢复数据。其中,一级映射存储单元12、快照存储单元13和数组存储单元14可以包括多个存储块100(图中未示出),以存储数据。具体的,在存储器1中的多个物理区块中,根据物理地址划分出专门用于存放掉电恢复相关数据的物理区块,形成快照存储单元13、一级映射存储单元12和数组存储单元14。快照存储单元13、一级映射存储单元12和一级映射存储单元12的数量可以根据存储的数据量决定,在本发明中,不限定快照存储单元13和一级映射存储单元12的数量。
请参阅图1所示,在本发明一实施例中,缓存区20包括数据缓存单元21、动态缓存单元22、二级映射缓存单元23和快照缓存单元24。其中,数据缓存单元21用于存储可被主机2直接调用的缓存储信息。动态缓存单元22用于存储被写入数据的逻辑地址和物理地址的映射关系。其中被写入数据指的是主机2写入数据存储单元11中的主机数据。二级映射缓存单元23与一级映射缓存块14对应,用于存储一级映射缓存块14的逻辑地址和物理地址之间的映射关系。快照缓存单元24用于存储掉电恢复相关数据。
请参阅图1和图4所示,本发明提供了一种存储器的控制方法,所述存储器的控制方法包括步骤S10。
步骤S10、对存储器写入数据,并根据被写入数据的地址映射信息,获取多个地址映射表,其中地址映射表存储在存储器的闪存区或缓存区。
请参阅图1、图4和图5所示,在本发明一实施例中,在步骤S10中,可以通过主机2对存储器1写入主机数据。被写入数据的逻辑地址和存储进的物理地址的不同的,因此被写入数据的地址映射信息包括被写入数据的逻辑地址和物理地址之间的映射关系配对。其中,被写入数据可以是主机数据。将被写入数据存储在闪存区10中的数据存储单元11。而被写入数据的地址映射信息可以存储在闪存区10,也可以存储在缓存区20。具体的,步骤S10包括步骤S11至步骤S16。
步骤S11、对存储器写入主机数据。
步骤S12、根据被写入数据的地址映射信息,形成动态映射表,并将动态映射表存储在动态缓存单元中。
步骤S13、在一级映射存储单元中建立一级映射表。
步骤S14、根据缓存区是否有足够的动态缓存单元,将部分动态映射表的地址映射信息转移至一级映射表中。
步骤S15、在二级映射缓存单元中建立二级映射表。
步骤S16、获取更新后的一级映射表的地址映射信息,并将地址映射信息存储在二级映射表中。
请参阅图1、图5和图6所示,在本发明一实施例中,在步骤S11中,主机数据可以被写入闪存区10的数据存储单元11中。在步骤S12中,根据被写入数据的逻辑地址和物理地址的映射关系配对,形成动态映射表。动态映射表被存储在缓存区20的动态缓存单元22中。其中,地址映射关系可以包括多条逻辑地址和物理地址的映射关系配对。在本实施例中,同样一个逻辑地址a可以对应多个物理地址,例如物理地址a1至物理地址an。如图6所示,同一个主机数据的地址映射关系可以是存储在同一个动态映射表中,以适应不同体量的数据,将数据快速调出。在本发明的其他实施例中,同一个主机数据的地址映射关系也可以是存储在多个动态映射表中。其中,动态缓存单元22可以包括例如1条逻辑地址和物理地址的映射关系配对。不同的主机数据对动态缓存单元22的占用空间也不同。其中,不同的存储器1中,缓存区20的大小和动态缓存单元22的大小都有不同。因此在步骤S13和步骤S14中,判断缓存区20是否有充足的空间存储主机数据的地址映射信息,既能防止地址映射信息出现丢失,也有利于掉电前数据的存储。
请参阅图1、图5和图7所示,在本发明一实施例中,在步骤S13中,在一级映射存储单元12中建立一级映射表。在步骤S14中,判断缓存区20是否有足够的动态缓存单元22,再随机释放部分动态缓存单元22的存储空间。具体地,步骤S14包括步骤S141至步骤S144。
步骤S141、根据动态缓存单元的总数,设置预设阈值。
步骤S142、判断剩余的动态缓存单元的数量是否小于预设阈值。
步骤S143、将部分动态映射表的地址映射信息转移至一级映射表中。
步骤S144、清除被转移信息的动态映射表。
请参阅图1、图5和图7所示,在本发明一实施例中,在步骤S141中,将预设阈值设置为动态缓存单元22总数的例如1/5至1/4。其中,动态缓存单元22的总数为例如2000条至4000条,具体的,动态缓存单元22可以是例如2000条。则预设阈值可以设置为例如400条至500条,具体的,预设阈值可以是例如400条。在步骤S142中,在存储最新的动态映射表之前,当动态缓存单元22的数量小于等于例如400个时,则认为当前的动态缓存单元22存储空间不足,在当前的动态映射表存储完成后,执行步骤143,清理出足够使用的动态缓存空间,以保证数据的地址地址映射信息不会丢失,能够被完整储存。在步骤S143中,将部分动态映射表的地址映射信息转移至一级映射表中。其中,选取部分动态映射表时,将同一主机数据的地址映射信息同步转移至一级映射表中。例如,两类主机数据的体量为例如16KB和例如256KB。而闪存区10中,一个数据存储页面的大小为例如8KB,一个数据存储单元11的大小为例如32KB。则16KB的主机数据可以使用两个数据存储页面,其逻辑地址和物理地址的映射关系可以建立例如2个动态映射表,而例如2个动态映射表可以占据例如2个动态缓存单元22。在释放动态缓存单元22时,应同时选中这2个动态缓存单元22。同理,例如256KB的主机数据可以存储在例如8个数据存储单元11中,其逻辑地址和物理地址的映射关系可以建立例如16个动态映射表,而例如16个动态映射表可以占据例如16个动态缓存单元22。在释放动态缓存单元22时,也应同时选中这16个动态缓存单元22。
请参阅图1、图5和图7所示,在本发明一实施例中,在步骤S143中,将动态映射表中的地址映射信息转移至一级映射表中后,原动态映射表尽管还存有配对数据,但是数据为空,因此在步骤S144中,清除信息已被转移的动态映射表。在本实施例中,可以以主机数据为单位分批转移动态映射表。每释放部分动态缓存单元22的空间,就返回步骤S142,再重新判断当前剩余的动态缓存单元22的数量是否小于预设阈值,直到当前剩余的动态缓存单元22的数量大于等于预设阈值,结束步骤S14,执行步骤S15。
请参阅图1、图4和图5所示,在本发明一实施例中,在步骤S15中,在二级映射缓存单元23中建立二级映射表。其中,在步骤S13中建立的一级映射表中可以存储多个逻辑地址和物理地址的映射关系配对。其中,一级映射表的逻辑地址和物理地址也是不同的。因此,在步骤S16中3,将一级映射表存储的物理地址和逻辑地址的映射关系配对存储在二级映射表中。如图2所示,若主机数据的地址映射信息存在一级映射表中,在将动态映射表中的地址映射信息转移后,要调取对应的主机数据,先从二级映射表中找到对应的一级映射表的物理地址。找到一级映射表后,从一级映射表中找到主机数据的物理地址。主机2根据主机数据的物理地址,从对应的数据存储单元11中调取出对应的主机数据。如图2所示,若主机数据的地址映射信息存在动态映射表中,在调取主机数据时,直接在动态缓存单元22找到对应的动态映射表,从动态映射表中找到主机数据的物理地址。根据主机数据的物理地址从数据存储单元11中找到主机数据。在本实施例中,主机数据可以是写入闪存区10的数据。在本发明的其他实施例中,主机数据也可以是写入缓存区20的数据,具体的,获得主机数据的物理地址后,可以从数据缓存单元21中调取对应的主机数据。
请参阅图1和图4所示,在本发明一实施例中,在步骤S10中,主机数据的地址映射信息可以存储在缓存区20中,也可以存储在闪存区10中。而读写主机数据的过程中,若是发生异常掉电,那么缓存区20中的全部信息将丢失,并难以恢复。因此,本发明提供的存储器的控制方法还包括步骤S20。
步骤S20、根据地址映射表获取快照信息,并将快照信息存储在缓存区。
请参阅图1和图4所示,在本发明一实施例中,在本实施例中,快照信息包括动态映射表和二级映射表。本发明中,将快照信息存储在缓存区20中,具体的,将快照信息存储在快照缓存单元24中。其中,每次写入主机数据后,动态映射表和二级映射表都可能被更新。因此,缓存区20中的快照信息的更新频率与主机数据的读出或写入的频率保持一致。其中,当写入主机数据时,根据步骤S10和步骤S20更新快照信息。但读出主机数据时,首先确认主机数据的地址映射信息处于闪存区10中还是缓存区20中。当主机数据的地址映射信息处于缓存区20中,则在调取主机数据的同时,调出对应的动态映射表。在本实施例中,清除对应的动态映射表。并在主机数据被重新写入时,将主机数据作为新的数据,重新根据步骤S10和步骤S20重新写入存储器1。当主机数据的地址映射信息处于闪存区10中,则在调取主机数据的同时,调出对应的一级映射表,再清除对应的一级映射表。后根据步骤S10和步骤S20,将被编辑的主机数据作为新数据重新写入存储器1中,从而提升数据读出后地址映射信息被修改的正确性,减少错误发生。在本发明的其他实施例中,在读出主机数据时,也可以不清除对应的地址映射表。具体地,在调取主机数据中的部分数据时,可以调取出主机数据的整体地址映射表,而只对相关数据的逻辑地址和物理地址的映射关系配对进行更改。即,仅更改一级映射表或动态映射表中对应的映射关系配对,不删除完整的表单,从而提升数据处理的效率和时效性。
请参阅图1、图4和图5所示,在本发明一实施例中,在步骤S11中,对存储器1写入主机数据时,数据存储单元11可能没有足够的存储空间来存储主机数据,因此需要调用其他的数据存储单元11。本发明提供的存储器的控制方法还包括步骤S30。
步骤S30、根据闪存区中存储块被调用的顺序,获取数组信息并将数组信息存储于闪存区。
请参阅图1至图4,以及图8所示,在本发明一实施例中,在步骤S30中,数据存储单元11可以是闪存区10的物理区块。在闪存区10进行数据的读写时,首先随机调用数据存储单元11中空白的存储块100,再将数据按照存储页的顺序有序地写入数据存储单元11中。其中,写满的存储块100被设置在被占用存储区111,剩余的存储块100则被设置在空白存储区112。因此,在步骤S30中,记录存储块100被调用的顺序,并形成数组信息。具体的,步骤S30包括步骤S31至步骤S43。
步骤S31、判断当前的存储块是否足以存储主机数据,若当前的存储块足以存储主机数据,则执行步骤S36,若当前的存储块不足以存储主机数据,则执行步骤S32至步骤S35。
步骤S32、从空白存储区中随机调取空白的存储块,将主机数据存储于空白的存储块中。
步骤S33、根据调取存储块的顺序和被调取存储块的编号,形成编号数据。
步骤S34、将编号数据写入数组信息中,并增加数组信息的有效数据个数。
步骤S35、将数组信息存储在闪存区,并执行步骤S40。
步骤S36、将主机数据写入当前的存储块中,并执行步骤S40。
请参阅图1至图4,以及图8所示,在本发明一实施例中,在步骤S11中,对存储器1写入主机数据后。具体的,在步骤S11中,可以是主机2向存储器1发出写入主机数据的信号,而尚未写入主机数据。在步骤S31中,判断当前的存储块100是否足以存储主机数据,若当前的存储块100足以存储主机数据,则执行步骤S36,将主机数据写入当前的存储块100中。在本实施例中,随机调取的存储块100,在将被调取的存储块100写满后,才会调取新的存储块100。因此,当前的存储块100指的是时间顺序上最近一个被写的存储块100。其中,当前的存储块100可以是被写满的,也可以是被写入了部分数据的。在步骤S36中,将主机数据写入当前的存储块100。当前的存储块100可以是被写满的,也可以是被占据部分存储页。例如,存储块100包括8个存储页,而主机数据需要占据例如2个存储页。当前的存储块100的剩余存储页要大于等于例如2个存储页,才能执行步骤S36。若是当前的存储块100的剩余存储页小于例如2个存储页,则不能完全将主机数据写入当前的存储块100中,因此执行步骤S32。其中,步骤S32具体包括步骤S321至步骤S324。
步骤S321、判断当前的存储块是否被写满,若是存储块未被写满,则执行步骤S322,若是存储块已被写满,则执行步骤S324。
步骤S322、将主机数据拆分为第一部分数据和第二部分数据,其中第一部分数据的大小与当前存储块的剩余空间大小一致。
步骤S323、将第一部分数据存储入当前的存储块中,将第二部分数据存储入新申请的空白的存储块中。
步骤S324、将主机数据写入新申请的空白的存储块中。
请参阅图1至图4,以及图8和图9所示,在本发明一实施例中,在步骤S32中,从空白存储区112中随机调取空白的存储块100,并将主机数据存储于空白的存储块100中。在步骤S321中,判断当前的存储块100是否被写满。若是当前的存储块100未被写满,则在步骤S322中,将主机数据拆分为第一部分数据和第二部分数据,其中第一部分数据的大小与当前的存储块100的剩余空间大小一致。在步骤S323中,将第一部分数据存储在当前的存储块100中,以填满当前的存储块100。在本实施例中,将填满后的存储块100转移至被占用存储区111中。其中,将第二部分数据存储在新申请的空白的存储块100中。若是被拆分的第二部分数据的大小仍旧大于新申请的存储块100的大小,则同样地执行步骤S31和步骤S35,直到将主机数据全部写入存储器1中。在步骤S324中,若是当前的存储块100已被写满,则从空白存储区112中申请新的存储块100,作为当前的存储块100,并重新执行步骤S321至步骤S324,直到将主机数据全部写入存储器1中。
请参阅图1至图4,以及图8所示,在本发明一实施例中,在步骤S33中,主机2每向存储器1申请调取一次空白的存储块100,就获取一次编号数据。其中,编号数据包括被申请调取的存储块100的器件编号和存储块100被调用的顺序编号。其中,在存储器1中,每个存储块100有且仅有唯一的器件编号。存储块100的顺序编号指的是在本轮数组周期内数组信息中存储块100被调用的顺序编号。其中,以数组信息中的有效数据个数置零操作之间的有效数据个数为一个数组周期。而每调用一个存储块100,就根据本轮数组周期内,存储块100被调用的顺序来赋予存储块100顺序编号。在步骤S34中,将编号数据写入数组信息中,并增加数组信息的有效数据个数。在本实施例中,数组信息包括多个编号数据,且数组信息中的编号数据根据存储块100的顺序编号进行排列。其中,有效数据指的是本轮数组周期内写入的编号数据。再于步骤S35中,将数组信息存储在闪存区10。具体的,将数组信息存储在数组存储单元14。在本实施例中,数组周期内包括例如6个编号数据,6个编号数据例如是<1a,2c,3z,4k,5g,6d>。其中字母代表存储块100的器件编号,在本实施例中仅用作示意,不限定存储器1在实际应用中的编号数据。其中数字代表存储块100被调用的顺序编号。其中,顺序编号也可以是其他能够代表调用顺序的表现方式,本发明对此不作限定。
请参阅图1至图4,以及图8所示,在本发明一实施例中,本发明提供的存储器的控制方法还包括步骤S40,且步骤S40包括步骤S41至步骤S43。
步骤S40、当数组信息中存储块的有效个数达到预设阈值,将快照信息转移至闪存区,并重新获取数组信息。
步骤S41、判断数组信息中的有效数据个数是否达到预设阈值,若是数组信息中的有效数据个数达到预设阈值,则执行步骤S42,若数组信息中的有效数据个数未达到预设阈值,返回步骤S11。
步骤S42、将快照信息从缓存区转移至闪存区。
步骤S43、将数组信息中的有效数据个数置零。
请参阅图1至图4,以及图8所示,在本发明一实施例中,在步骤S41中,判断数组信息中的有效数据个数是否达到预设阈值。其中,预设阈值是根据数组信息内存储的数据个数以及快照信息的更新频率确定的。其中,预设阈值小于数组信息中的数据个数,以保证数组信息能够被完整记录,避免快照信息转移到闪存区10时,新的被调用的存储块100不能被记录入数组信息中。在本实施例中,数组信息包括例如6个编号数据,则预设阈值可以是设置为例如5。当数组信息中的有效数据达到5个,就可以执行步骤S42,将快照信息从缓存区20转移至闪存区10。并在步骤S43中将数组信息的有效数据个数置零。具体的,将两次步骤S43之间作为一次数组周期。在本实施例中,数组信息包括多个有效数据位和多个余量位。其中有效数据位和余量位的比值可以是例如1:1~3:2。具体的,当存储页的存储容量为例如512B时,则有效数据位和余量位的比值可以是例如1:1~5:4。使用更多的余量位,可以避免在多个存储块100被连续调用时,部分被调用的存储块100未被数组信息记录,提升数组信息记录的准确性。在此实施例中,存储页的存储容量为例如2KB时,则有效数据位和余量位的比值可以是例如5:4~3:2,使用更多的有效数据位,以降低对闪存区10中存储空间的占用。
请参阅图1至图4,以及图8所示,在本发明一实施例中,相邻的两个数组周期内,新的数组周期的编号数据覆盖距离当前编号数据时间跨度最大的上一数组周期的编号数据。例如,这一轮数组周期中的数组信息包括<1a,2c,3z,4k,5g,x>,其中x代表在将数组信息中的有效数据个数置零时,没有新的存储块100被调用,因此还未被写入新的编号数据。此时数组再继续写入下一轮数组周期的编号数据。在本实施例中,写入新一轮数组周期的编号数据,可以用新的编号数据去覆盖最老的编号数据。例如,当前新的编号数据包括1h、2j和3n。则用1h替代1a,用2j替代2c,用3n替代3z。这一轮的数值周期中,当前的数组信息例如为<1h,2j,3n,4k,5g,x>,此时记录的数组周期的有效数据个数为3。具体的,可以根据顺序编号进行对应的替代,新的1号位替代老的1号位,直到新的5号位替代旧的5号位,再次触发快照信息的转移以及有效数据个数的置零,以此类推。其中,x位置可以设置为余量位。当指令传递和执行存在时间误差,在有效数据个数尚未置零,而新的编号数据已形成。此时不能用新的编号数据替代旧的编号数据,两个数组周期之间存在交叉,则将新的编号数据写入数组信息的余量位。例如数组信息可以是<1a,2c,3z,4k,5g,1h>。在完成有效数据的个数置零后,再进行数据的替换,具体的,用1h替换1a,形成数组信息<1h,2c,3z,4k,5g,x>。后续的数据继续按照顺序编号的号位进行替换。在本发明中,不对余量位的数量进行限定,其中余量位的数量小于预设阈值。
请参阅图1至图4,以及图8所示,在本发明另一实施例中,在完成当前数组周期的有效数据个数的清零后,可以将数组信息的编号数据进行清零。例如这一轮数组周期中的数组信息包括<1a,2c,3z,4k,5g,x>。在步骤S43后,不仅数组信息的有效数据个数被清零,数组信息的编号数据也清除,此时数组信息例如为<y,y,y,y,y,x>。其中y为有效数据位,x为余量位。写入新一轮的编号数据时,根据写入顺序,将编号数据写入有效数据位。例如,新一轮的编号数据包括1h、2j和3n,得到的数组信息为<1h,2j,3n,y,y,x>。其中,当指令传递和执行存在时间误差,则将新的编号数据写入数组信息的余量位。在本实施例中,进行编号数据的清除时,仅清除有效数据位的编号数据。例如,新一轮预先写入的编号数据为1h,则数组信息可以是<y,y,y,y,y,1h>。编号数据清零后,再将余量位的编号数据调换至对应的有效数据位,例如<1h,y,y,y,y,x>。
请参阅图1至图4所示,在本发明一实施例中,本发明提供的存储器的控制方法包括步骤S50。
步骤S50、当存储器出现异常状态,根据快照信息恢复存储器的一部分数据,并根据数组信息读取闪存区的存储数据,恢复存储器的另一部分数据。
请参阅图1至图4和图10所示,在本发明一实施例中,在步骤S50中,存储器1若出现异常状态,例如 发生异常掉电,一级映射表位于闪存区10中,在异常掉电的情况下也能够不丢失。而二级映射表和动态映射表存储在缓存区20中,当发生异常掉电,上电后二级映射表和动态映射表是难以被恢复的。其中,存储于闪存区10中的快照信息也能够被保留,因此,在步骤S50中,根据快照存储单元13中的快照信息就可以对存储器1的部分数据进行恢复。而位于缓存区20的快照信息,即当前这一轮数组周期内的快照信息就会随着异常掉电丢失。因此,步骤S50具体包括步骤S51至步骤S57。
步骤S51、根据快照存储单元中的快照信息,恢复缓存区对应区域的存储信息。
步骤S52、根据数组信息的编号数据,按照顺序读取编号数据对应的存储块。
步骤S53、获取存储块中的存储数据,并根据存储数据的地址映射信息,在缓存区建立动态映射表。
步骤S54、根据缓存区是否有足够的动态缓存单元,建立一级映射表和二级映射表。
步骤S55、获取存储块的有效数据个数。
步骤S56、判断存储块的有效数据个数是否为零,若为零,则执行步骤S57,若不为零,则结束步骤S50。
步骤S57、清空存储块内的存储数据。
请参阅图1至图4和图10所示,在本发明一实施例中,在步骤S51中,关于快照信息的存储,快照信息被存储在存储器1的固定物理地址,快照存储单元13可以是地址固定的,以便于上电时被准确调取。具体的,快照存储单元13包括二级映射表存储模块131和动态映射表存储模块132。二级映射表存储在二级映射表存储模块131中,动态映射表存储在动态映射表存储模块132中。在本实施例中,闪存区10中快照信息的更新,每一次更新的快照信息就覆盖上一周期的快照信息。在后续进行部分数据读取的情况下,能够大量节省上电时所耗费的时间。其中,将二级映射表存储模块131中存储的二级映射表转移至二级映射缓存单元23中,将动态映射表存储模块132中的动态映射表转移至动态缓存单元22中。
请参阅图1至图4和图10所示,在本发明一实施例中,在步骤S52中,在数组信息中存储的编号数据对应的是本轮数组周期内的存储块100的数据。可以根据编号数据中的顺序编号,依次从对应的存储块100中读出存储数据。并在步骤S53中,在读出存储数据的同时,根据存储数据的逻辑地址和物理地址之间的映射关系,重新在缓存区20的动态缓存单元22中建立动态映射表。其中步骤S54和步骤S10中建立一级映射表和二级映射表的过程一致,在这个过程中,恢复动态映射表、一级映射表和二级映射表。在步骤S55中,恢复地址映射表后,根据动态映射表和一级映射表中存储的逻辑地址,在存储器1中的存储块100中对应找到物理地址,每找到一次物理地址,就将对应的存储块100的有效数据个数加一,直到遍历地址映射表中的逻辑地址。在步骤S56中,判断存储块100的有效数据个数是否为零。当存储块100的有效数据个数为零,直接清空存储块100的存储数据,释放出存储块100的存储空间。
请参阅图1至图4和图12所示,本发明还提供了一种存储器的存储系统3,存储系统3可以是一种基于闪存的数据存储设备。例如SSD、嵌入式SSD(eSSD)、通用闪速存储器(UFS)、MMC、嵌入式MMC(eMMC)或受管理的NAND,但是本发明构思不限于这些示例。在本实施例中,存储系统3包括映射表生成单元31、快照信息生成单元32、数组信息生成单元33、快照信息转移单元34和上电数据恢复单元35。其中,映射表生成单元31用于对存储器1写入数据,并根据被写入数据的地址映射信息,获取多个地址映射表,其中地址映射表被存储在存储器1的闪存区10或缓存区20。快照信息生成单元32用于根据地址映射表获取快照信息,并将快照信息存储在缓存区20。数组信息生成单元33用于根据闪存区10中存储块100被调用的顺序,获取数组信息并将数组信息存储于闪存区10。快照信息转移单元34用于在数组信息中的有效数据个数达到预设阈值时,将快照信息转移至闪存区10,并重新获取数组信息。上电数据恢复单元35用于在存储器1发生异常掉电时,根据快照信息恢复存储器1的一部分数据,并根据数组信息读取闪存区10的存储数据,恢复存储器1的另一部分数据。
本发明提供了一种存储器及其控制方法与存储系统,能够在主机对存储器的闪存区写入数据时,对被写入数据的逻辑地址和物理地址的映射关系进行管理,并具有应对异常掉电后的上电数据恢复能力。具体的,存储器的闪存区被写入数据后,根据被写入数据的逻辑地址和物理地址的映射关系,形成动态映射表,并将动态映射表存储在存储器的缓存区中。再根据当前缓存区空白的动态缓存单元的存储空间是否足够,判断是否将部分动态映射表的信息转移至闪存区中。具体的,若当前缓存区空白的动态缓存单元的存储空间不足,在闪存区中建立一级映射表,并将部分动态映射表中的地址映射信息转移至一级映射表中,并释放对应动态缓存单元的存储空间。再根据建立的一级映射表的逻辑地址和物理地址的映射关系,在缓存区中建立二级映射表。在形成地址映射表后,根据闪存区中二级映射表和动态映射表生成快照信息。其中,在调用存储块时,为存储块被调用的顺序赋予顺序编号,并结合存储块的器件编号,获得数组信息。每当数组信息中的有效数据个数到达阈值,将快照信息转移至闪存区。当存储器出现异常状态,例如发生异常掉电时,可以根据快照信息直接恢复存储器的部分数据,再根据数组信息读取闪存区以恢复存储器的另一部分数据。
以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种存储器的控制方法,其特征在于,包括以下步骤:
对存储器写入数据,并根据被写入数据的地址映射信息,获取多个地址映射表,其中所述地址映射表被存储在所述存储器的闪存区或缓存区;
根据所述地址映射表获取快照信息,并将所述快照信息存储在所述缓存区;
根据所述闪存区中存储块被调用的顺序和所述存储块的编号,形成编号数据,记录所述存储块被调用的顺序,形成数组信息并将所述数组信息存储于所述闪存区,将所述编号数据写入所述数组信息中,并增加所述数组信息的有效数据个数,其中,所述数组信息包括多个所述编号数据,且根据所述存储块被调用的顺序对所述数组信息中的所述编号数据进行排列;
当所述数组信息的有效数据个数达到预设阈值,将所述快照信息转移至所述闪存区,并重新获取所述数组信息;以及
当所述存储器出现异常状态时,根据存储在所述闪存区的所述快照信息,在所述缓存区恢复与所述快照信息对应的所述地址映射表,并读取所述编号数据对应的所述存储块,根据所述存储块中存储数据的地址映射信息,在所述缓存区中建立动态映射表,并根据所述缓存区是否有足够的动态缓存单元,建立一级映射表和二级映射表。
2.根据权利要求1所述的一种存储器的控制方法,其特征在于,获取所述地址映射表的步骤包括:
根据所述被写入数据的逻辑地址和物理地址的映射关系配对,获得动态映射表,并将所述动态映射表存储于所述缓存区;
在所述闪存区建立一级映射表,并将部分所述动态映射表的地址映射信息转移至所述一级映射表;以及
根据所述一级映射表的地址映射信息,在所述缓存区建立二级映射表。
3.根据权利要求2所述的一种存储器的控制方法,其特征在于,当所述缓存区的存储单元数量小于转移阈值,将部分所述动态映射表的地址映射信息转移至所述一级映射表。
4.根据权利要求3所述的一种存储器的控制方法,其特征在于,所述快照信息包括所述二级映射表和所述动态映射表。
5.根据权利要求1所述的一种存储器的控制方法,其特征在于,获取所述数组信息的步骤包括:
当数据写满所述存储块后,调取下一个所述存储块;
获取被调用存储块的编号数据,其中所述编号数据包括所述被调用存储块的器件编号和顺序编号;以及
按照所述顺序编号,排列所述被调用存储块的编号数据,获得数组信息。
6.根据权利要求5所述的一种存储器的控制方法,其特征在于,重新获取所述数组信息的步骤包括:
将所述数组信息的有效数据个数清零,并以两次清零所述有效数据个数的间隔为数组周期;
在每个所述数组周期内,根据被调用的所述存储块的顺序,设置所述顺序编号;
在下一所述数组周期内,用所述顺序编号相同的所述编号数据替换上一所述数组周期内的所述编号数据。
7.根据权利要求6所述的一种存储器的控制方法,其特征在于,获取所述数组信息的步骤包括:
设置有效数据位和余量位;
将本轮所述数组周期内的所述编号数据存储于所述有效数据位;
将下轮所述数组周期内的所述编号数据存储于所述余量位;以及
根据所述顺序编号,将所述余量位的所述编号数据转移至对应的所述有效数据位。
8.根据权利要求7所述的一种存储器的控制方法,其特征在于,所述有效数据位按照所述顺序编号进行排序。
9.一种存储器的存储系统,其特征在于,包括:
映射表生成单元,用于对存储器写入数据,并根据被写入数据的地址映射信息,获取多个地址映射表,其中所述地址映射表被存储在所述存储器的闪存区或缓存区;
快照信息生成单元,用于根据所述地址映射表获取快照信息,并将所述快照信息存储在所述缓存区;
数组信息生成单元,用于根据所述闪存区中存储块被调用的顺序和所述存储块的编号,形成编号数据,记录所述存储块被调用的顺序,形成数组信息并将所述数组信息存储于所述闪存区,将所述编号数据写入所述数组信息中,并增加所述数组信息的有效数据个数,其中,所述数组信息包括多个所述编号数据,且根据所述存储块被调用的顺序对所述数组信息中的所述编号数据进行排列;
快照信息转移单元,用于在所述数组信息中存储块的有效个数达到预设阈值时,将所述快照信息转移至所述闪存区,并重新获取所述数组信息;以及
上电数据恢复单元,用于在所述存储器出现异常状态时,根据存储在所述闪存区的所述快照信息,在所述缓存区恢复与所述快照信息对应的所述地址映射表,并读取所述编号数据对应的所述存储块,根据所述存储块中存储数据的地址映射信息,在所述缓存区中建立动态映射表,并根据所述缓存区是否有足够的动态缓存单元,建立一级映射表和二级映射表。
10.一种存储器,其特征在于,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~8任一所述的存储器的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211223996.3A CN115291815B (zh) | 2022-10-09 | 2022-10-09 | 一种存储器及其控制方法与存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211223996.3A CN115291815B (zh) | 2022-10-09 | 2022-10-09 | 一种存储器及其控制方法与存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115291815A CN115291815A (zh) | 2022-11-04 |
CN115291815B true CN115291815B (zh) | 2023-03-24 |
Family
ID=83833418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211223996.3A Active CN115291815B (zh) | 2022-10-09 | 2022-10-09 | 一种存储器及其控制方法与存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115291815B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904235A (zh) * | 2022-11-11 | 2023-04-04 | 深圳市数存科技有限公司 | 一种数据生命周期管理方法及装置 |
CN116303118B (zh) * | 2023-05-18 | 2023-09-05 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
CN116540950B (zh) * | 2023-07-05 | 2023-09-29 | 合肥康芯威存储技术有限公司 | 一种存储器件及其写入数据的控制方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949220B (zh) * | 2020-09-03 | 2023-12-08 | 合肥沛睿微电子股份有限公司 | 存储设备异常断电恢复方法及存储设备 |
CN112988467B (zh) * | 2021-04-19 | 2021-09-14 | 深圳市安信达存储技术有限公司 | 一种固态硬盘及其数据恢复方法和终端设备 |
CN114968104A (zh) * | 2022-05-27 | 2022-08-30 | 合肥康芯威存储技术有限公司 | 一种数据存储设备的数据写入方法与系统及数据存储设备 |
-
2022
- 2022-10-09 CN CN202211223996.3A patent/CN115291815B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115291815A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115291815B (zh) | 一种存储器及其控制方法与存储系统 | |
US11068391B2 (en) | Mapping table updating method for data storage device | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
US8706989B2 (en) | Data storage device with power-off recovery system and method thereof | |
KR100843543B1 (ko) | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 | |
CN109977034B (zh) | 数据储存装置以及非挥发式存储器操作方法 | |
US20080028132A1 (en) | Non-volatile storage device, data storage system, and data storage method | |
CN105718530B (zh) | 文件存储系统及其文件存储控制方法 | |
US10168940B2 (en) | Data storage using SLC and TLC memory banks and data maintenance method thereof | |
CN105122220A (zh) | 固态驱动器中的原子写入命令支持 | |
US8296503B2 (en) | Data updating and recovering methods for a non-volatile memory array | |
CN115599578A (zh) | 一种存储器及其控制方法与存储系统 | |
KR20180126118A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN108170614B (zh) | 一种避免数据重复回收的方法、装置及固态硬盘 | |
CN112130749B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US11307979B2 (en) | Data storage device and non-volatile memory control method | |
CN114968096A (zh) | 一种存储器的控制方法、存储器与存储系统 | |
EP2264602A1 (en) | Memory device for managing the recovery of a non volatile memory | |
CN116540950B (zh) | 一种存储器件及其写入数据的控制方法 | |
JP4661369B2 (ja) | メモリコントローラ | |
US10430288B2 (en) | Data backup method, data recovery method and storage controller | |
US20190361608A1 (en) | Data storage device and operation method for recovery, and storage system having the same | |
US11436105B2 (en) | Data processing method and memory controller utilizing the same | |
CN115202579A (zh) | 一种存储器数据保存方法和系统 | |
CN113535089B (zh) | 用于ssd的映射表的刷新方法 |
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 |