CN108509295A - 存储器系统的操作方法 - Google Patents
存储器系统的操作方法 Download PDFInfo
- Publication number
- CN108509295A CN108509295A CN201711243029.2A CN201711243029A CN108509295A CN 108509295 A CN108509295 A CN 108509295A CN 201711243029 A CN201711243029 A CN 201711243029A CN 108509295 A CN108509295 A CN 108509295A
- Authority
- CN
- China
- Prior art keywords
- list
- data
- memory
- memory area
- mapping
- 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
Links
Classifications
-
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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
- 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
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
- G06F3/065—Replication mechanisms
-
- 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/0653—Monitoring 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Abstract
本发明涉及一种用于操作存储器系统的方法,包括:在访问包括在用于数据存储的第一列表之内的全部一个或多个第一存储器区域之后,更新第一存储器区域的映射数据;基于存储器系统的工作负载确定列表大小,并根据列表大小生成包括一个或多个第二存储器区域的第二列表;以及在更新映射数据之后,访问用于数据存储的第二存储器区域。
Description
相关申请的交叉引用
本申请要求于2017年2月23日向韩国知识产权局提交的申请号为10-2017-0023891的韩国专利申请的优先权和权益,其全部内容通过引用并入本文。
技术领域
各种实施例一般涉及半导体存储器系统,并更具体地涉及包括非易失性存储器装置的存储器系统及其操作方法。
背景技术
半导体技术存储器系统,也简称为存储器系统,可响应于写入请求存储由外部装置提供的数据。存储器系统也可响应于读取请求将存储的数据提供到外部装置。外部装置可为任何电子装置。外部装置可为存储器系统附接到或嵌入其中的主机电子装置。使用用于存储数据的存储器系统的外部装置的示例包括台式计算机、便携式计算机、平板电脑、数码相机、移动电话、智能电话、电子记事本、电子书阅读器等。存储器系统可在外部装置的制造期间被嵌入外部装置,也可被单独制造并随后连接到外部装置。
发明内容
本发明提供一种改进的用于采用一个或多个存储器装置的存储器系统的操作方法。该操作方法可保证比现有装置更高的数据可靠性。此外,可提高一个或多个存储器装置的使用效率。
在一个实施例中,用于操作存储器系统的方法可包括:在访问包括在用于数据存储的第一列表内的全部一个或多个第一存储器区域之后,更新第一存储器区域的映射数据;基于存储器系统的工作负载确定列表大小,并且基于列表大小生成包括一个或多个第二存储器区域的第二列表;以及在更新映射数据之后,访问用于数据存储的第二存储器区域。
在一个实施例中,用于操作存储器系统的方法可包括:基于存储器系统的工作负载确定列表大小,并根据列表大小生成包括一个或多个存储器区域的列表;在访问用于数据存储的存储器区域之前,在记录区域中记录列表;以及在访问用于数据存储的全部存储器区域之后,更新存储器区域的映射数据。
在一个实施例中,用于操作存储器系统的方法可包括:在访问包括在用于数据存储的第一列表内的一个或多个第一存储器区域之前,在记录区域中记录第一列表;在访问用于数据存储的全部第一存储器区域之后,更新第一存储器区域的映射数据;以及在访问包括在用于数据存储的第二列表内的一个或多个第二存储器区域之前,在记录区域中记录第二列表,其中,继映射数据的更新之后记录第二列表。
附图说明
通过基于附图对本发明多个实施例的描述,本发明的上述或其他特征及优点对本领域技术人员来说将变得更加清楚,其中:
图1是示出根据本发明实施例的存储器系统的框图;
图2是示出操作图1所示存储器系统的方法的示图;
图3是示出映射数据的状态的示图;
图4是示出当非正常断电发生时映射数据恢复工作的示图;
图5是示出确定映射数据丢失范围的方法的示图;
图6A是示出列表大小和存储器系统的性能之间关系的示图;
图6B是示出列表大小和最大映射数据恢复范围之间关系的示图;
图7是示出基于存储器系统的工作负载确定列表大小的方法的示图;
图8是示出基于存储器系统的工作负载确定列表大小的方法的示图;
图9是示出存储器区域损坏范围的恢复单元的恢复操作的示图;
图10是示出操作图1中列表生成单元的方法的流程图;
图11是示出操作图1所示记录单元的方法的流程图;
图12是示出操作图1所示映射管理单元的方法的流程图;
图13是示出非正常断电时图1所示恢复单元的恢复操作方法的流程图;
图14是示出依照实施例的固态驱动器(SSD)的框图;以及
图15是示出采用依照实施例的存储器系统的示例性数据处理系统的框图。
具体实施方式
下文将参考附图描述包括存储器系统及其操作方法的本发明的各种示例性实施例。然而,本发明可以不同形式实施并不应被认为限于本文说明的实施例。此外,提供这些实施例是为了足够详细的描述本发明,以使与本发明相关的本领域技术人员无需过度试验而实现本发明的技术概念。
应理解本发明的实施例不限于附图中所示细节,且附图不一定按比例绘制,同样在一些情况下,多种比例的附图可被放大以更清晰地描述本发明的某些特征或组件。此外,尽管使用了特定术语,应理解该术语的使用仅是为了描述特定实施例而不意图限制本发明的范围。
应进一步理解当特征或组件被提到“连接到”或“联接到”另一组件时,其可直接连接或联接到该另一组件或可存在一个或多个中间组件。此外,同样应理解当组件被提到在两个组件“之间”时,其可为该两个组件之间的唯一组件或也可存在一个或多个中间组件。
当本文中结合一列对象使用短语“…和…中的至少一个”时,其表示该列中任何单个对象或该列中对象的任意组合。例如,“A、B和C中的至少一个”表示仅A、仅B、仅C、或A、B和C的任意组合。
本文所使用的术语“或”表示两个或更多可选对象中的任一个但不是两个或其任意组合。
如在本文使用,单数形式意图同样包括复数形式,除非行文有明确相反说明。应进一步理解当本说明书中使用“包含”、“包括”、“含有”和“具有”时表示存在所述的原件,但不宜图排除一个或多个其他未提及元件的存在或附加。如在本文使用,术语“和/或”包括一个或多个相关列出条目的任意和全部组合。
除非有相反的定义,本文中使用的包括技术和科学术语的全部术语具有的含义与本发明相关领域内的普通技术人员参照本公开而一般地理解的含义相同。应进一步理解,如词典中一般使用的那些术语一样,这些术语应被理解为所具有的含义与本公开行文和相关技术中它们所具有的含义一致,并且除文中特别地限定外,其不应被理想化或过于形式上地理解。
在下文描述中,多个特定细节被说明以提供对本发明透彻的理解。本发明可在没有一些或全部这些具体细节的情况下实施。在其他情况下,没有详细描述公知的处理结构和/或处理器以避免不必要地模糊本发明。
同样应注意,在一些情况下,除非有明确相反说明,对相关领域技术人员来说,作为结合一个实施例描述的特征,原件可被单独使用或结合另一实施例的其他原件使用。
下文中,将参照附图详细描述本发明的多种实施例。
图1是示出根据本发明实施例的存储器系统10的框图。
存储器系统10可被用作任意适当电子装置的用于存储数据的数据存储。存储器系统10可被配置为响应于从外部装置接收的写入请求存储由外部装置提供的数据,该外部装置可操作地与存储器系统10联接。同样,存储器系统10可被配置为响应于从外部装置接收的读取请求向外部装置提供存储的数据。
例如,存储器系统10可被可操作地联接到或配置为个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒、多媒体卡(MMC、eMMC、RS-MMC和MMC-Micro)、各种安全数字卡(SD、Mini-SD和Micro-SD)、通用闪速存储器(UFS)、固态驱动器(SSD)等。
存储器系统10可包括控制器100和存储介质200。控制器100可包括处理器110和工作存储器120。控制器100可控制存储器系统10的操作,例如,存储器系统的前台和/或后台操作。前台和后台操作在此也可被称为一般操作。前台操作可包括,例如,读取和写入操作,而后台操作可包括刷新、损耗均衡、映射更新、垃圾收集操作。在一个实施例中,控制器100可控制存储器系统10的全部一般操作,然而,本发明不限于此方式。
处理器110可控制控制器100的一个或多个操作。例如,处理器110可响应于从外部装置接收的写入请求控制包括在存储介质200内的正常区域220的存储器区域MR1至MRi内数据的存储,并可响应于从外部装置接收的读取请求,读出存储器区域MR1至MRi内存储的数据并将被读出的数据输出至外部装置。
根据一个实施例,处理器110可首先访问用于存储数据的全部一个或多个第一存储器区域。第一存储器区域可包括在第一存储器区域列表内。第一存储器列表可包括一个或多个第一存储器区域,其适于为第一目的存储数据。然后,在访问全部一个或多个第一存储器区域并完成在全部一个或多个第一存储器区域内的数据存储之后,处理器110可更新第一存储器区域的映射数据并且基于存储器系统10的工作负载确定列表大小。处理器110可随后生成包括一个或多个第二存储器区域的第二存储器区域列表,该一个或多个第二存储器区域用于依照新确定的列表大小为第一目的存储数据。在更新第一存储器区域的映射数据之后,处理器110可访问用于存储数据的第二存储器区域。
根据一个实施例,处理器110可基于存储器系统10的工作负载确定列表大小,依照列表大小生成包括一个或多个存储器区域的存储器区域列表,在访问包括在用于数据存存储储器区域列表内的存储器区域之前记录存储器区域列表,并在访问用于数据存储的全部存储器区域之后更新存储器区域的映射数据。
根据一个实施例,处理器110可在访问包括在用于数据存储的第一存储器区域列表中的一个或多个第一存储器区域之前记录第一存储器区域列表,可在访问用于数据存储的全部第一存储器区域之后更新第一存储器区域的映射数据,并可在访问包括在用于数据存储的第二存储器区域列表之内的一个或多个第二存储器区域之前记录第二存储器区域列表。更新第一存储器区域的映射数据随后可记录第二存储器区域列表。第一存储器区域列表和第二存储器区域列表的大小可基于存储器系统10的工作负载,并可因工作负载的改变而不同。因此,第一存储器区域列表的大小可基于在记录第一存储器区域列表之前计算的存储器系统10的第一工作负载,而第二存储器区域列表的大小可基于在更新第一存储器区域的映射数据之后并在记录第二存储器区域列表之前计算的存储器系统10的第二工作负载。
处理器110可包括列表生成单元111、记录单元112、映射管理单元113和恢复单元114。
列表生成单元111可生成存储器区域列表。存储器区域列表可包括一个或多个存储器区域,其将被顺序地访问以用于数据存储。列表生成单元111可在被包括在在先存储器区域列表内的全部存储器区域被访问之前优先生成后续存储器区域列表。可替换地,列表生成单元111可在包括在先存储器区域列内的全部存储器区域被访问后生成后续存储器区域列表。列表生成单元111可依照损耗均衡策略选择将包括在存储器区域列表内的存储器区域。
特别地,列表生成单元111可基于存储器系统10的工作负载确定将被包括在存储器区域列表内的存储器区域的数量(即,列表大小)。由于存储器系统10的性能和非正常断电后的恢复时间相对于列表大小具有权衡关系,依照本实施例的列表生成单元111可考虑到这些因素而确定列表大小。将参考图6至8给出详细描述。
当包括在在先存储器区域列表内的全部存储器区域被访问时并且在包括在后续存储器区域列表内的存储器区域开始被访问前,记录单元112可在记录区域211内记录后续存储器区域列表。具体的,仅在在先存储器区域列表的映射数据121被映射管理单元113更新之后,记录单元112可在记录区域211内记录后续存储器区域列表。
同样,存储器区域每次被完全访问,也就是说,存储器区域每次被关闭时,记录单元112可在记录区域211内记录关于被关闭的存储器区域的信息。当在非正常断电后执行恢复操作时,记录区域211的记录可被用于确定恢复范围。将参考图2描述记录单元112的详细操作。
映射管理单元113可管理映射数据121,其中逻辑地址与物理地址被映射。逻辑地址可被外部装置使用以访问存储介质200,而物理地址可为存储介质200的实际地址。在映射数据121中,映射管理单元113可映射伴随来自外部装置的数据一起被提供的逻辑地址和所提供的数据被写入其中的正常区域220的物理地址。当外部装置请求伴随读取请求提供的逻辑地址的读取数据时,映射管理单元113可识别映射数据121中被映射到所提供的逻辑地址映射的物理地址,并读出所识别的物理地址的数据并将所读出的数据提供到外部装置。
映射管理单元113可生成与每次被存储在正常区域220的数据对应的映射数据121。也就是说,映射数据121可随着数据被存储到正常区域220而被更新。相反地,过期的存储介质200的映射数据区域212可被管理。相应地,映射管理单元113可基于最新映射数据121来更新被存储在映射数据区域212中的过期的映射数据。具体地,当包括在某一存储器区域列表内的全部存储器区域被访问时,映射管理单元113可将对应存储器区域的最新映射数据121反映(reflect)到映射数据区域212中。
同时,即使在映射数据121被反映到映射数据区域212之前,映射数据121可与对应数据一同被存储在正常区域220。如将在下文被描述,当映射数据121还没被反映到映射数据区域212并且由于非正常断电而被丢失时,映射数据121可基于被存储在正常区域220的映射数据121而被恢复。
恢复单元114可执行非正常断电的恢复操作。恢复单元114可通过追踪存储在记录区域211的记录来确定恢复范围。恢复单元114的恢复操作可包括映射数据的丢失范围的映射数据恢复工作和存储器区域的损坏范围的数据移动工作。将参考图5和9对恢复单元114的恢复操作进行详细描述。
工作存储器120可保持由映射管理单元113管理的映射数据121。如上文所述,可在预定的时间,即,当包括在对应存储器区域列表内的全部存储块已经被访问时,将最新的映射数据121复制在映射数据区域212中。
工作存储器120可为易失性存储器装置,如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。当发生断电时,易失性存储器装置丢失存储在其中的数据。
然而,根据实施例,工作存储器120可以是非易失性存储器装置,如闪速存储器,例如NAND闪存或NOR闪存,铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、电阻随机存取存储器(ReRAM)等。
在控制器100的控制下,存储介质200可存储从控制器100传输的数据,可读出被存储的数据并且将读出的数据传输到控制器100。存储介质200可包括元区域210和正常区域220。
元区域210可存储包括存储器系统10的操作所必要的各个操作数据的元数据。元区域210可包括其中通过记录单元112存储记录的记录区域211,以及其中通过映射管理单元113存储映射数据的映射数据区域212。
正常区域220可存储除了被存储在元区域210的元数据之外的从外部装置传输的正常数据。正常区域220可包括多个存储器区域MR1至MRi,且可为正常区域220的这些存储器区域MR1至MRi生成存储器区域列表。
同时,存储介质200可包括一个或多个非易失性存储器装置。包括在正常区域220的每个存储器区域MR1至MRi可存在于一个或多个非易失性存储器装置中。例如,每个存储器区域可包括存储块,其在各个易失性存储器装置中具有相同的地址。存储块可以是对非易失性存储器装置的擦除操作的单元。存储块可包括多个页面,每个页面包括连接到相同字线的存储器单元。
图2是示出操作图1所示存储器系统10的方法的示图。图2示出依照访问第一存储器区域列表LIST 1和第二存储器区域列表LIST 2的记录进程和映射数据更新进程。在图2中,生成第一存储器区域列表LIST 1和第二存储器区域列表LIST 2的进程被省略。
首先,在时间T1,记录单元112可在存储介质200的元区域210的记录区域211中记录第一存储器区域列表LIST 1。第一存储器区域列表LIST 1可包括将被顺序访问的存储器区域MR11至MR1m。第一存储器区域列表LIST 1的大小,即列表中存储器区域MR11至MR1m的数量,可依照下文描述的方法被确定。
在时间T2,存储器区域MR11可依照第一存储器区域列表LIST 1中安排的访问顺序被访问。当存储器区域MR11被关闭时,记录单元112可在记录区域211内记录关于存储器区域MR11的信息。关于存储器区域MR11的信息可以是存储器区域MR11的地址。当存储器区域被写满数据时,存储器区域被关闭。
从时间T3至时间T4,存储器区域MR12至MR1m可依照第一存储器区域列表LIST 1内安排的访问顺序被顺序地访问。每次存储器区域MR12至MR1m中的存储器区域被关闭,记录单元112可在记录区域211内记录关于被分别关闭的存储器区域的信息。
在时间T5,当全部存储器区域MR11至MR1m被访问时,映射管理单元113可基于存储在工作存储器120内的存储器区域MR11至MR1m的最新映射数据121来更新被存储在映射数据区域212中的过期映射数据。
在时间T6,记录单元112可在记录区域211中记录第二存储器区域列表LIST 2。第二存储器区域列表LIST 2可包括将被顺序地访问的存储器区域MR21至MR2n。第二存储器区域列表LIST 2的列表大小,即存储器区域MR21至MR2n的数量,可依照下文描述的方法被确定。
在时间T7,存储器区域MR21可依照第二存储器区域列表LIST 2内安排的访问顺序被访问。当存储器区域MR21被关闭时,记录单元112可在记录区域211内记录关于存储器区域MR21的信息。同样,第二存储器区域列表LIST 2内的每个区域被顺序访问,并且当每个存储器区域被关闭时,记录单元记录关于被关闭的各个存储器区域的信息。
例如,在时间T8,存储器区域MR22可依照第二存储器区域列表LIST 2内安排的访问顺序被访问。
如上文所述,参考图2,在时间T5处第一存储器区域列表LIST 1的映射数据的更新先于在时间T6处第二存储器区域列表LIST 2的记录。同样,如上文说明,当全部存储块被访问且随后存储在存储器120内更新的映射数据被复制到映射数据区域212。相应地,记录区域211内后续存储器区域列表的记录,可确保在先存储器区域列表的映射数据的更新被完成。
图3是示出在图2中时间T5和T8处的映射数据的状态的图表。
参考图3,在时间T5,当第一存储器区域列表LIST 1内包括的全部存储器区域MR11至MR1m已经被访问时,工作存储器120内存储的第一存储器区域列表LIST 1的映射数据MAP_LIST 1_N可以是最新的,这是因为当存储器区域MR11至MR1m被访问的同时他们被生成。最新的映射数据MAP_LIST 1_N可包括存储器区域MR11至MR1m的映射数据MAP_MR11_N至MAP_MR1m_N。相反地,第一存储器区域列表LIST 1的过期的映射数据MAP_LIST 1_O可包括第一存储器区域列表LIST 1被访问之前的映射信息。因此,映射数据区域212内存储的过期映射数据MAP_LIST 1_O可基于在工作存储器120内存储的最新的映射数据MAP_LIST 1_N被更新。例如,如上文说明,当第一存储器列表的存储器区域已经被访问并且在新的存储器区域列表被记录之前,工作存储器120内存储的更新的映射数据可被复制到映射数据区域212中。
同时,在时间T5,映射数据区域212可同样保持第二存储器区域列表LIST 2的映射数据MAP_LIST 2_O。映射数据MAP_LIST 2_O可包括在第二存储器区域列表LIST 2被访问之前的映射信息。因为其在第二存储器区域列表LIST 2被访问之前被访问,映射数据MAP_LIST2_O可仍为最新的。然而,在第二存储器区域列表LIST 2所包括的全部存储器区域MR21至MR2n被擦除的情况下,映射数据MAP_LIST2_O可以是过期的。
在时间T8,当第二存储器区域列表LIST 2内包括的存储器区域MR22被访问时,工作存储器120可保持第二存储器区域列表LIST 2的最新映射数据MAP_LIST 2_N。最新映射数据MAP_LIST 2_N可包括存储器区域MR21和MR22的映射数据MAP_MR21_N和MAP_MR22_N。然而,映射数据区域212内存储的映射数据MAP_MR21_O和MAP_MR22_O可以依然是过期的,因为其在最新映射数据MAP_LIST 2_N被复制之前被复制到映射数据区域。
图4是示出在图2和3的时间T8后发生非正常断电时的映射数据恢复工作的示图。
参考图4,在时间T8后的时间T9,当工作存储器120是易失性时,如果发生非正常断电,工作存储器120内存储的全部映射数据可被丢失。然而,在映射数据区域212内存储的映射数据MAP_LIST 1_N和MAP_LIST 2_O被保持。
在时间T10,恢复单元114可仅恢复第二存储器区域列表LIST 2的映射数据MAP_LIST 2_N。也就是说,因为在非正常断电时第二存储器区域列表LIST 2的存储器区域MR21和MR22的最新映射数据MAP_LIST 2_N还未被反映在映射数据区域212中,所以他们应该被恢复。然而,因为在非正常断电时第一存储器区域列表LIST 1的最新映射数据MAP_LIST 1_N未被反映(复制,更新)在映射数据区域212内,所述他们无需被恢复。
如上文所述,将为存储器区域MR21和MR22恢复的映射数据可与对应数据一起被存储在存储器区域MR21和MR22。恢复工作可通过收集存储在恢复范围内的映射数据而被执行,即存储器区域MR21和MR22。
随着将被恢复的映射数据的量变得更大,恢复工作存储器的映射数据需要更长时间。因此,优选地仅恢复要求恢复的数据量。在本实施例中,恢复单元114可确定映射数据恢复范围,即映射数据丢失范围。在图4中,映射数据丢失范围可为存储器区域MR21和MR22。如将在下文描述,映射数据丢失范围可通过追踪记录区域211而被有效确定。
图5是示出通过恢复单元114确定映射数据丢失范围的方法的示图。
参考图5,恢复单元114可检测记录区域211内最后记录的存储器区域列表。如果第二存储器区域列表LIST 2是记录区域211内被最后记录的,恢复单元114可确定在被认为在第二存储器区域列表LIST 2之前被记录的第一存储器区域列表LIST 1内包括的存储器区域MR11至MR1m的全部映射数据,其被更新到映射数据区域212。也就是说,如上文所述,因为在记录第二存储器区域列表LIST 2之前,第一存储器区域列表LIST 1的映射数据被更新到映射数据区域212,第二存储器区域列表LIST 2的记录可表示第一存储器区域列表LIST 1的映射数据被更新到映射数据区域212已完成。
此外,基于关于第二存储器区域列表LIST 2的信息和最后记录的存储器区域MR21,恢复单元114可检测最后记录的存储器区域MR21在非正常断电之前恰被关闭且紧随最后记录的存储器区域MR21之后的存储器区域MR22在非正常断电时被使用。因此,恢复单元114可确定存储器区域MR21和MR22的映射数据没被更新到映射数据区域212,并确定存储器区域MR21和MR22为映射数据丢失范围。
综上,恢复单元114可检测最后记录的存储器区域列表和记录区域211内最后记录的(即,最后关闭)存储器区域,并将最后记录的存储器区域列表内存储器区域中紧随最后关闭的存储器区域之后的一个区域确定为映射数据丢失范围。
下文将描述映射数据丢失范围和最后记录的存储器区域列表的列表大小。
图6A是示出列表大小和存储器系统10的性能之间关系的示图。图6B是示出列表大小和最大映射数据恢复范围之间关系的示图。
参考图6A,随着存储器区域列表的列表大小变得更大,存储器系统10的性能也可提高。这是因为,如果存储器区域列表所包括的存储器区域数量增加,存储器系统的映射数据更新被不那么频繁地执行。一般地,频繁的映射数据更新会降低存储器系统10的性能。
参考图6B,随着在非正常断电时最后记录的一个存储器区域列表的列表大小变得更大,最大映射数据丢失范围也可增加。最大映射数据丢失范围可以是最后记录的存储器区域列表内包括的全部存储器区域。这需要更长恢复时间以恢复更大映射数据丢失范围的存储器区域。一般地,不希望在存储器系统10的启动期间有更长的恢复进程。
综上,存储器系统10的性能和最大恢复时间与列表大小成权衡关系。也就是说,随着列表大小变得更大,存储器系统10的性能可增强,然而恢复时间可增加。在此情况下,如将在下文描述,列表生成单元111可基于存储器系统10的工作负载确定加强存储器系统10性能增强或短恢复时间之间的哪个效果需要被强调,并由此确定列表大小。
图7是示出基于存储器系统10的工作负载确定列表大小的方法的示图。
参考图7,列表生成单元111可基于分析存储器系统10的工作负载的结果来确定顺序写入操作或随机写入操作哪个将更频繁。当顺序写入操作比随机写入操作更频繁,列表生成单元111可确定列表大小为“Ns”,而当随机写入操作比顺序写入操作更频繁时确定列表大小为为“Nr”。“Ns”可等于或大于1且可等于或小于“Nr”。“Nr”可等于或大于“Ns”并且可等于或小于“Nsp”。“Nsp”可为在预定启动时间期间可处理的最大列表大小。
以这种方式确定列表大小的理由如下。首先,通过顺序写入操作(例如,大容量视频文件的数据片段)的数据写入一般相对难以改变,因此这类顺序写入操作的数据的映射数据可能不被频繁更新,即使具有小的列表大小的存储器区域列表,这表示即使具有小的列表大小的存储器区域列表的存储器系统10的性能下降可被避免。同时,当存储器区域的列表列表大小对于顺序写入操作的数据较小时,非正常断电发生时映射数据恢复时间将缩短。因此,当确定顺序写入操作比随机写入操作更频繁时,列表生成单元111可通过确定列表大小为“Ns”而专注于短映射数据恢复时间。
然而,通过随机写入操作写入的数据可能被相对频繁的改变。因为改变的数据应被写入存储器系统10内新的位置,数据的改变可导致对应映射数据的更新。因此,当随机写入操作被确定比顺序写入操作更频繁时,对于随机写入操作的数据优选大列表大小的存储器区域列表,从而避免映射数据的频繁更新,这表示避免具有大列表大小的存储器区域列表的存储器系统10的性能下降。因此,当确定随机写入操作比顺序写入操作更频繁时,列表生成单元111可以通过确定列表大小为“Nr”等于或大于”Ns”,以短映射数据恢复时间为代价而专注于提高存储器系统10的性能。
同时,根据实施例,如果确定顺序写入操作的频率与随机写入操作相同,列表生成单元111可确定“Ns”和“Nr”之间某一值为列表大小。
如图7所示,列表生成单元111可通过将单个值分配到每个顺序写入操作和随机写入操作来确定列表大小。与此不同,如在下文描述,列表生成单元111可通过分配多个值给每个顺序写入操作和随机写入操作来确定列表大小。
图8是示出基于存储器系统10的工作负载确定列表大小的另一方法的示图。
参考图8,列表生成单元111可基于存储器系统10的工作负载的分析结果确定顺序写入操作或随机写入操作哪个将更频繁以及顺序写入操作和随机写入操作哪个很频繁或略频繁。如上文所述,随着顺序写入操作的频率变大,列表生成单元111可确定更小的列表大小,而随着随机写入操作的频率变大,列表生成单元111可确定更大的列表大小。换句话说,当顺序写入操作的频率较强时,列表生成单元111可确定列表大小为“Ns1”等于或大于“1”,而当顺序写入操作的频率较弱时,确定为“Ns2”等于或大于“Ns1”。此外,当随机写入操作的频率较弱时列表生成单元111可确定列表大小为“Nr1”等于或大于“Ns2”,而当随机写入操作当频率较强时,将其确定为“Nr2”等于或大于“Nr1”。如上文所述,“Nsp”可是在预定启动时间期间可处理的最大列表大小。
根据一个实施例,三个或更多值可被分配给顺序写入操作和随机写入操作的每一个。
工作负载的分析可基于本领域已知或可知的多种分析技术被执行。因为分析不构成本实施例的必要特征,本文省略对其的详细描述。
图9是示出存储器区域损坏范围的恢复单元114的恢复操作的示图。
参照图5如上文所述,恢复单元114可在紧随非正常断电后的启动操作期间确定映射数据损失范围,并执行映射数据损失范围的恢复工作。此外,恢复单元114可在启动操作期间执行存储器区域损坏范围的数据移动工作。存储器区域损坏范围可以是非正常断电时正被使用的存储器区域。确定存储器区域损坏范围的进程可与上文所述确定映射数据丢失范围的进程基本相同,并可被同步执行。换句话说,恢复单元114可检测最后记录的存储器区域列表和记录区域211内最后记录的(即,最后关闭)存储器区域,并将紧随最后记录的存储器区域列表内最后关闭的存储器区域之后的映射区域确定为存储器区域损坏范围。
具体地,参考图9,恢复单元114可基于记录区域211内存储的记录确定存储器区域MR22为存储器区域损坏范围。也就是说,对于第二存储器区域列表LIST 2和在记录区域211中最后记录的存储器区域MR21,恢复单元114可确定存储器区域MR21在非正常断电前被关闭并且存储器区域MR22在非正常断电时正被使用。
随后,恢复单元114可在记录区域211内存储关于存储器区域损坏范围MR22和移动位置MR23(即,存储器区域损坏范围MR22的新的存储器区域)的记录RBL。在存储记录RBL之后,恢复单元114可将存储器范围损坏范围MR22内存储的数据移动到新的存储器区域MR23。也就是说,依照第二存储器区域列表LIST 2内安排的顺序,移动位置MR23可以是紧随存储器区域损坏范围MR22之后的存储器区域。
记录RBL可被存储以防对损坏范围MR22的存储器区域MR23执行数据移动工作的同时重复发生非正常断电的情况。如果在非正常断电后的启动期间在记录区域211中发现记录RBL,则表示对损坏范围MR22的新存储器区域MR23执行数据移动工作的同时重复发生非正常断电,恢复单元114可忽略记录RBL的当前值。恢复单元114可在记录区域211内存储关于存储器区域损坏范围MR22和新的移动位置MR24的记录RBL,并随后对存储器区域损坏范围MR22的新的移动位置MR24执行数据移动工作。
图10是示出操作列表生成单元111的方法的流程图。
在步骤S110,如上文参照图6A至8所述,列表生成单元111可根据顺序写入操作和随机写入操作频率确定列表大小。具体地,当确定顺序写入操作比随机写入操作更频繁时,列表大小可被确定为第一大小(例如“Ns”),而当确定随机写入操作比顺序写入操作更频繁时可确定为第二大小(例如“Nr”)等于或大于第一大小。根据一个实施例,如上文参照图8所述,随着顺序写入操作的频率变大,列表大小可确定为变小,而随着随机写入操作的频率变大,其可被确定为变大。
在步骤S120,列表生成单元111可根据列表大小生成包括一个或多个存储器区域的存储器区域列表,其随后被用于数据存储。列表生成单元111可在在先存储器区域列表内包括的全部存储器区域被访问之前优先生成后续存储器区域列。可替换地,列表生成单元111可在在先存储器区域列表内包括的全部存储器区域被访问后生成后续存储器区域列表。
图11是示出操作记录单元112的方法的流程图。
在步骤S210,在在先存储器区域列表的映射数据被更新后,记录单元112可在访问后续存储器区域列表内包括的存储器区域之前在记录区域211中记录后续存储器区域列表。
在步骤S220,每次每个存储器区域被完全访问,即被关闭,记录单元112可在记录区域211中记录关于被完全访问的存储器区域的信息。
图12是示出操作映射管理单元113的方法的流程图。
在步骤S310,在存储器区域列表包括的全部存储器区域被访问后,映射管理单元113可更新存储器区域的映射数据。具体地,映射管理单元113可基于工作存储器120内存储的最新映射数据更新在映射数据区域212内存储的过期的映射数据。
图13是示出恢复单元114的恢复操作方法的流程图。
在步骤S410,恢复单元114可检测来自记录区域211内记录数据的最后记录的存储器区域列表。
在步骤S420,恢复单元114可检测来自记录区域211内记录数据的最后记录的(即,最后关闭)存储器区域。
在步骤S430,恢复单元114可基于存储器区域列表和关于被检测的存储器区域的信息来确定恢复范围。具体地,恢复单元114可将最后记录的存储器区域列表内的存储器区域中的第一个至紧随最后关闭的存储器区域之后的一个确定为映射数据损失范围。最后,恢复单元114可将最后记录的存储器区域列表中紧随最后关闭的存储器区域的存储器区域确定为存储器区域损坏范围。
在步骤S440,恢复单元114可为映射数据损失范围执行映射数据恢复工作。恢复单元114可通过收集作为映射数据损失范围的存储器区域内存储的映射数据来恢复工作存储器120内损失的映射数据。
在步骤S450,恢复单元114可为存储器区域损坏范围执行数据移动工作。恢复单元114可将紧随最后记录的存储器区域列表内的存储器区域损坏范围之后的存储器区域确定为移动位置,并将存储器区域损坏范围内存储的数据移动到该移动位置。
虽然图13示出了在执行映射数据恢复工作执行后在步骤S450执行数据移动工作,应注意本实施例不限于该顺序。
图14是示出依照实施例的固态驱动器(SSD)1000的框图。
SSD 1000可包括控制器1100和存储介质1200。
控制器1100可控制主机设备1500和存储介质1200之间的数据交换。控制器1100可包括通过内部总线1170连接的处理器1110、RAM1120、ROM 1130、ECC单元1140、主机接口1150和存储介质接口1160。
处理器1110可控制控制器1100的一般操作。处理器1110可依照来自主机设备1500的数据处理请求在存储介质1200内存储数据并从存储介质读取所存储的数据。为了有效管理存储介质1200,处理器1110可控制SSD 1000的内部操,例如合并操作、损耗均衡操作等。
对于存储介质1200中包括的存储器区域,处理器1110可以基本上类似于图1的处理器110来配置和操作。也就是说,在访问用于数据存储的第一存储器区域中包括的全部一个或多个第一存储器区域之后,处理器1110可以更新第一存储器区域的映射数据,基于SSD1000的工作负载确定列表大小,根据列表大小生成包括一个或多个第二存储器区域的第二存储器区域,并且在更新第一存储器区域的映射数据之后使用用于数据存储的第二存储器区域。
根据实施例,处理器1110基于SSD 1000的工作负载可确定列表大小,根据列表大小生成包括一个或多个存储器区域的存储器区域,在访问用于数据存储的存储器区域列表中包括的存储器区域之前记录存储器区域列表,并且在访问用于数据存储的全部存储器区域之后更新存储器区域的映射数据。
根据实施例,在访问用于数据存储的第一存储器区域列表中包括的一个或多个第一存储器区域之前处理器1110可记录第一存储器区域列表,在访问用于数据存储的全部第一存储器区域之后更新第一存储器区域的映射数,并且在访问用于数据存储的第二存储器区域列表中包括的一个或多个第二存储器区域之前记录第二存储器区域列表,其中记录第二存储器区域列表可成功更新第一存储器区域的映射数据。
RAM 1120可存储待被处理器1110使用的程序和编程数据。在将从主机接口1150传输的数据传输到存储介质1200之前RAM 1120可临时存储该数据。并且在将从存储介质传输的数据传输到主机装置1500之前可以临时该存储。
RAM 1120可对应于图1的工作存储器120。也就是说,RAM1120可保持新的映射数据121。
ROM 1130可存储待被处理器1110读取的程序编码。程序编码可包括待被处理器1110处理的用于使处理器1110控制控制器1100的内部单元的命令。
ECC单元1140可对将被存储在存储介质1200中的数据进行编码,并可解码从存储介质1200读取的数据。ECC单元1140可依照ECC算法检测并校正数据中出现的错误。
主机接口1150可与主机装置1500交换数据处理请求、数据等。
存储介质接口1160可以将控制信号和数据传输到存储介质1200。存储介质接口1160可以与来自存储介质1200的数据一起发送。存储介质接口1160可以通过多个信道CH0至CHn与存储介质1200联接。
存储介质1200可以包括多个非易失性存储器件NVM0至NVMn。多个非易失性存储器件NVM0至NVMn中的每一个可以根据控制器1100的控制执行写入操作和读取操作。
存储介质1200可以以与图2所示的存储介质200基本相同的方式配置和操作。
图15是示出应用了根据实施例的存储器系统10的数据处理系统2000的框图。
数据处理系统2000可以包括计算机、膝上型计算机、上网本、智能电话、数字电视机、数码相机、导航仪等。数据处理系统2000可以包括主处理器2100,主处理器装置2200,存储器系统2300和输入/输出设备2400。数据处理系统2000的内部单元可以通过系统总线2500交换数据,控制信号等。
主处理器2100可以控制数据处理系统2000的一般操作。主处理器2100可以是诸如微处理器的中央处理单元。主处理器2100可以在主存储装置2200上执行诸如操作系统,应用,设备驱动程序等的软件。
主存储器装置2200可以存储待由主处理器2100使用的程序和程编程数据。主存储器装置2200可以临时存储待传输到存储器系统2300和输入/输出设备2400的数据。
存储器系统2300可以包括控制器2310和存储介质2320。存储器系统2300可以被配置并且基本上类似于图1的存储器系统10来操作。
输入/输出设备2400可以包括能够与用户交换数据的键盘、扫描仪、触摸屏、屏幕监视器、打印机、鼠标等,以及能够与用户交换数据,诸如从用户接收用于控制的数据处理系统2000的命令或将处理结果提供给用户。
根据一个实施例,数据处理系统2000可以通过诸如LAN(局域网)、WAN(广域网)、无线网络等的网络2600与至少一个服务器2700通信。数据处理系统2000可以包括访问网络2600的网络接口(未示出)。
虽然上文已经描述了各种实施例,但是本领域技术人员将会理解,所描述的实施例仅是示例。因此,这里描述的存储器系统及其操作方法不应限于所描述的实施例。对于本发明所属领域的技术人员而言显而易见的是,在不脱离如所附权利要求所定义的本发明的精神和范围的情况下,可以进行各种其他改变和修改。
Claims (20)
1.一种用于操作存储器系统的方法,其包括:
在访问包括在用于数据存储的第一列表中的全部一个或多个第一存储器区域之后,更新所述第一存储器区域的映射数据;
基于所述存储器系统的工作负载确定列表大小,并根据所述列表大小生成包括一个或多个第二存储器区域的第二列表;以及
在更新所述映射数据之后,访问用于数据存储的所述第二存储器区域。
2.根据权利要求1所述的方法,其中,当确定顺序写入操作比随机写入操作更频繁时,所述列表大小被确定为具有第一值,并且当确定随机写入操作比顺序写入操作更频繁时,所述列表大小被确定为具有等于或大于所述第一值的第二值。
3.根据权利要求1所述的方法,其中,当顺序写入操作的频率变大时,所述列表大小被确定为具有更小值,并且当随机写入操作的频率变大时,所述列表大小被确定为具有更大值。
4.根据权利要求1所述的方法,其进一步包括:在更新所述映射数据之后且在访问所述第二存储器区域之前,在记录区域中记录所述第二列表。
5.根据权利要求4所述的方法,其进一步包括:在每个所述第二存储器区域每次被完全访问时,在所述记录区域中记录关于被完全访问的第二存储器区域的信息。
6.根据权利要求5所述的方法,其进一步包括:
从所述记录区域内的记录数据检测最后记录的列表;
从所述记录区域内的所述记录数据检测最后记录的存储器区域;
基于检测的列表和检测的存储器区域确定映射数据丢失范围;以及
针对丢失范围执行映射数据恢复工作。
7.根据权利要求5所述的方法,其进一步包括:
从所述记录区域内的记录数据检测最后记录的列表;
从所述记录区域内的所述记录数据检测最后记录的存储器区域;
基于检测的列表和检测的存储器区域确定存储器区域损坏范围;以及
针对所述损坏范围执行数据移动工作。
8.根据权利要求7所述的方法,其在执行所述数据移动工作之前进一步包括:
基于检测的列表确定被存储在所述存储器区域损坏范围内的数据将要被移动到的移动位置;以及
在所述记录区域中记录关于所述存储器区域损坏范围的信息以及所述移动位置。
9.根据权利要求1所述的方法,其中,更新所述映射数据包括:基于工作存储器内存储的映射数据更新被存储在非易失性存储器内的映射数据。
10.一种用于操作存储器系统的方法,其包括:
基于所述存储器系统的工作负载确定列表大小,并根据所述列表大小生成包括一个或多个存储器区域的列表;
在访问用于数据存储的所述存储器区域之前,在记录区域中记录所述列表;以及
在访问用于数据存储的全部所述存储器区域之后,为所述存储器区域更新映射数据。
11.根据权利要求10所述方法,其中,在被包括在在先列表内的全部存储器区域的映射数据被更新后,执行在所述记录区域内的所述列表的记录。
12.根据权利要求10所述方法,其中,根据顺序写入操作和随机写入操作的频率确定所述列表大小。
13.根据权利要求10所述的方法,其进一步包括:在每个所述存储器区域每次被完全访问时,在所述记录区域中记录关于被完全访问的存储器区域的信息。
14.根据权利要求13所述的方法,其进一步包括:
从所述记录区域内的记录数据检测最后记录的列表;
从所述记录区域内的记录数据检测最后记录的存储器区域;
基于检测的列表和检测的存储器区域确定映射数据丢失范围;以及
针对丢失范围执行映射数据恢复工作。
15.根据权利要求13所述的方法,其进一步包括:
从所述记录区域内的记录数据检测最后记录的列表;
从所述记录区域内的记录数据检测最后记录的存储器区域;
基于检测的列表和检测的存储器区域确定存储器区域损坏范围;以及
针对所述损坏范围执行数据移动工作。
16.根据权利要求15所述的方法,其在执行所述数据移动工作之前进一步包括:
基于检测的列表确定被存储在所述存储器区域损坏范围内的数据将要被移动到的移动位置;以及
在所述记录区域中记录关于所述存储器区域损坏范围的信息以及所述移动位置。
17.一种用于操作存储器系统的方法,其包括:
在访问包括在用于数据存储的第一列表中的一个或多个第一存储器区域之前,在记录区域中记录所述第一列表;
在访问用于数据存储的全部所述第一存储器区域之后,更新所述第一存储器区域的映射数据;以及
在访问包括在用于数据存储的第二列表中的一个或多个第二存储器区域之前,在所述记录区域中记录第二列表,
其中,继更新所述映射数据之后记录所述第二列表。
18.根据权利要求17所述的方法,其进一步包括:基于所述存储器系统的工作负载确定列表大小,并根据所述列表大小生成所述第二列表。
19.根据权利要求17所述的方法,其中,根据顺序写入操作和随机写入操作的频率确定所述列表大小。
20.根据权利要求17所述的方法,其进一步包括:当非正常断电发生时,对基于所述记录区域确定的恢复范围执行恢复操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0023891 | 2017-02-23 | ||
KR1020170023891A KR20180097220A (ko) | 2017-02-23 | 2017-02-23 | 데이터 저장 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108509295A true CN108509295A (zh) | 2018-09-07 |
CN108509295B CN108509295B (zh) | 2022-01-25 |
Family
ID=63167776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711243029.2A Active CN108509295B (zh) | 2017-02-23 | 2017-11-30 | 存储器系统的操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10656846B2 (zh) |
KR (1) | KR20180097220A (zh) |
CN (1) | CN108509295B (zh) |
TW (1) | TWI769193B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10877691B2 (en) * | 2017-12-29 | 2020-12-29 | Intel Corporation | Stream classification based on logical regions |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5200959A (en) * | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US20030163756A1 (en) * | 2002-02-28 | 2003-08-28 | Subin George | System and method for inhibiting reads to non-guaranteed data in remapped portions of a storage medium |
US20080077728A1 (en) * | 2006-09-27 | 2008-03-27 | Samsung Electronics Co., Ltd | Mapping information managing apparatus and method for non-volatile memory supporting different cell types |
US20120210041A1 (en) * | 2007-12-06 | 2012-08-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US20140258595A1 (en) * | 2013-03-11 | 2014-09-11 | Lsi Corporation | System, method and computer-readable medium for dynamic cache sharing in a flash-based caching solution supporting virtual machines |
US20160026406A1 (en) * | 2014-06-05 | 2016-01-28 | Sandisk Technologies Inc. | Methods, systems, and computer readable media for providing flexible host memory buffer |
CN106462545A (zh) * | 2014-03-31 | 2017-02-22 | 亚马逊科技公司 | 可缩放文件存储服务 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664106A (en) * | 1993-06-04 | 1997-09-02 | Digital Equipment Corporation | Phase-space surface representation of server computer performance in a computer network |
US7464246B2 (en) * | 2004-09-30 | 2008-12-09 | International Business Machines Corporation | System and method for dynamic sizing of cache sequential list |
TWI435329B (zh) * | 2009-12-15 | 2014-04-21 | Phison Electronics Corp | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 |
KR20130019891A (ko) | 2011-08-18 | 2013-02-27 | 삼성전자주식회사 | 메타 라이팅 빈도를 줄이기 위한 메타 데이터 라이팅 방법 |
-
2017
- 2017-02-23 KR KR1020170023891A patent/KR20180097220A/ko active Search and Examination
- 2017-10-17 US US15/785,586 patent/US10656846B2/en active Active
- 2017-11-27 TW TW106141243A patent/TWI769193B/zh active
- 2017-11-30 CN CN201711243029.2A patent/CN108509295B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5200959A (en) * | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US20030163756A1 (en) * | 2002-02-28 | 2003-08-28 | Subin George | System and method for inhibiting reads to non-guaranteed data in remapped portions of a storage medium |
US20080077728A1 (en) * | 2006-09-27 | 2008-03-27 | Samsung Electronics Co., Ltd | Mapping information managing apparatus and method for non-volatile memory supporting different cell types |
CN101154190A (zh) * | 2006-09-27 | 2008-04-02 | 三星电子株式会社 | 映射信息管理设备和方法 |
US20120210041A1 (en) * | 2007-12-06 | 2012-08-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US20140258595A1 (en) * | 2013-03-11 | 2014-09-11 | Lsi Corporation | System, method and computer-readable medium for dynamic cache sharing in a flash-based caching solution supporting virtual machines |
CN106462545A (zh) * | 2014-03-31 | 2017-02-22 | 亚马逊科技公司 | 可缩放文件存储服务 |
US20160026406A1 (en) * | 2014-06-05 | 2016-01-28 | Sandisk Technologies Inc. | Methods, systems, and computer readable media for providing flexible host memory buffer |
Non-Patent Citations (1)
Title |
---|
石伟 等: "基于非易失存储器的事务存储系统综述", 《计算机研究与发展》 * |
Also Published As
Publication number | Publication date |
---|---|
TWI769193B (zh) | 2022-07-01 |
TW201832085A (zh) | 2018-09-01 |
US10656846B2 (en) | 2020-05-19 |
KR20180097220A (ko) | 2018-08-31 |
CN108509295B (zh) | 2022-01-25 |
US20180239548A1 (en) | 2018-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9652386B2 (en) | Management of memory array with magnetic random access memory (MRAM) | |
US20190391760A1 (en) | Memory system | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
EP2605142B1 (en) | Lba bitmap usage | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US10802733B2 (en) | Methods and apparatus for configuring storage tiers within SSDs | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
CN108932107B (zh) | 数据存储装置及其操作方法 | |
KR102585883B1 (ko) | 메모리 시스템의 동작 방법 및 메모리 시스템 | |
CN112684976A (zh) | 用于执行迁移操作的存储器系统及其操作方法 | |
CN101625897A (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
CN108108261A (zh) | 数据存储装置及其操作方法 | |
US11269771B2 (en) | Storage device for improving journal replay, operating method thereof, and electronic device including the storage device | |
CN104298615B (zh) | 一种存储器交换分区损耗的均衡方法 | |
CN113946283B (zh) | 存储器装置的分区命名空间中的部分区存储器单元处置 | |
CN113986773A (zh) | 基于固态硬盘的写放大优化方法、装置及计算机设备 | |
CN113093987A (zh) | 控制存储器装置的控制器及其操作方法 | |
CN108509295A (zh) | 存储器系统的操作方法 | |
US11182329B2 (en) | Data processing system and operating method thereof | |
CN111324287A (zh) | 一种存储器 | |
CN110825317B (zh) | 用于分布式存储输入数据的存储器系统和数据处理系统 | |
EP4220414A1 (en) | Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same | |
US20230236737A1 (en) | Storage Controller Managing Different Types Of Blocks, Operating Method Thereof, And Operating Method Of Storage Device Including The Same | |
US20220156003A1 (en) | Controller and operation method thereof | |
US11188238B2 (en) | Information processing apparatus, memory control method, and computer program product |
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 |