CN107391027A - 廉价磁盘冗余阵列存储设备及其管理方法 - Google Patents

廉价磁盘冗余阵列存储设备及其管理方法 Download PDF

Info

Publication number
CN107391027A
CN107391027A CN201710303478.5A CN201710303478A CN107391027A CN 107391027 A CN107391027 A CN 107391027A CN 201710303478 A CN201710303478 A CN 201710303478A CN 107391027 A CN107391027 A CN 107391027A
Authority
CN
China
Prior art keywords
page
raid
mapping
band
active
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
CN201710303478.5A
Other languages
English (en)
Other versions
CN107391027B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN107391027A publication Critical patent/CN107391027A/zh
Application granted granted Critical
Publication of CN107391027B publication Critical patent/CN107391027B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • 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/0253Garbage collection, i.e. reclamation of unreferenced 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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

一种管理以RAID方案控制的多个存储设备的方法,包括:检测存储设备之中的故障盘;根据检测结果选择存储设备的多个条带中的一个;参考地址映射信息识别在所选择条带的正常块中包括的数据的有效页、以及映射到故障盘的丢失块的数据的有效页;参考关于所识别的有效页的信息,恢复在所选择条带中包括的块之中的丢失块的有效页;以及将所述丢失块的被恢复的有效页和所述正常块的有效页复制到所述存储设备的新条带。

Description

廉价磁盘冗余阵列存储设备及其管理方法
相关申请的交叉引用
本申请要求于2016年5月3日提交的第10-2016-0054793号韩国专利申请的优先权的权益,其公开内容通过引用全文合并于此。
技术领域
本发明构思的示例实施例一般涉及半导体存储器设备,更具体地,涉及廉价磁盘冗余阵列(RAID)存储设备及其管理方法。
背景技术
闪速存储器设备已经广泛用作诸如计算机、智能电话、个人数字助理(PDA)、数字照相机、摄像机、录音机、MP3播放器和手持个人计算机(PC)的信息设备的音频和视频数据存储介质。然而,必须预先执行擦除操作以将数据写入闪速存储器,并且用于闪速存储器设备的写入数据的单位大于擦除数据的单位。这一特征防止用于典型硬盘的文件系统被原样使用,即使当闪速存储器被用作辅助存储器设备时也是如此。此外,该特征意味着对闪速存储器的顺序输入/输出处理比非顺序输入/输出处理更有效。
基于闪速存储器的大容量存储设备的代表性示例是固态驱动器(以下称为“SSD”)。对于SSD的需求正在大幅增长,而且应用SSD的目的也在多样化。例如,SSD可以用作服务器的SSD、客户端的SSD、数据中心的SSD等。SSD的接口应根据每个目的提供最佳的速度和可靠性。已经应用SATA(串行高级技术附件)、PCIe(外围组件互连高速)、SAS(串行附接SCSI)等作为SSD接口以满足要求。
此外,使用包括多个存储设备的存储系统来实现高可靠性。例如,独立磁盘冗余阵列(RAID)存储系统分割单个数据,并且在将分割的数据分发到多个存储设备之后以块为单位存储分割的数据。由于多个存储设备同时都遭受问题的几率很小,所以存储系统可以确保数据的高可靠性。例如,即使这些块中的一个由于对存储设备中的一个的损坏或丢失而丢失,如果在对数据进行分割之前将纠错编码或奇偶校验应用于数据,则仍然可以正确地重构数据。
发明内容
本公开涉及一种存储器管理技术,其能够执行用于恢复故障盘的重建操作和当盘发生故障时的垃圾收集操作。
一些示例实施例涉及一种管理在廉价磁盘冗余阵列(RAID)方案中被控制的多个存储设备的方法。所述方法可以包括:检测所述存储设备中的故障盘;根据检测的结果选择存储设备的多个条带中的一个;参考地址映射信息识别包括在所选择的条带的数据的正常块中的数据的有效页、以及映射到故障盘的丢失块的数据的有效页;参考所识别的有效页上的信息,恢复包括在所选择的条带中的块之中的丢失块的有效页;以及将所述丢失块的被恢复的有效页和所述正常块的有效页复制到所述存储设备的新条带。
其它示例实施例涉及廉价磁盘冗余阵列(RAID)存储设备。RAID存储设备可以包括多个固态驱动器和被配置为将固态驱动器连接到主机的主机接口。在固态驱动器中的故障盘中包括的丢失块的页之中,在使用奇偶校验块来恢复丢失块的RAID重建操作期间可以仅恢复有效页。
又另一些示例实施例涉及一种管理多个固态驱动器的方法,所述方法包括:选择多个条带中的一个,所述多个条带被分配来管理日志结构的廉价磁盘冗余阵列(RAID)架构中的固态驱动器;参考将所选择的条带中包括的页的逻辑地址映射到物理地址的第一映射页、以及将在所选择的条带中包括的页的物理地址映射到逻辑地址的反向映射页,识别包括在所选择的条带的正常块中的有效页和映射到故障盘的丢失块的有效页;参考关于所识别的有效页的信息,恢复包括在所选择的条带中包括的块之中的丢失块中的有效页;以及将所述丢失块的被恢复的有效页和所述正常块的有效页复制到新条带。
又另一些示例实施例涉及一种数据存储系统。该数据存储系统可以包括:多个固态数据存储设备;以及连接到所述多个固态数据存储设备的控制器。所述多个固态数据存储设备包括多个条带,所述多个条带被分配用于所述控制器来管理日志结构的廉价磁盘冗余阵列(RAID)方案中的固态数据存储设备。控制器被配置为通过以下操作来执行RAID重建操作:检测所述多个固态数据存储设备中的故障盘;根据检测的结果选择多个条带中的一个;识别包括在所选择条带的数据的一个或多个正常块中的数据的有效页、以及所选择条带中的数据的丢失块的数据的一个或多个有效页,其中丢失块被映射到故障盘;恢复在所选择条带中的丢失块的一个或多个有效页;以及将所述丢失块的被恢复的一个或多个有效页和所述正常块的一个或多个有效页复制到所述多个固态数据存储设备的新条带,其中所述一个或多个正常块或丢失块的任何无效页不被复制到新条带并被丢弃。
附图说明
以下将参照本发明构思的非限制性示例实施例的附图更详细地描述本发明构思的前述和其它特征,其中在不同视图中相同的附图标记指代相同的部件。附图不一定按比例绘制,而是将重点放在示出本发明构思的原理上。
图1是用户设备的示例实施例的框图。
图2是示出用于构成盘单元RAID的布置的示例实施例的框图。
图3是示出用于配置图1中的映射表的示例布置的框图。
图4示出了地址映射方法的示例实施例。
图5是概述RAID重建操作的示例实施例的流程图。
图6示出了在日志结构RAID中出现的故障盘、以及取决于故障盘的出现的条带单元重建方法的示例实施例。
图7示出了当故障盘出现时用于条带的重建方法的示例实施例。
图8示出了用于恢复指示物理到逻辑地址映射关系的反向映射页的重建方法的示例。
图9是图5中的操作S140的详细流程图。
图10是RAID存储系统的示例实施例的框图。
图11示出了可以由图10的RAID存储系统中的RAID引擎执行的RAID重建操作的示例。
图12是示出包括在存储设备的示例实施例中的存储器块之中的第一存储器块的示例的电路图。
图13是应用非易失性存储器系统的示例实施例的存储卡系统的框图。
图14是应用非易失性存储器设备的示例实施例的固态驱动器(SSD)系统的框图。
图15是应用非易失性存储器设备的示例实施例的用户系统的框图。
具体实施方式
在下文中,将使用采用闪速存储器设备的固态驱动器(SSD)作为示例来描述本发明构思的特征和功能。SSD可以包括属于不同条带的多个数据块。每个块包括多个页。每个页可以被划分为未被更新的有效页和通过重写操作被无效的无效页。在整个说明书中,术语“故障盘”和“故障驱动器”用于表示SSD的状态。术语故障磁盘或故障驱动器意味着处于由于连接错误或物理缺陷而不能访问SSD的状态中的SSD。现在将参照附图更全面地描述本发明构思的实施例。此外,如在本发明构思的领域中惯常的,在以下实施例的描述中,可以按照功能块、单元和/或模块来描述和示出。这些块、单元和/或模块通过诸如逻辑电路、微处理器、硬连线电路等的电子电路物理地实现,并且可以可选地由固件和/或软件驱动。此外,实施例的每个功能块、单元和/或模块可以物理地分离成两个或更多个交互和分立的块、单元和/或模块,而不脱离本发明构思的范围。此外,实施例的功能块、单元和/或模块中的两个或更多个可以物理地组合成更复杂的块或单元,而不脱离本发明构思的范围。
图1是用户设备10的示例实施例的框图。如所示的,用户设备10包括主机100和RAID存储设备200。用户设备10可以是例如服务器或数据中心。
主机100访问RAID存储设备200以写入或读取数据。主机100可以向RAID存储设备200提供命令、地址和数据。主机100可以使用来自RAID存储设备200的命令或地址来请求数据。例如,主机100可以包括至少一个处理器。主机100可以是处理器本身或者包括处理器的电子设备或系统。
具体地,主机100可以管理包括在存储设备200中的多个固态驱动器(SSD)220、230和240。例如,主机100可以控制日志结构的RAID架构中的SSD 220、230和240。根据日志结构的RAID架构,在单个条带中,以物理布置顺序来顺序写入数据,而不管逻辑块地址LBA。在映射表110中存储和更新逻辑块地址LBA和对应的物理地址之间的映射关系。
在日志结构的RAID架构中,以条带为单位管理资源。写请求的数据可以被顺序地写入擦除状态的条带中。以下描述涉及如何更新数据被顺序写入的单个页。写入单个页的数据被保持原样,并且更新的数据被写入另一物理地址的页。因此,通过仅更新与更新的逻辑块地址相对应的物理地址的映射信息来实现数据的覆写。在映射表110上管理逻辑块地址和物理地址之间的映射关系。
RAID存储设备200可以包括主机接口210和多个固态驱动器(SSD)220、230和240。主机接口210可以执行SSD 220、230和240与主机100之间的通信。例如,主机接口210提供用于与主机100通信的信道。主机接口210提供主机100和RAID存储设备200之间的物理连接。也就是说,主机接口210提供与主机100的总线格式相对应的与RAID存储设备200的接口。主机100的总线格式可以包括USB(通用串行总线)、SCSI(小型计算机系统接口)、高速PCI、ATA、PATA(并行ATA)、SATA(串行ATA)、SAS(串行附接SCSI)和UFS(通用闪速存储)的至少一个。
稍后将描述的RAID可以在各种级别上定义。例如,级别可以包括以下中的至少一个:RAID级别0(无奇偶校验或条带化的条带集合)、RAID级别1(无奇偶校验或镜像的镜像集合)、RAID级别2(汉明码奇偶校验)、RAID级别3(具有专用奇偶校验、比特交织奇偶校验或字节级奇偶校验的条带集合)、RAID级别4(块级奇偶校验),RAID级别5(具有分布式奇偶校验或交织奇偶校验的条带集合)、RAID级别6(具有双分布式奇偶校验的条带集合)、RAID级别7、RAID级别10和RAID级别53或包括以上给出的RAID级别中的至少两个的合并RAID级别(例如,RAID 0+1、RAID 1+0、RAID 5+0、RAID 5+1或RAID 0+1+5)。
SSD 220、230和240中的每一个可以包括控制器和多个闪速存储器设备。在示例实施例中将不考虑在SSD 220、230和240中的每一个中包括的控制器的级别处的映射或地址管理。以下的技术特征的描述将聚焦于由主机100执行的日志结构的RAID方案。然而,应当理解,本发明构思的优点不限于日志结构的RAID方案的存储系统。
主机100以日志结构的RAID方案控制RAID存储设备200。在SSD 220、230和240之中,由于各种原因可能出现故障盘。主机100使用映射表110执行RAID重建操作,以在故障盘出现时恢复存储在故障盘中的块。RAID重建操作是使用除了故障盘之外的盘的块来恢复存储在故障盘中的数据块的操作。主机100在RAID重建操作期间不尝试恢复无效页。同时,主机100可以在RAID重建操作期间尝试使用奇偶校验恢复有效页。另外,当RAID重建操作完成时,主机100可以进一步执行仅将有效页从对应条带复制到新条带的操作。利用上述过程,无效页副本的数量可以显著减少。
图2是示出用于构成盘单元RAID的布置的示例实施例的框图。将描述四个固态驱动器SSD0、SSD1、SSD2和SSD3构成盘单元RAID的示例。RAID存储设备200可以包括至少一个修复盘rSSD以存储由当故障盘出现时执行的RAID重建操作所生成的新条带。
第一条带ST1可以包括分别被分布和存储在固态驱动器SSD0、SSD1、SSD2和SSD3中的多个块CHNK01、CHNK11、CHNK21和CHNK31。奇偶校验块CHNK31可以对应于由主机100从块CHNK01、CHNK11和CHNK21编码的奇偶校验。假设每个块包括八个页,奇偶校验块CHNK31的页可以分别编码并生成对应于其他块CHNK01、CHNK11和CHNK21的页。例如,在RAID级别5,奇偶校验块CHNK31可以通过块CHNK01、CHNK11和CHNK21之间的XOR操作生成。根据上述布置,可以生成第二到第m条带ST2,ST3,...,和STm并将其存储在相应的存储器区域中。
在采用盘或驱动单元的RAID配置的情况下,即使当单个盘故障时,也可以通过采用条带中的其他块来恢复故障盘的数据块。例如,当SSD0是故障盘时,可以使用其他块CHNK11、CHNK21和CHNK31来恢复第一条带ST1的块CHNK01。因此,RAID存储设备200可以确保数据的高可靠性。
修复盘rSSD是固态驱动器,用于存储在故障盘的检测期间执行的RAID重建操作的结果。也就是说,修复盘rSSD可以用于替换不再能被访问或使用的故障盘。例如,作为由于故障盘的RAID重建操作的结果,所生成的恢复数据可以存储在包括修复盘rSSD而不是故障盘的条带中。
图3是示出用于配置图1中的映射表110的示例布置的框图。参考图3,映射表110可以分层地配置为管理日志结构的RAID方案中的多个SSD。
卷ID表111指示在多个SSD 220、230和240构成的线性存储器区域中被分配的特定卷(例如,特定LBA范围)。例如,当用户请求访问第一卷Vol_ID1时,可以在LBA映射表112中向用户提供对应于第一卷Vol_ID1的LBA范围LBA_MAP_0至LBA_MAP_j(j是正整数)。每个对应于LBA的条目被提供给LBA映射页。例如,可以以与LBA映射页113相同的形式来配置物理地址到逻辑地址范围LBA_MPA_2的映射。例如,具有包括在某个RAID条带中的页的逻辑地址的映射可以被指示为条带ID和偏移,类似于LBA映射页113。
让我们考虑将某个条带的第一页数据更新为第二页的情况。在这种情况下,主机100将第二页写入与第一页不同的物理区域。另外,主机100可通过利用对应于第二页的物理位置的值更新第一页的偏移来将被管理的第一页更新为LBA映射页113。卷ID表111、LBA映射表112和LBA映射页113可以被概括为逻辑到物理转换映射(以下称为“L2P映射”)。L2P映射是用于将在主机100的映射表110中管理的逻辑页的逻辑地址映射到逻辑地址的表。
图4示出了地址映射方法的示例实施例。参考图4,将假设选择条带ID为N的条带来描述日志结构的RAID方案。可以根据主机100的重写请求更新包括在所选择的条带N中的页。
当数据全部被写入分配给条带N的页时,可以生成奇偶校验块CHNKm和反向映射页115。可以根据RAID级别以各种方式编码和生成奇偶校验块CHNKm。具体地,反向映射页115可以被概括为物理到逻辑转换映射(以下称为“P2L映射”),以将包括在条带N中的所有物理页的物理地址映射到逻辑地址。反向映射页115可以在通过垃圾收集或合并操作来在擦除条带N之前维持最初写入的信息。
当主机100更新第一块CHNK1的页Page1和Page3时,更新页的数据可以被写入条带N的第二块CHNK2中。因此,在更新之后,主机100改变LAB映射页113的偏移以更新映射信息。当LAB映射页113的偏移信息改变时,与存储在反向映射页115中的映射信息的一致性丢失。在示例实施例中,可以通过将LAB映射表113与反向映射页115进行比较来检查更新页。因此,可以使用LAB映射表113和反向映射页115来识别某个条带中的有效页和无效页。
然而,用于识别某个条带中的有效页和无效页的方法不限于上述方法。可以使用各种地址信息和映射信息或以修改的方式来识别条带中的有效页和无效页。
图5是概述RAID重建操作的示例实施例的流程图。参考图5,当在以日志结构的RAID方案管理的多个固态驱动器中的一个处出现盘故障时,执行RAID重建操作以选择性地仅恢复有效页。
在操作S110中,主机100检测固态驱动器(SSD)之中是否存在故障盘。例如,主机100可以检测在SSD之中是否存在不可访问的故障盘或故障驱动器。
在操作S120中,主机100根据故障盘的检测结果执行操作分支。当没有检测到故障盘时(否),流程返回到操作S110。同时,当检测到故障盘时(是),流程进行到操作S130。
在操作S130中,主机100选择多个条带中的一个。主机100可以顺序地选择包括与多个条带之中的故障盘相对应的块的条带。
在操作S140中,主机100使用与所选择的条带相对应的逻辑到物理映射页(或LBA映射页)和物理到逻辑映射页(或反向映射页)来选择有效页。例如,在所选择的条带中包括的多个页之中,逻辑到物理映射页和物理到逻辑映射页彼此不同(不匹配)的页可以被确定为无效页。主机100可以通过选择逻辑到物理映射页和物理到逻辑映射页彼此相同(匹配)的页来选择有效页。在反向映射页(反向MP)被存储在故障盘中包括的块中的情况下,主机100可以使用其他块和奇偶校验块来恢复包括反向MP的块。在这种情况下,主机100可以使用被恢复的反向MP来选择有效页。
在操作S150中,主机100将所选择的条带中的所选择的有效页复制到单独提供的新条带。在所选择的条带中,与逻辑到物理映射页(或LBA映射页)和物理到逻辑映射页(或反向映射页)彼此不同(不匹配)的条目相对应的页数据其他可以被确定为无效页。无效页不会被复制到新条带。可以使用修复盘或修复驱动器的存储器区域来配置新的条带单元用于替换故障盘。要存储在新条带中的数据可以包括有效页、新奇偶校验块和反向映射页。要存储在新条带中的数据可以存储在诸如随机存取存储器(RAM)的易失性存储器上。包括有效页、奇偶校验块和新反向映射页的单个条带单元的数据可以存储在使用修复盘配置的新条带中。
在操作S160中,确定在S150中恢复的条带是否是指定用于恢复的最后的条带。当在操作S150中处理的条带是多个条带之中的最后的条带时,可以完成整个RAID重建流程。然而,当存在一个或多个要恢复的附加条带时,流程进行到操作S130以选择另一条带。
上面描述的是用于在检测到故障盘时执行的RAID重建操作期间仅选择和复制有效页到新条带的技术。根据示例实施例,可以在RAID重建操作期间阻止或防止无效页的副本,以减少垃圾收集的负担。此外,可以将到无效页的页副本的数量减少以确保RAID存储设备的源并且延长RAID存储设备的寿命。
图6示出了在日志结构的RAID的示例实施例中出现的故障盘、以及取决于故障盘的出现的条带单元重建方法。参考图6,将描述在包括四个固态驱动器SSD0、SSD1、SSD2和SSD3以及四个条带ST1、ST2、ST3和ST4的结构中检测到固态驱动器SSD1作为故障盘的示例。另外,将描述每个块包括四页的示例。
故障盘SSD1包括在四个条带ST1、ST2、ST3和ST4中包括的块CHNK11、CHNK12、CHNK13和CHNK14。块CHNK11和CHNK14包括用户数据,并且块CHNK12包括条带ST2的反向映射页(反向MP)。块CHNK13对应于使用条带ST3的块CHNK03、CHNK23和CHNK33中的每一个生成的奇偶校验块。
根据本文所述的RAID重建方法,在由故障盘SSD1丢失的块CHNK11、CHNK12、CHNK13和CHNK14之中,可仅恢复有效页。可以不恢复并且可以不复制被识别为无效页的页到新条带。根据示例实施例,使用映射信息来识别有效页和无效页。也就是说,通过将LBA映射页与反向映射页进行比较,并将彼此匹配的页确定为有效页、而彼此不匹配的页确定为无效页,可以仅恢复丢失的块CHNK11、CHNK12、CHNK13和CHNK14中包括的有效页。另外,可以仅将每个条带中包括的有效页复制到新条带。稍后将参照附图详细描述该过程。
图7示出了当固态驱动器SSD1出现故障盘时用于条带ST1的重建方法的示例实施例。参考图7,条带ST1包括四个块CHNK01、CHNK11、CHNK21和CHNK31。块CHNK11被分配给固态驱动器SSD1并且对应于丢失的块。
在该示例中:有效页P0和P3以及无效页P1和P2被认为包括在分配给固态驱动器SSD0的块CHNK01中;有效页P8和P10以及无效页P9被认为包括在分配给固态驱动器SSD2的块CHNK21中;反向映射页(反向MP)也被存储在块CHNK21中;并且奇偶校验页PTY0、PTY1、PTY2和PTY3被认为包括在分配给固态驱动器SSD3的块CHNK31中。
主机100读取存储在块CHNK21中的反向MP,并将读取的反向MP与在映射表110上配置的LAB映射页进行比较。作为比较的结果,具有不同条目值(不匹配)的页被识别为无效页。例如,存储在条带ST1中的页P1、P2、P4、P6和P9可以被识别为无效页。由于被分配给固态驱动器SSD2的反向MP已经实现了识别有效页的目的,所以不需要将反向MP复制到新的条带。因此,尽管在条带ST1、ST2、ST3和ST4中的每一个中恢复了反向MP,但是不需要将反向MP复制到新条带。
当完成有效页或无效页的识别时,将有效页复制到新条带。如上所述,到新条带的副本可以包括将有效页缓存到诸如随机存取存储器(RAM)的存储器的操作、以及生成用于被缓冲的有效页的新的反向MP和奇偶校验块(例如,CHNK25)的操作。可以构成包括由有效页构成的块CHNK05、CHNK15和CHNK35的条带单元的数据和对应于新条带的反向MP。然后,可以将在诸如RAM的存储器中构成的条带单元的数据复制到新条带。
该过程在图7中由标记为S11的箭头表示。在“未丢失的”块CHNK01和CHUNK21中包括的有效页P0、P3、P8和P10可以被复制到新条带,而没有单独的恢复过程。也就是说,有效页P0和P3可以被复制到新条带的块CHNK05,并且有效页P8和P10可以被复制到新条带的块CHNK15。
然而,存在于丢失的块CHNK11中的有效页P5和P7可以在经历使用奇偶校验的恢复过程之后被复制到新条带。例如,使用块CHNK01的无效页P1、块CHNK21的无效页P9和块CHNK31的奇偶校验页PTY1来恢复包括在丢失块CHNK11中的有效页P5。也就是说,可以通过页P1和P9和奇偶校验页PTY1的XOR操作来恢复丢失的有效页P5。该过程在图7中由标签S12表示。所恢复的有效页P5被复制到新条带的块CHNK05。然而,应当理解,使用奇偶校验的恢复方法可以取决于应用的RAID级别而变化。
使用块CHNK01的有效页P3、块CHNK21的反向MP和块CHNK31的奇偶校验页PTY3来恢复包括在丢失块CHNK11中的有效页P7。也就是说,可以通过页P1和反向MP以及奇偶校验页PTY3的XOR操作来恢复丢失的有效页P7。该恢复过程在图7中由标签S13表示。所恢复的有效页P7被复制到新条带的块CHNK05。
无效页P1、P2、P4、P6和P9可以用于恢复丢失块的有效页。然而,不会出现无效页P1、P2、P4、P6和P9到新条带的复制。由于包括条带ST1上的映射信息的反向MP在新条带中不再有意义,所以反向MP可以不被复制,而是被丢弃。包括在奇偶校验块CHNK31中的奇偶校验页PTY0、PTY1、PTY2和PTY3也不需要被复制到新的条带。这是因为奇偶校验页PTY0、PTY1、PTY2和PTY3是条带上的元数据,并且在新条带中没有意义。因此,可以丢弃奇偶校验页PTY0、PTY1、PTY2和PTY3。图7中由标签S14表示反向MP和奇偶校验页PTY0、PTY1、PTY2和PTY3的丢弃过程。
有效页可以从多个条带ST1、ST2、ST3和ST4被复制到使用用于替换故障盘的修复盘构成的新条带。使用有效页生成的新的奇偶校验块(例如,CHNK25)和新的反向MP(存储在CHNK35中)可以存储在新的条带中。
图8示出了用于从故障盘恢复指示物理到逻辑地址映射关系的反向映射页的RAID重建方法的示例。参考图8,条带ST2包括四个块CHNK02、CHNK12、CHNK22和CHNK32。块CHNK12被分配给与故障盘相对应的固态驱动器SSD1。由此,块CHNK12对应于丢失块。这里,将反向映射MP分配给丢失块CHNK12。
在该示例中:有效页P0和P3以及无效页P1和P2被认为包括在分配给固态驱动器SSD0的块CHNK02中;有效页P5、反向MP以及无效页P4和P6可以被包括在分配给与故障盘相对应的固态驱动器SSD1的块CHNK12中;并且有效页P8、P10和P11以及无效页P9可以被包括在块CHNK32中。
当检测到存在故障盘时,在示例实施例中,主机100读取逻辑到物理地址转换映射(L2P映射)和物理到逻辑地址转换映射(P2L映射)以执行RAID重建操作。也就是说,主机100可以从存储映射表110的存储器中读取从主机更新的LBA映射页113(见图3)作为L2P映射。主机100应该读取写入条带ST2中的反向MP作为P2L映射。然而,反向MP被写入丢失块CHNK12。因此,应当恢复反向MP(即P2L映射),以确定条带ST2的所有页有效还是无效。
在S21中,主机100可以读取正常块CHNK02、CHNK22和CHNK32的页P3、PTY3和P11,以恢复反向MP。主机100可以参考存储反向MP的丢失块CHNK12的偏移来读取页P3、PTY3和P11。在这种情况下,不必考虑读取以恢复反向MP的页是有效还是无效。这是因为应当在恢复反向MP之后确定这些页的有效性。
在S22中,主机100对从未丢失的块读取的页P3、PTY3和P11执行恢复操作。例如,在RAID级别5的情况下,可以应用页P3、PTY3和P11之间的XOR操作以恢复反向MP。然而,应当理解,可以应用各种方案来恢复另一级别的RAID方案中的丢失页。
在S23中,通过页P3、PTY3和P11的恢复操作来恢复反向MP。所恢复的反向MP可以被临时存储在存储设备200中或主机100中的单独的存储空间中。
在S24中,主机100可以通过将所恢复的反向MP与在映射表110上维持的LBA映射页进行比较来识别有效页和无效页,并将有效页识别为反向MP和LBA页匹配的页,以及将无效页识别为反向MP和LBA页不匹配的页。当完成了对所选择的条带ST2中的所有页的有效或无效属性的识别时,可以以与参考图7描述的相同方式来执行RAID重建操作。也就是说,可以仅选择有效页并将其复制到新条带。
在上文中,已经描述了当信息存储在丢失块中时恢复用于识别有效页和无效页的信息(例如,反向MP)的操作的示例。
图9是图5中的操作S140的详细流程图。参考图9,可以首先检测用于识别页的有效属性的信息是否包括在丢失块中。当在图12的操作S130中选择用于应用重建操作的条带时,开始操作S141。
在操作S141中,主机100可以尝试读取所选择条带的地址映射信息。地址映射信息包括逻辑到物理转换(L2P映射页)和物理到逻辑转换映射(P2L映射页)。与L2P映射页相对应的LBA映射页是在主机100中连续更新的映射信息。然而,对应于P2L映射页的反向映射页直到相应条带存在的点为止才被更新。在这一点上,主机100确定P2L映射页是否包括在丢失块中。也就是说,主机100确定反向映射页是否存储在故障盘中。当确定P2L映射页存储在丢失块中时(是),流程进行到操作S142。同时,当确定P2L映射页存储在未丢失的(正常的)块中时(否),流程进行到操作S143。
在操作S142中,主机100例如根据上文参照图8描述的方式恢复P2L映射页。也就是说,主机100可以读取未丢失的块的页以执行用于恢复反向MP的操作。
在操作S143中,主机100可以通过将L2P映射页与P2L映射页进行比较来识别所选择条带中的有效页。也就是说,在L2P映射页的页条目中,具有与P2L映射页的页不同的值(不匹配)的页可以被确定为无效页。在P2L映射页的页条目中,被维持为与P2L映射页的页相同的值的页可以被确定为有效页。主机100在所选择条带的页之中选择有效页。
在操作S144中,主机100确定所选择的有效页的位置是否对应于丢失块。这是因为包括在丢失块中的有效页应该通过RAID重建操作来恢复。也就是说,当所选择的页包括在丢失块中时(是),流程进行到操作S145。同时,当所选择的页不包括在丢失块中而是包括在正常块中时(否),流程进行到操作S146。
在操作S145中,主机100执行RAID重建操作以恢复所选择的页。也就是说,主机100可以从“未丢失的”块读取包括奇偶校验的页,并且可以应用RAID重建操作来读取页数据。然后完成包括在丢失块中的有效页的恢复。所恢复的页可以临时存储在初级存储器或缓冲存储器(例如,RAM)中。在操作S146中,主机100可以将所选择的页识别为未丢失的块的有效页。然后,主机100可以指定所选择的页被直接复制到新的条带而无需单独的处理。
在操作S147中,主机100确定在所选择的条带中是否选择了所有有效页。当在所选择的条带中还存在有效页时(否),流程可以返回到操作S143。在操作S143中,选择新的有效页。同时,当有效页不再存在于所选择的条带中时(是),流程可以进行到操作S148。
在操作S148中,主机100可以将所选择的条带中的所有有效页复制到初级的新条带。此时,属于奇偶校验块或P2L映射页的页不包括在有效页中。为了复制到新条带,主机100使用所有有效页来组织条带单元的数据。然后,主机100可以以块为单位分配有效页并且生成与每个块对应的奇偶校验块。主机100可以生成对应于新条带的物理到逻辑转换映射(P2L映射页或反向映射页)。可以使用修复盘将有效页、奇偶校验块和P2L映射页写入新条带。在上文中,已经存在用于识别有效或无效页的物理到逻辑转换映射(P2L映射页)或反向映射页的恢复和管理方法。根据示例实施例,应当获得逻辑到物理转换映射(L2P映射页)和物理到逻辑转换映射(P2L映射页)以执行RAID重建操作。这是因为,当存储在RAID存储设备200中的P2L映射页被设置在丢失块时,应该预先恢复P2L映射页。
图10是RAID存储系统的示例实施例的框图。如所示的,RAID存储系统包括主机300和RAID存储设备400。RAID存储设备400可以包括:存储控制器410,被配置为执行根据上述示例实施例的RAID重建操作;缓冲器420;以及非易失性存储器设备430、440和450。
主机300可以将数据写入RAID存储设备400并读取存储在RAID存储设备400中的数据。主机300可以向RAID存储设备400提供命令、地址和数据。主机300可以使用来自RAID存储设备400的命令或地址来请求数据。例如,主机300可以包括至少一个处理器。主机300可以是处理器本身,或者是包括处理器的诸如电子设备或服务器的系统。
存储控制器410可管理由芯片或裸片单元实现的RAID方案中的非易失性存储器(NVM)设备NVM_1 430、NVM_2 440、...和NVM_n 450。当在构成条带的某个非易失性存储器设备中出现故障时,存储控制器410可以执行RAID重建操作。也就是说,可以在恢复条带期间选择有效页,并且可以将其复制到新条带。存储控制器410可以包括:RAID引擎412,被配置为执行根据示例实施例的RAID重建操作;以及映射表414,被配置为支持日志结构的RAID方案的地址映射。
当由于在非易失性存储器设备430、440和450之一中出现的设备故障而恢复条带时,RAID引擎412可以执行RAID重建操作以仅将有效页复制到新条带。RAID引擎412可以通过参考映射表414的映射信息和/或通过读取存储在非易失性存储器设备430、440和450中的反向映射页来执行上述RAID重建操作。例如,RAID引擎412可以将L2P映射页与P2L映射页比较,以将具有相同条目的页确定为有效页。此外,RAID引擎412甚至可以通过在RAID重建操作期间仅选择有效页并且将所选择的有效页复制到新条带来执行垃圾收集功能。在示例实施例中,存储控制器410和非易失性存储器设备430、440和450可以集成到单个半导体设备中。
图11示出了可以由图10中的RAID引擎412执行的RAID重建操作的示例。参考图11,RAID引擎412可以控制非易失性存储器设备431、441、451和461上的设备单元(或芯片单元)的RAID操作。
RAID引擎412以条带为单位处理数据。例如,单个条带被分别分割为存储在非易失性存储器(NVM)设备NVM_11 431、NVM_21 441、NVM_31 451,...和NVM_43 461中的块。这些块中的一个可以包括使用其他块生成的一个或多个RAID奇偶校验Pa、Pb、Pc和Pd。当检测到某个非易失性存储器设备已故障时,RAID引擎412可以执行RAID重建操作以恢复单个条带。虽然在图11中示出RAID奇偶校验Pa、Pb、Pc和Pd被集中存储在非易失性存储器设备之一(例如,NVM_43 461)中,但是示例实施例不限于此。也就是说,RAID校验Pa、Pb、Pc和Pd可以分别分布并存储在非易失性存储器设备431、441、451和461中。
RAID引擎412以块为单位划分从主机300请求写入的数据。RAID引擎412可以将被分割的块分布和存储在多个存储设备中。一个或多个奇偶校验块可以被包括在被分割的块之一中。由于不可能同时在多个存储设备中出现错误,所以可以通过RAID引擎412来提高所存储的数据的可靠性。
在采用RAID配置的情况下,尽管存储在单个非易失性存储器设备中的单个块被丢失,但是可以通过RAID重建操作来恢复丢失块。具体地,RAID引擎412可以以日志结构方式映射条带的地址。当在非易失性存储器设备441中出现设备故障时,可以通过将映射表414的L2P映射页与P2L映射页彼此进行比较来选择有效页。RAID引擎412可以通过仅选择有效页并将所选择的有效页复制到新条带来执行RAID重建操作和垃圾收集操作两者。
图12是示出包括在存储设备的示例实施例中的存储器块之中的第一存储器块BLK1的示例的电路图。第一存储器块BLK1包括多个单元串CS11至CS21和CS12至CS22。单元串CS11至CS21和CS12至CS22可以沿行方向和列方向布置以形成行和列。
例如,单元串CS11和CS12可以连接到串选择线SSL1a和SSL1b以形成第一行。单元串CS21和CS22可以连接到串选择线SSL2a和SSL2b以形成第二行。
例如,单元串CS11和CS21可以连接到第一位线BL1以形成第一列,并且单元串CS12和CS22可以连接到第二位线BL2以形成第二列。
单元串CS11、CS12、CS21和CS22中的每一个可以包括多个单元晶体管。例如,单元串CS11、CS12、CS21和CS22中的每一个可以包括串选择晶体管SSTa和SSTb、多个存储器单元MC1至MC8、地选择晶体管GSTa和GSTb、以及虚拟存储器单元DMC1和DMC2。在示例实施例中,包括在单元串CS11、CS12、CS21和CS22中的每个单元晶体管可以是电荷捕获型闪速(chargetrap flash,CTF)存储器单元。
存储器单元MC1至MC8串联连接并且在垂直于由行方向和列方向形成的平面的高度方向上堆叠。串选择晶体管SSTa和SSTb串联连接,并且串联连接的串选择晶体管SSTa和SSTb被提供在存储器单元MC1至MC8和位线BL之间。地选择晶体管GSTa和GSTb串联连接,并且串联连接的地选择晶体管GSTa和GSTb被提供在存储器单元MC1至MC8和公共源极线CSL之间。
在示例实施例中,第一虚拟单元DMC1可以被提供在存储器单元MC1至MC8与地选择晶体管GSTa和GSTb之间。在示例实施例中,第二虚拟存储器单元DMC2可以被提供在存储器单元MC1至MC8与串选择晶体管SSTa和SSTb之间。
单元串CS11、CS12、CS21和CS22的地选择晶体管GSTa和GSTb可以共同连接到地选择线GSL。在示例实施例中,同一行的地选择晶体管可以连接到同一地选择线,并且不同行的地选择晶体管可以连接到不同的地选择线。例如,第一行的单元串CS11和CS12的第一地选择晶体管GSTa可以连接到第一地选择线,并且第二行的单元串CS21和CS22的第一地选择晶体管GSTa可以连接到第二地选择线。
尽管图12中未示出,但是在示例实施例中,在距离基板(未示出)相同高度处提供的地选择晶体管可以连接到同一地选择线,并且在距离基板不同高度处提供的地选择晶体管可以连接到不同的地选择线。例如,单元串CS11、CS12、CS21和CS22的第一地选择晶体管GSTa可以连接到第一地选择线,并且其第二地选择晶体管GSTb可以连接到第二地选择线。
距离基板(或地选择晶体管GSTa和GSTb)的相同高度处的存储器单元共同连接到同一字线,且不同高度处的存储器单元连接到不同字线。例如,单元串CS11、CS12、CS21和CS22的存储器单元MC1至MC8分别共同连接到第一至第八字线WL1至WL8。
在相同高度处的第一串选择晶体管SSTa中,同一行的串选择晶体管连接到相同的串选择线,并且不同行的串选择晶体管连接到不同的串选择线。例如,第一行的单元串CS11和CS12的第一串选择晶体管SSTa共同连接到串选择线SSL1a,并且第二行的单元串CS21和CS22的第一串选择晶体管SSTa共同连接到串选择线SSL2a。
类似地,在相同高度处的第二串选择晶体管SSTb之中,同一行的串选择晶体管连接到相同的串选择线,并且不同行的串选择晶体管连接到不同的串选择线。例如,第一行的单元串CS11和CS12的第二串选择晶体管SSTb共同连接到串选择线SSL1b,并且第二行的单元串CS21和CS22的第二串选择晶体管SSTb共同连接到串选择线SSL2b。
尽管在图12中未示出,但是同一行的单元串的串选择晶体管可以连接到相同的串选择线。例如,第一行的单元串CS11和CS12的第一和第二串选择晶体管SSTa和SSTb可以共同连接到相同的串选择线。单元串CS21和CS22以及第二行的第一和第二串选择晶体管SSTa和SSTb可以共同连接到相同的串选择线。
在示例实施例中,相同高度处的虚拟存储器单元共同连接到相同的虚拟字线,并且不同高度的虚拟存储器单元连接到不同的虚拟字线。例如,第一虚拟存储器单元DMC1连接到第一虚拟字线DWL1,并且第二虚拟存储器单元DMC2连接到第二虚拟字线DWL2。
在第一存储器块BLK1中,可以以行为单位执行读取和写入操作。例如,可以通过串选择线SSL1a、SSL1b、SSL2a和SSL2b来选择单行存储器块BLK1。例如,当向串选择线SSL1a和SSL1b提供导通电压并且向串选择线SSL2a和SSL2b提供截止电压时,第一行的单元串CS11和CS12分别连接到位线BL1和BL2。当向串选择线SSL2a和SSL2b提供导通电压并且向串选择线SSL1a和SSL1b提供截止电压时,第二行的单元串CS21和CS22分别连接到位线BL1和BL2。在通过驱动字线驱动的行的单元串的存储器单元之中,选择相同高度的存储器单元。可以对所选择的存储器单元执行读取和写入操作。所选择的存储器单元可以形成物理页单元。
在第一存储器块BLK1中,可以以存储器块或子块为单位来执行擦除操作。当以存储块为单位执行擦除操作时,根据单个擦除请求同时擦除第一存储器块BLK1的所有存储器单元MC。当以子块为单位执行擦除操作时,根据单个擦除请求同时擦除第一存储器块BLK1的一些存储器单元MC,并且禁止擦除第一存储器块BLK1的其它存储器单元MC。可以向连接到要擦除的存储器单元的字线提供低电压(例如,地电压),并且连接到禁止擦除的存储器单元的字线可以浮置。
图12中所示的第一存储器块BLK1仅仅是示例性的,单元串的数量可以增加或减少,并且由单元串构成的行和列的数量可以根据单元串的数量增加或减少。此外,第一存储器块BLK1的单元晶体管GST、MC、DMC、SST等的数量可以增加或减少,并且第一存储器块BLK1的高度可以根据单元晶体管的数量而增加或减少。连接到单元晶体管的线(GSL、WL、DWL、SSL等)的数量可以根据单元晶体管的数量而增加或减少。
图13是应用非易失性存储器系统的示例实施例的存储卡系统1000的框图。如图所示,存储卡系统1000包括存储器控制器1100、非易失性存储器(NVM)1200和连接器1300。
存储器控制器1100被连接到非易失性存储器1200。存储器控制器1100被配置成访问非易失性存储器1200。例如,存储器控制器1100被配置成控制对于非易失性存储器1200的读取、写入、擦除和后台操作。后台操作可以包括诸如损耗平衡和垃圾收集的操作。在示例实施例中,存储器控制器1100可以管理包括RAID方案中的多个芯片的非易失性存储器设备1200。当存储在非易失性存储器设备1200中的数据由于芯片之一的故障而不可访问时,存储器控制器110根据上述示例实施例执行RAID重建操作。也就是说,当恢复对应于故障芯片的块时,除了特殊情况之外,仅恢复有效页并且不恢复无效页。该特殊情况对应于存储数据的页(例如,反向映射页(MP))的恢复,该存储数据的页可以用于确定所选择的条带中的页是否有效。
存储器控制器1100被配置以提供非易失性存储器1200与主机之间的接口。存储器控制器1100被配置为驱动用于控制非易失性存储器1200的固件。存储器控制器1100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和纠错单元的组件。
存储器控制器1100可以通过连接器1300与外部设备通信。存储器控制器1100可以使用特定的接口协议与外部设备(例如,主机)通信。在示例实施例中,存储器控制器1100被配置为使用诸如通用串行总线(USB)、多媒体卡(MMC)、eMMC(嵌入式MMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)、集成驱动电子器件(IDE)、火线、通用闪速存储器(UFS)和非易失性内存快速(NVMe)的各种接口协议中的至少一个与外部设备通信。在示例实施例中,由上述接口协议定义的写入命令可以包括写入数据的大小信息。
非易失性存储器1200可以用诸如电可擦除可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻型RAM(ReRAM),铁电型RAM(FRAM)和自旋扭矩磁性RAM(STT-MRAM)的各种非易失性存储器设备来实现。
在示例实施例中,存储器控制器1100和非易失性存储器1200可以集成到单个半导体设备中。在示例实施例中,存储器控制器1100和非易失性存储器1200可以集成到单个半导体设备中以构成固态驱动器(SSD)。存储器控制器1100和非易失性存储器1200可以集成到单个半导体设备中以构成存储卡。例如,存储器控制器1100和非易失性存储器1200可以集成到单个半导体设备中以构成存储卡,诸如个人计算机存储卡国际协会(PCMCIA)、紧凑型闪卡(CF)、智能媒体卡(SM)、SMC)、记忆棒、多媒体卡(MMC、RS-MMC和MMCmicro)、SD卡(SD,miniSD和microSD)和通用闪速存储器设备(UFS)。
图14是应用非易失性存储器设备的示例实施例的固态驱动(SSD)系统2000的框图。如所示地,SSD系统2000包括主机2100和SSD 2200。SSD 2200通过信号连接器2001向/从主机2100发送/接收信号SIG,并且通过电源连接器2002提供有电源PWR。SSD 2200包括SSD控制器2210、多个闪速存储器(NVM)2221至222n、辅助电源2230和缓冲存储器2240。
SSD控制器2210可响应于从主机2100接收的信号SIG来控制闪速存储器2221到222n。例如,SSD控制器2210被配置成控制读取、写入、擦除和后台操作。后台操作可以包括诸如损耗平衡和垃圾收集的操作。在示例实施例中,SSD控制器2210可以执行如上面参考图10所述的RAID重建操作。当闪速存储器2221至222n之一中的数据不可访问时,SSD控制器2210执行根据上述示例实施例的RAID重建操作。也就是说,当恢复与不可访问闪速存储器对应的块时,除了特殊情况之外,仅恢复有效页并且不恢复无效页。该特殊情况对应于存储数据的页(例如,反向映射页(MP))的恢复,该存储数据的页可以用于确定所选择的条带中的页是否有效。
辅助电源2230通过电源连接器2002连接到主机2100。辅助电源2230可以被提供有来自主机2100的电源PWR。辅助电源2230可以在主机2100没有充分地提供电源时为SSD系统2000供电。在示例实施例中,辅助电源2230可以布置在SSD 2200内部或外部。例如,辅助电源2230可以布置在主板上并且可以向SSD 2200提供辅助电源。
缓冲存储器2240作为SSD 2200的缓冲存储器操作。例如,缓冲存储器2240可以临时存储从主机2100接收的数据或从闪速存储器2221至222n接收的数据,或者可以临时存储闪速存储器2221至222n的元数据(例如映射表)。缓冲存储器2240可以包括诸如DRAM、SDRAM、双倍数据速率(DDR)SDRAM、低功率双倍数据速率(LPDDR)SDRAM和SRAM的非易失性存储器、以及诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。在示例实施例中,存储控制器2210和闪速存储器2221至222n可以被集成到单个半导体设备中。
图15是应用了非易失性存储器设备的示例实施例的用户系统3000的框图。如所示地,用户系统3000包括应用处理器3100、存储器模块3200、网络模块3300、存储模块3400和用户接口3500。
应用处理器3100可以驱动包括在用户系统3000和操作系统(OS)中的组件。在示例实施例中,应用处理器3100可以包括控制器,以控制包括在用户系统3000中的组件、接口和图形引擎。应用处理器3100可以被提供为片上系统(SoC)。
存储器模块3200可作为用户系统3000的主存储器、工作存储器、缓冲存储器或高速缓存存储器操作。存储器模块3200可包括易失性随机存取存储器,诸如DRAM、SDRAM、DDRSDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM;或非易失性随机存取存储器,诸如PRAM、ReRAM、MRAM和FRAM。
网络模块3300可以与外部设备通信。例如,网络模块3300可以支持无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、和无线显示器(WI-DI)。在示例实施例中,网络模块3300可以被包括在应用处理器3100中。
存储模块3400可以存储数据。例如,存储模块3400可以存储从应用处理器3100接收的数据。替代地,存储模块3400可以将存储在存储模块3400中的数据发送到应用处理器3100。在示例实施例中,存储模块3400可以使用诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器和三维(3D)NAND闪速存储器的非易失性半导体存储器设备实现。
在示例实施例中,存储模块3400可以执行如上面参考例如图1或图10所描述的RAID重建操作。存储模块3400可以基于预定接口与应用处理器3100通信。存储模块3400可以基于从应用处理器3100接收的写入命令来调整垃圾收集的执行时间。
用户接口3500可以包括将数据或命令输入到应用处理器3100或将数据输出到外部设备的接口。例如,用户接口3500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器和振动传感器。用户接口3500可以包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示器、有源矩阵OLED(AMOLED)、LED、扬声器和监视器的用户输出接口。
如上所述,存储在故障盘中的数据的恢复和垃圾收集操作可以在使用多个固态盘的RAID存储设备中执行。在数据恢复操作期间可以减少无效数据的页副本的数量,以实现RAID存储设备的寿命延长和高资源效率。
上述公开的主题被认为是说明性的,而不是限制性的,并且所附权利要求旨在覆盖落入本发明构思的真实主旨和范围内的所有这样的修改、改进和其他特征。因此,在法律允许的最大程度上,本发明构思的范围由下面的权利要求及其等同物的最宽泛的可允许的解释来确定,并且不应被前面的详细描述限制或局限。虽然已经具体示出和描述了一些示例实施例,但是本领域普通技术人员应当理解,在不脱离权利要求的主旨和范围的情况下,可以在其中进行形式和细节上的变化。

Claims (25)

1.一种管理以廉价磁盘冗余阵列(RAID)方案控制的多个存储设备的方法,所述方法包括:
检测所述存储设备中的故障盘;
根据检测的结果选择存储设备的多个条带中的一个;
参考地址映射信息识别在所选择条带的正常数据块中包括的数据的有效页、以及映射到故障盘的丢失块的数据的有效页;
参考关于所识别的有效页的信息,恢复在所选择条带中包括的块之中的丢失块的有效页;以及
将所述丢失块的被恢复的有效页和所述正常块的有效页复制到所述存储设备的新条带。
2.根据权利要求1所述的方法,其中,所述RAID方案是日志结构的RAID方案,并且其中在所述日志结构的RAID方案中管理所述地址映射信息,以将数据顺序地写入所述存储设备的物理区域。
3.根据权利要求2所述的方法,其中,所述地址映射信息包括将所选择的条带中包括的页的逻辑地址映射到物理地址的第一映射页、以及将所选择的条带中包括的页的物理地址映射到所述逻辑地址的反向映射页。
4.根据权利要求3所述的方法,其中,从主机的映射表获得所述第一映射页,并且从所选择的条带的单个页区域读取所述反向映射页。
5.根据权利要求3所述的方法,其中,所述正常块的有效页对应于所述第一映射页的条目值和所述反向映射页的条目值彼此匹配的页。
6.根据权利要求3所述的方法,还包括:
当确定反向映射页被存储在丢失块中时,在识别有效页之前通过RAID重建操作恢复反向映射页。
7.根据权利要求6所述的方法,其中,通过将所恢复的反向映射页与所述第一映射页进行比较来识别所述有效页。
8.根据权利要求3所述的方法,其中,当将所述有效页复制到所述新条带时,所述反向映射页不被复制到所述新条带并且被丢弃。
9.根据权利要求1所述的方法,其中,所述正常块之中的用于恢复所述丢失块的有效页的奇偶校验页不被复制到所述新条带并被丢弃。
10.根据权利要求1所述的方法,其中,所述存储设备中的至少一个包括每个都包括三维存储器区域的非易失性存储器设备。
11.一种廉价磁盘冗余阵列(RAID)存储设备,包括:
多个固态驱动器;以及
主机接口,被配置为将所述固态驱动器连接到主机,
其中,在所述固态驱动器中的故障盘中包括的丢失块的页之中,仅有效页在RAID重建操作期间被恢复,以使用奇偶校验块来恢复丢失块。
12.根据权利要求11所述的RAID存储设备,其中,参考在日志结构的RAID方案中管理的地址映射信息来选择所述有效页。
13.根据权利要求12所述的RAID存储设备,其中,所述地址映射信息包括将条带中包括的页的逻辑地址映射到物理地址的第一映射页、以及将在所述条带中包括的页的物理地址映射到逻辑地址的反向映射页。
14.根据权利要求13所述的RAID存储设备,其中,当确定所述反向映射页被存储在所述丢失块中时,通过所述RAID重建操作恢复所述反向映射页。
15.根据权利要求14所述的RAID存储设备,其中,在识别所述有效页之前,执行通过对所述反向映射页的RAID重建操作来恢复所述反向映射页。
16.根据权利要求11所述的RAID存储设备,其中,所述RAID重建操作在所述主机中执行。
17.根据权利要求11所述的RAID存储设备,还包括:
存储控制器,被配置为执行RAID重建操作。
18.根据权利要求17所述的RAID存储设备,其中所述存储控制器和所述多个固态驱动器被集成到单个半导体设备中。
19.根据权利要求17所述的RAID存储设备,其中,参考以日志结构的RAID方案管理的地址映射信息来选择所述有效页,其中,所述地址映射信息包括将在条带中包括的页的逻辑地址映射到物理地址的第一映射页、以及将在所述条带中包括的页的物理地址映射到逻辑地址的反向映射页,并且其中所述存储控制器包括所述第一映射页,并且所述反向映射页被包括在所述多个固态驱动器之一中。
20.一种管理多个固态驱动器的方法,所述方法包括:
选择多个条带中的一个,所述多个条带被分配来以日志结构的廉价磁盘冗余阵列(RAID)方案管理固态驱动器;
参考将所选择条带中包括的页的逻辑地址映射到物理地址的第一映射页、以及将在所选择的条带中包括的页的物理地址映射到逻辑地址的反向映射页,在所述多个固态驱动器中识别包括在所选择条带的正常块中的有效页和映射到故障盘的丢失块的有效页;
参考关于所识别的有效页的信息,恢复包括在所选择条带中包括的块之中的丢失块中的有效页;以及
将所述丢失块的被恢复的有效页和所述正常块的有效页复制到新的条带。
21.根据权利要求20所述的方法,还包括:
当所述反向映射页被包括在所述丢失块中时,使用RAID重建操作来恢复所述反向映射页。
22.根据权利要求21所述的方法,其中,在所述有效页的识别之前执行通过对所述反向映射页的所述RAID重建操作来恢复所述反向映射页。
23.根据权利要求21所述的方法,其中,在所述正常块中包括的页之中,用于恢复所述丢失块的有效页的奇偶校验页和所述反向映射页不被复制到所述新条带并被丢弃。
24.根据权利要求20所述的方法,其中,所述正常块的有效页对应于所述第一映射页的条目值和所述反向映射页的条目值彼此匹配的页。
25.根据权利要求20所述的方法,其中,所述丢失块的有效页对应于所述第一映射页的条目值和所述反向映射页的条目值彼此匹配的页。
CN201710303478.5A 2016-05-03 2017-05-03 廉价磁盘冗余阵列存储设备及其管理方法 Active CN107391027B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0054793 2016-05-03
KR1020160054793A KR102580123B1 (ko) 2016-05-03 2016-05-03 Raid 스토리지 장치 및 그것의 관리 방법

Publications (2)

Publication Number Publication Date
CN107391027A true CN107391027A (zh) 2017-11-24
CN107391027B CN107391027B (zh) 2022-03-22

Family

ID=60242574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710303478.5A Active CN107391027B (zh) 2016-05-03 2017-05-03 廉价磁盘冗余阵列存储设备及其管理方法

Country Status (3)

Country Link
US (1) US10282252B2 (zh)
KR (1) KR102580123B1 (zh)
CN (1) CN107391027B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121509A (zh) * 2017-12-19 2018-06-05 深圳忆联信息系统有限公司 一种提高ssd读操作时raid效率的方法及ssd
CN109213450A (zh) * 2018-09-10 2019-01-15 郑州云海信息技术有限公司 一种基于闪存阵列的关联元数据删除方法、装置及设备
CN110399310A (zh) * 2018-04-18 2019-11-01 杭州宏杉科技股份有限公司 一种存储空间的回收方法及装置
CN111445939A (zh) * 2019-01-17 2020-07-24 爱思开海力士有限公司 存储装置及其操作方法
CN111581022A (zh) * 2020-04-30 2020-08-25 江苏芯盛智能科技有限公司 一种数据恢复方法及系统
WO2020194126A1 (en) * 2019-03-28 2020-10-01 International Business Machines Corporation Reducing rebuild time in a computing storage environment
CN115563026A (zh) * 2022-12-07 2023-01-03 合肥康芯威存储技术有限公司 一种映射表的重建方法及数据存储设备

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170131796A (ko) * 2016-05-20 2017-11-30 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10241722B1 (en) * 2016-05-27 2019-03-26 Pavilion Data Systems, Inc. Proactive scheduling of background operations for solid state drives
US10203903B2 (en) * 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11797212B2 (en) * 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US10310752B1 (en) * 2016-12-30 2019-06-04 EMC IP Holding Company LLC Extent selection with mapped raid
US10489245B2 (en) 2017-10-24 2019-11-26 Spin Memory, Inc. Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them
US10656994B2 (en) * 2017-10-24 2020-05-19 Spin Memory, Inc. Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques
US10481976B2 (en) 2017-10-24 2019-11-19 Spin Memory, Inc. Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers
US10529439B2 (en) 2017-10-24 2020-01-07 Spin Memory, Inc. On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects
CN110058953B (zh) * 2018-01-18 2023-02-28 伊姆西Ip控股有限责任公司 用于改变存储系统的类型的方法、设备和存储介质
TWI661302B (zh) * 2018-06-25 2019-06-01 慧榮科技股份有限公司 實體儲存對照表產生裝置及方法以及電腦程式產品
TWI705329B (zh) * 2018-06-25 2020-09-21 慧榮科技股份有限公司 實體儲存對照表產生裝置及方法以及電腦程式產品
US10831603B2 (en) * 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US10884662B2 (en) * 2018-08-06 2021-01-05 Silicon Motion, Inc. Method for performing storage control in a storage server, associated memory device and memory controller thereof, and associated storage server
CN111949443B (zh) * 2018-09-05 2022-07-22 华为技术有限公司 硬盘故障处理方法、阵列控制器及硬盘
US10607712B1 (en) 2018-09-28 2020-03-31 Toshiba Memory Corporation Media error reporting improvements for storage drives
CN111124746B (zh) * 2018-10-30 2023-08-11 伊姆西Ip控股有限责任公司 管理独立盘冗余阵列的方法、设备和计算机可读介质
KR20200116808A (ko) 2019-04-02 2020-10-13 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN112543920B (zh) * 2019-07-22 2023-02-10 华为技术有限公司 数据重构的方法、装置、计算机设备、存储介质及系统
US11437119B2 (en) 2020-08-19 2022-09-06 Micron Technology, Inc. Error read flow component
US11734094B2 (en) 2020-08-19 2023-08-22 Micron Technology, Inc. Memory component quality statistics
CN112181298B (zh) * 2020-09-25 2022-05-17 杭州宏杉科技股份有限公司 阵列访问方法、装置、存储设备及机器可读存储介质
CN114721585A (zh) * 2021-01-06 2022-07-08 伊姆西Ip控股有限责任公司 存储管理方法、设备和计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692356A (zh) * 2002-11-14 2005-11-02 易斯龙系统公司 对分布式文件系统中的文件重新条带化的系统和方法
US20130262920A1 (en) * 2012-04-02 2013-10-03 Samsung Electronics Co., Ltd. Raid memory system
CN103678048A (zh) * 2013-11-29 2014-03-26 华为技术有限公司 独立磁盘冗余阵列修复方法、装置和存储设备
US9026729B1 (en) * 2011-11-15 2015-05-05 Emc Corporation Data recovery after triple disk failure
CN105531677A (zh) * 2013-08-27 2016-04-27 新加坡科技研究局 Raid奇偶校验条带重建

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278838A (en) 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
KR19980047273U (ko) 1996-12-28 1998-09-25 양재신 전방 길이가 조절되는 자동차의 시트 쿠션
JP3788961B2 (ja) 2002-08-30 2006-06-21 株式会社東芝 ディスクアレイ装置及び同装置におけるレイドレベル変更方法
US7313724B1 (en) 2004-07-01 2007-12-25 Symantec Operating Corporation Method and apparatus for synchronizing redundant data with a volume
US8751862B2 (en) 2007-08-10 2014-06-10 Dell Products L.P. System and method to support background initialization for controller that supports fast rebuild using in block data
US8195912B2 (en) 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
KR20090113624A (ko) * 2008-04-28 2009-11-02 엘지전자 주식회사 솔리드 스테이트 드라이브 및 그 동작 제어방법
US8402217B2 (en) * 2009-09-15 2013-03-19 Marvell International Ltd. Implementing RAID in solid state memory
US8266501B2 (en) 2009-09-29 2012-09-11 Micron Technology, Inc. Stripe based memory operation
KR101678868B1 (ko) * 2010-02-11 2016-11-23 삼성전자주식회사 플래시 주소 변환 장치 및 그 방법
US8825950B2 (en) 2011-03-01 2014-09-02 Lsi Corporation Redundant array of inexpensive disks (RAID) system configured to reduce rebuild time and to prevent data sprawl
KR20130084846A (ko) * 2012-01-18 2013-07-26 삼성전자주식회사 플래시 메모리를 기반으로 하는 저장 장치, 그것을 포함한 사용자 장치, 그리고 그것의 데이터 읽기 방법
KR101445025B1 (ko) * 2012-02-09 2014-09-26 서울시립대학교 산학협력단 신뢰성 있는 ssd를 위한 효율적인 raid 기법
KR101826051B1 (ko) 2012-02-27 2018-02-07 삼성전자주식회사 비휘발성 메모리 장치의 제어 방법 및 비휘발성 메모리 시스템
KR20130128685A (ko) * 2012-05-17 2013-11-27 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20140094278A (ko) * 2013-01-22 2014-07-30 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR102072829B1 (ko) 2013-06-14 2020-02-03 삼성전자주식회사 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 글로벌 가비지 컬렉션 방법
US9529674B2 (en) * 2013-06-18 2016-12-27 Dell Product, LP Storage device management of unrecoverable logical block addresses for RAID data regeneration
US20150095696A1 (en) 2013-09-27 2015-04-02 Datadirect Networks, Inc. Second-level raid cache splicing
KR20150067583A (ko) * 2013-12-10 2015-06-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 중복 데이터 제거 방법
KR20150138528A (ko) * 2014-05-29 2015-12-10 삼성전자주식회사 플래시 메모리를 기반으로 하는 스토리지 시스템 및 그것의 동작 방법
KR102368071B1 (ko) * 2014-12-29 2022-02-25 삼성전자주식회사 레이드 스토리지 시스템에서의 스트라이프 재구성 방법 및 이를 적용한 가비지 컬렉션 동작 방법 및 레이드 스토리지 시스템
US9569306B1 (en) * 2015-12-18 2017-02-14 International Business Machines Corporation Recovery of multi-page failures in non-volatile memory system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692356A (zh) * 2002-11-14 2005-11-02 易斯龙系统公司 对分布式文件系统中的文件重新条带化的系统和方法
US9026729B1 (en) * 2011-11-15 2015-05-05 Emc Corporation Data recovery after triple disk failure
US20130262920A1 (en) * 2012-04-02 2013-10-03 Samsung Electronics Co., Ltd. Raid memory system
CN105531677A (zh) * 2013-08-27 2016-04-27 新加坡科技研究局 Raid奇偶校验条带重建
CN103678048A (zh) * 2013-11-29 2014-03-26 华为技术有限公司 独立磁盘冗余阵列修复方法、装置和存储设备

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121509B (zh) * 2017-12-19 2020-10-16 深圳忆联信息系统有限公司 一种提高ssd读操作时raid效率的方法及ssd
CN108121509A (zh) * 2017-12-19 2018-06-05 深圳忆联信息系统有限公司 一种提高ssd读操作时raid效率的方法及ssd
CN110399310A (zh) * 2018-04-18 2019-11-01 杭州宏杉科技股份有限公司 一种存储空间的回收方法及装置
CN109213450A (zh) * 2018-09-10 2019-01-15 郑州云海信息技术有限公司 一种基于闪存阵列的关联元数据删除方法、装置及设备
CN109213450B (zh) * 2018-09-10 2021-08-31 郑州云海信息技术有限公司 一种基于闪存阵列的关联元数据删除方法、装置及设备
CN111445939A (zh) * 2019-01-17 2020-07-24 爱思开海力士有限公司 存储装置及其操作方法
WO2020194126A1 (en) * 2019-03-28 2020-10-01 International Business Machines Corporation Reducing rebuild time in a computing storage environment
US11074130B2 (en) 2019-03-28 2021-07-27 International Business Machines Corporation Reducing rebuild time in a computing storage environment
CN113574509A (zh) * 2019-03-28 2021-10-29 国际商业机器公司 减少计算存储环境中的重建时间
GB2596695A (en) * 2019-03-28 2022-01-05 Ibm Reducing rebuild time in a computing storage environment
CN111581022A (zh) * 2020-04-30 2020-08-25 江苏芯盛智能科技有限公司 一种数据恢复方法及系统
CN111581022B (zh) * 2020-04-30 2022-07-08 江苏芯盛智能科技有限公司 一种数据恢复方法及系统
CN115563026A (zh) * 2022-12-07 2023-01-03 合肥康芯威存储技术有限公司 一种映射表的重建方法及数据存储设备

Also Published As

Publication number Publication date
KR20170125178A (ko) 2017-11-14
US20170322847A1 (en) 2017-11-09
CN107391027B (zh) 2022-03-22
US10282252B2 (en) 2019-05-07
KR102580123B1 (ko) 2023-09-20

Similar Documents

Publication Publication Date Title
CN107391027A (zh) 廉价磁盘冗余阵列存储设备及其管理方法
KR102653401B1 (ko) 메모리 시스템 및 그의 동작방법
US10657041B2 (en) Data management method and storage device performing the same
KR101303524B1 (ko) 불휘발성 메모리에 대한 메타데이터 리던던시 스킴
US10275310B2 (en) Updating exclusive-or parity data
KR102615593B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
CN107643985A (zh) 存储器系统及其操作方法
US10997039B2 (en) Data storage device and operating method thereof
US20180173419A1 (en) Hybrid ssd with delta encoding
KR20180047329A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
CN109656472A (zh) 存储器系统及其操作方法
CN109284202A (zh) 控制器及其操作方法
KR20180060370A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US20190303293A1 (en) Memory system and operating method thereof
US20200089566A1 (en) Apparatus for diagnosing memory system and operating method thereof
CN110321069A (zh) 存储器系统及其操作方法
KR20180130140A (ko) 데이터 처리 시스템 및 데이터 처리 방법
KR20180102241A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR102475798B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180023267A (ko) 메모리 시스템 및 그의 동작 방법
US20190347193A1 (en) Memory system and operating method thereof
US10168907B2 (en) Memory system and operating method thereof
KR102530262B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US10783074B2 (en) Controller for performing garbage collection, method for operating the same, and memory system including the same
KR102234725B1 (ko) 컨트롤러 및 메모리 시스템 및 메모리 시스템의 동작 방법

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