CN110231914A - 数据存储装置及其操作方法 - Google Patents

数据存储装置及其操作方法 Download PDF

Info

Publication number
CN110231914A
CN110231914A CN201910052161.8A CN201910052161A CN110231914A CN 110231914 A CN110231914 A CN 110231914A CN 201910052161 A CN201910052161 A CN 201910052161A CN 110231914 A CN110231914 A CN 110231914A
Authority
CN
China
Prior art keywords
value
key
storage
storage equipment
equipment
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
CN201910052161.8A
Other languages
English (en)
Other versions
CN110231914B (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 CN110231914A publication Critical patent/CN110231914A/zh
Application granted granted Critical
Publication of CN110231914B publication Critical patent/CN110231914B/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/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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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
    • 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/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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
    • 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/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了数据存储装置及其操作方法。存储装置包括:多个存储设备;以及存储控制器,其从主机接收与所述多个存储设备中存储的数据对应的值和用于标识所述值的密钥,基于所述值生成用于检查所述数据的任何错误的奇偶校验,并且管理关于所述值与所述密钥之间的对应关系的密钥‑值映射信息,其中,所述多个存储设备包括:存储所述值和所述密钥的第一存储设备和第二存储设备,以及存储根据所述值计算出的奇偶校验值和用于管理所述奇偶校验值的奇偶校验值头的第三存储设备。

Description

数据存储装置及其操作方法
相关申请的交叉引用
本申请要求于2018年3月5日提交的韩国专利申请No.10-2018-0025890的优先权,该韩国专利申请的公开内容通过引用全部合并于此。
技术领域
本公开涉及一种数据存储装置以及包括其的独立磁盘冗余阵列(RAID)系统。
背景技术
通常,半导体存储设备被分为易失性存储设备和非易失性存储设备。易失性存储设备在其电源中断时丢失其存储的数据,并且非易失性存储设备即使在其电源中断时也保留其存储的数据。存在NAND闪存,其是最近广泛使用的非易失性存储设备。由NAND闪存组成的数据存储介质的示例包括固态硬盘(SSD),并且SSD可以通过使用NAND闪存来实现大存储容量和快速访问速度。
发明内容
本公开的实施例提供了一种改进的数据存储装置以及包括其的独立磁盘冗余阵列(RAID)系统。
然而,本公开的实施例不限于本文所阐述的那些。通过参考下面给出的本公开的详细描述,本公开的上述和其他实施例对于本公开所属领域的普通技术人员将变得更加显而易见。
根据本公开的一些实施例,一种存储装置,所述存储装置包括:多个存储设备和存储控制器,所述存储控制器从主机接收与所述多个存储设备中存储的数据对应的值和用于标识所述值的密钥,基于所述值生成用于检查所述数据的任何错误的奇偶校验值,并且管理关于所述值与所述密钥之间的对应关系的密钥-值映射信息,其中,所述多个存储设备包括:存储所述值和所述密钥的第一存储设备和第二存储设备、以及存储根据所述值计算出的奇偶校验值和用于管理所述奇偶校验值的奇偶校验值头的第三存储设备。
根据本公开的一些实施例,一种独立磁盘冗余阵列(RAID)系统包括:主机和多个存储设备,所述主机提供访问命令、与所述访问命令所针对的数据对应的值以及用于标识所述值的密钥,并且所述多个存储设备被配置为独立磁盘冗余阵列,从所述主机接收所述访问命令,并且响应于所述访问命令访问存储在其中的数据,其中,所述多个存储设备包括:存储所述值和所述密钥的第一存储设备和第二存储设备;存储奇偶校验值和奇偶校验值头的第三存储设备,所述奇偶校验值是根据存储在所述第一存储设备和所述第二存储设备中的所述值计算出的,所述奇偶校验值头用于管理所述奇偶校验值;以及管理关于所述值与所述密钥之间的对应关系的密钥-值映射信息的独立磁盘冗余阵列控制器。
根据本公开的一些实施例,一种存储装置包括:存储数据的多个第一存储设备和存储所述数据的奇偶校验值的第二存储设备,以及存储控制器,所述存储控制器从主机接收与存储在所述多个第一存储设备中的所述数据对应的值和用于标识所述值的密钥,基于所述值生成用于检查所述数据的任何错误的奇偶校验值,并管理关于所述值与所述密钥之间的对应关系的密钥-值映射信息,其中,所述存储控制器根据映射到所述第一存储设备中的预定地址的偏移的值计算所述奇偶校验值,并将所述奇偶校验值存储在所述第二存储设备中。
附图说明
通过参考附图详细描述本公开的实施例,本公开的上述和其他特征将变得更显而易见。
图1是根据本公开的一些实施例的包括数据存储装置的数据存储系统的框图;
图2是根据本公开的一些实施例的数据存储装置的框图;
图3是示出了根据本公开的一些实施例的数据存储装置的操作的概念图;
图4是示出了根据本公开的一些实施例的存储在数据存储装置的每个存储设备中的数据的概念图;
图5A、图5B和图5C是示出了根据本公开的一些实施例的数据存储装置的操作的相应的概念图;
图6是示出了在第二存储设备中发生故障时根据本公开的一些实施例的数据存储装置的GET操作的概念图;
图7是示出了根据本公开的一些实施例的数据存储装置的重建操作的概念图;
图8A和图8B是示出了根据本公开的一些实施例的数据存储装置的删除(DELETE)操作的概念图;和
图9A和图9B是示出了根据本公开的一些实施例的数据存储装置的附加(APPEND)操作的概念图。
具体实施方式
在下面的书面描述中,术语“块”通常用于指代各种软件和/或硬件组件,包括但不限于现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。块可以全部或部分地在可寻址存储介质中进行各种配置,并且可以进一步配置为由一个或更多个处理器或计算平台运行。块可以包括软件组件、面向对象的软件组件、类组件和任务组件以及进程、功能、属性、程序、子例程、程序代码段、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表格、数组和变量,或者由这些配置而成。可以根据设计和系统约束合理地组合或分离由块的各种组件或多个块之间提供的功能。
图1是根据本公开的一些实施例的包括数据存储装置100的数据存储系统10的框图,其中数据存储装置100通过接口500与外部主机(未示出)通信(例如,发送和/或接收)数据和/或命令。利用这种配置,数据存储装置100可以不同地从主机接收(例如)设置(SET)、获得(GET)和/或附加(APPEND)命令,并且可以执行(或运行)与命令对应的一个或更多个操作。
用于将数据存储装置100与主机连接的接口500可以采用许多不同形式中的一种,许多不同形式包括例如通用串行总线(USB)接口、小型计算机系统接口(SCSI)、外围组件互连快件(PCI-E)接口、高级技术附件(ATA)接口、并行ATA(PATA)接口、串行ATA(SATA)接口、串行连接SCSI(SAS)接口和/或非易失性存储器快速(NVMe)接口。
在某些实施例中,数据存储装置100可以被配置和/或操作为固态硬盘(SSD)。可选地,数据存储装置100可以被配置为存储卡,诸如个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、缩小尺寸MMC(RS-MMC)、MMC微卡、安全数字(SD)卡、迷你SD卡、微SD卡、安全数字高容量(SDHC)卡和/或通用闪存(UFS)。然而,在以下描述中,假设数据存储装置100是SSD。
图2是进一步示出了根据本公开的一些实施例的图1的数据存储装置100的一个示例的框图,其中数据存储装置100包括第一存储设备110、第二存储设备120、第三存储设备130和第四存储设备140、散列生成器150、主机接口160和存储控制器170。
第一存储设备110可以用于存储从主机接收的数据,其中第一存储设备110可以包括例如,诸如NAND闪存、相变随机存取存储器(PRAM)、电阻式随机存取存储器(RRAM)和/或磁阻随机存取存储器(MRAM)的非易失性存储设备。在这方面,第一存储设备110可以不同地被用来使用相变材料、铁电材料、电阻材料和/或磁隧道结(MTJ)材料作为存储元件的构成以半永久性方式存储数据。
第二存储设备120、第三存储设备130和第四存储设备140中的至少一个可以与上述存储设备110类似地配置并用于存储从主机接收的数据。
图2中所示的数据存储装置100是可以在各种实施例中使用的许多不同数据存储装置的选定示例。例如,四个存储设备(即,第一存储设备110、第二存储设备120、第三存储设备130和第四存储设备140)的选择是任意的,并且数据存储装置100可以包括任何合理数量的存储设备,如数据存储装置100在物理上提供的和/或在逻辑上定义的。然而,在下面的描述中,假设数据存储装置100包括关于图2描述的四个存储设备。
根据各种实施例,数据存储装置100的第一存储设备110、第二存储设备120、第三存储设备130和第四存储设备140可以被配置为独立磁盘冗余阵列(RAID),使得第一存储设备110、第二存储设备120、第三存储设备130中的每一个用于存储从主机接收的数据,而第四存储设备140用于存储从存储在第一存储设备110、第二存储设备120、第三存储设备130中的数据导出的奇偶校验数据(或“奇偶校验”)。
散列生成器150可以用于对由数据存储装置100存储的数据执行散列操作以生成散列结果(“散列数据”或“散列”)。这里,散列生成器150可以执行例如一个或更多个加密散列函数(例如MD5或SHA)和/或一个或更多个非加密散列函数(例如CRC)。因此,散列生成器150可以被理解为使用加密散列函数和/或非加密散列函数从经由主机接口160和/或多个存储设备中的一个或更多个接收的数据来生成散列。如下文将在一些附加细节中描述的,由散列生成器150生成的一些散列可以用作存储在第四存储设备140中的奇偶校验值的密钥。
尽管未在图2中具体示出,散列生成器150可以包括诸如动态随机存取存储器(DRAM)的内部存储器。散列生成器150可以从存储在第一存储设备110、第二存储设备120、第三存储设备130和第四存储设备140中的至少一个中的数据生成散列,并且可以将所生成的散列临时存储在内部存储器中。
在图2中,存储控制器170可用于进行控制以经由主机接口160从主机接收数据,并产生与存储在第一存储设备110、第二存储设备120和第三存储设备130中的数据对应的值和用于标识这些值的密钥。因此,存储控制器170可以用于控制奇偶校验的生成,该奇偶校验可以随后用于检测所存储的数据中的错误。在这方面,存储控制器170还可以用于管理指示值与密钥之间的相应对应关系的密钥-值映射信息。
根据本主题公开的实施例,数据存储装置100不需要根据逻辑块地址(LBA)将数据存储在第一存储设备110、第二存储设备120、第三存储设备130和第四存储设备140中。相反,数据存储装置100使用与存储在第一存储设备110、第二存储设备120、第三存储设备130和第四存储设备140中的数据对应的值以及标识各个值的密钥来按照密钥-值存储进行操作。针对由数据存储装置100存储的数据的读取和写入操作可以根据密钥-值方法操作,该密钥-值方法将之后更详细地描述。
图3是示出了根据本公开的一些实施例的数据存储装置100的操作的概念图。
参照图3,假设以下说明:第一存储设备110存储第一值V1和第二值V2,第二存储设备120存储第三值V3和第四值V4,以及第三存储设备130存储第五值V5。第四存储设备140存储与第一存储设备110、第二存储设备120和第三存储设备130中存储的第一至第五值V1至V5相关联(或从其导出)的奇偶校验数据。除了前述值(包括V1至V5)之外,第一存储设备110、第二存储设备120、第三存储设备130和第四存储设备140存储分别对应于这些值的密钥。如上所述,术语“值”表示存储在存储设备中的数据,而术语“密钥”表示用于标识对应值的索引数据。如图2的说明所示,每个值可以具有唯一的大小。此外,每个值可以与“偏移”(例如,存储每个值的定义的起始地址)相关联。
参照图3,第一存储设备110存储映射到第一值V1的第一密钥K1,以及映射到第二值V2的第二密钥K2。这里,假设第一值V1具有任意大小2和偏移0,如存储在第一存储设备110中。进一步假设第二值V2紧接第一值V1存储在第一存储设备110中。因此,假设第二值V2的大小为3,则从偏移为2的地址开始存储,并且在对应于偏移为5的地址处结束。
与前述术语一致,第二存储设备120存储映射到大小为1的第三值V3的第三密钥K3以及映射到大小为2的第四值V4的第四密钥K4。第三存储设备130存储映射到大小为6的第五值V5的第五密钥K5。
给定了关于第一存储设备110、第二存储设备120和第三存储设备130的上述操作假设,第四存储设备140存储分别与存储在第一存储设备110、第二存储设备120和第三存储设备130中的值对应的“奇偶校验值”(例如,与第一值V1至第五值V5对应的各自奇偶校验值)。在这方面,第四存储设备140的某些实施例可以包括存储奇偶校验值的奇偶校验值区域,以及存储关于奇偶校验值的信息(即“奇偶校验值头”)的奇偶校验值头区域。
例如,奇偶校验值头区域可用于存储第一密钥K1至第五密钥K5和/或第一值V1至第五值V5中的每一个的大小和偏移信息,并存储第一密钥K1至第五密钥K5和/或第一值V1至第五值V5的映射信息。
此外,在这方面,与存储在第四存储器140中的奇偶校验数据对应的密钥可以被称为“奇偶校验密钥”或Kp。
图4是进一步示出了根据本公开的一些实施例的一种数据如何可以存储在数据存储装置100中包括的多个存储设备中的方法的另一概念图。
继续关于图3阐述的假设并且另外参照图4,第一存储设备110将第一密钥K1和第一值V1存储在第一区域111中,将第二密钥K2和第二值V2存储在第二区域112中。这里,数据存储装置100可以将第一值V1存储在第一存储设备110中,将第一密钥K1以及存储第一值V1的存储区域的地址(例如,起始地址)存储在密钥-值映射表中。具体地,存储控制器170可以管理指示第一值V1与第一密钥K1之间的对应关系的密钥-值映射表的内容。
在这方面,密钥-值映射表可以由存储控制器170管理,使得第一密钥K1与存储第一值V1的存储区域的地址对应。类似地,数据存储装置100可以将第二值V2与第二密钥K2之间的对应关系存储在密钥-值映射表中。因此,可以管理密钥-值映射表,使得第二密钥K2与存储第二值V2的存储区域的地址对应。
如图4的说明所示,第一值V1和第二值V2不需要依次地(或连续地)被存储在第一存储设备110中。以这种方式,第四存储设备140可以存储正确地定义第一值V1和第二值V2的连续偏移的奇偶校验值头信息,然而第一存储设备110中实际存储第一值V1和第二值V2的实际(物理)地址不需要是连续的。
可以类似地控制将第三密钥K3和第三值V3存储在第三区域121中以及将第四密钥K4和第四值V4存储在第四区域122中的第二存储设备120以及将第五密钥K5和第五值V5存储在第五区域131中的第三存储设备130。
结果,第四存储设备140可以将奇偶校验密钥Kp和奇偶校验值Vp存储在第六区域141中。奇偶校验密钥Kp被映射到奇偶校验值Vp,并且可以管理密钥-值映射表以使奇偶校验密钥Kp与其中存储与奇偶校验值Vp对应的数据的存储区域的地址对应。
返回参照图3,第四存储设备140可以包括奇偶校验值区域,使得第四存储设备140可以将与第一值V1至第五值V5相关联的奇偶校验值存储在奇偶校验值区域中。在这方面,数据存储装置100可以定义控制奇偶校验值区域的使用的预定规则,使得第一值V1至第五值V5的奇偶校验值的存储由预定规则控制。
数据存储装置100可以生成在第一存储设备110、第二存储设备120和第三存储设备130中存储的数据中具有相同偏移的数据的奇偶校验值,并且可以将所生成的奇偶校验值存储在第四存储设备140的对应于特定偏移的地址。
例如,在上述第一存储设备110、第二存储设备120和第三存储设备130中存储的数据中偏移为0的数据包括第一值V1、第三值V3和第五值V5。因此,第一值V1、第三值V3和第五值V5的奇偶校验值可以存储在第四存储设备140的对应于偏移为0的地址处。
在一些实施例中,通过对存储在第一存储设备110、第二存储设备120和第三存储设备130中的数据执行XOR运算而获得的数据可以存储在第四存储设备140中,但是本公开并不限于此。例如,通过对与第一值V1、第三值V3和第五值V5对应的数据执行XOR运算而获得的数据(即(V1+V3+V5)),可以存储在第四存储设备的对应于偏移为0的地址处。
类似地,通过对与第一值V1、第四值V4和第五值V5对应的数据执行XOR运算而获得的数据(即(V1+V4+V5)),可以存储在第四存储设备的对应于偏移为1的地址处。
假设针对存储在第一存储设备110、第二存储设备120、第三存储设备130和第四存储设备140中的数据的前述规则,将进一步描述数据存储装置100的操作。
图5A、图5B和图5C是示出了根据本公开的一些实施例的在数据存储装置100内运行SET操作的相应概念图。
参照图2、图5A和图5B,数据存储装置100通过主机接口160从主机接收SET命令连同第六密钥K6和与第六值V6的大小信息相关联的第六值V6。主机指定第一存储设备110、第二存储设备120和第三存储设备130中要存储第六密钥K6和第六值V6的存储设备(例如,第二存储设备120)。
因此,第六密钥K6经由主机接口160被提供给散列生成器150,并且散列生成器生成第六密钥K6的散列(hash(K6))。也就是说,散列生成器150可以通过将第六密钥K6输入到散列函数并输出结果散列来生成第六密钥K6的散列。然后可以将第六密钥K6的散列作为奇偶校验密钥Kp提供给第四存储设备140。
向第四存储设备140提供奇偶校验密钥Kp(Get(Kp))。数据存储装置100可以使用奇偶校验密钥Kp和要存储要由SET命令更新的奇偶校验值Vp的地址来更新密钥-值映射表。
数据存储装置100可以搜索第二存储设备120以确定第六密钥K6是否存在于第二存储设备120中。如果通过搜索第二存储设备120确定第六密钥K6未存储在第二存储设备120中,则数据存储装置100可以产生要存储第六值V6的地址的偏移。由于从偏移为1开始存储大小为2的第四值V4,所以可以从偏移为3开始存储第六值V6。
此后,数据存储装置100使用新添加的第六值V6生成奇偶校验值。由于从偏移为3开始存储第六值V6,所以数据存储装置100从偏移为3开始生成并存储新的奇偶校验值。新的奇偶校验值(即“V2+V5+V6”、“V5+V6”和“V6”)是使用现有的奇偶校验值(即“V2+V5”和“V5”)和第六值V6生成的,并且将所生成的新的奇偶校验值存储在第四存储设备140的奇偶校验值区域中。
此后,数据存储装置100更新奇偶校验值头区域中关于存储第六值V6的第二存储设备120的信息。数据存储装置100可以在奇偶校验值头区域中记录更新了第六值V6的偏移信息和大小信息的奇偶校验值Vp和奇偶校验密钥Kp(UPDATE(Kp,Vp))。以这种方式,完成了将第六密钥K6和第六值V6写入第二存储设备120。
图5C示出了第六密钥K6和第六值V6被新存储在第二存储设备120中,并且还示出了相应地更新了存储在第四存储设备140的奇偶校验值头区域和奇偶校验值区域中的信息。
图6是示出了根据本公开的一些实施例的数据存储装置100运行操作的又一概念图,进一步假设了关于第二存储设备120发生FAIL。
在图6示出的示例中,针对第六密钥K6的GET命令从主机传送到数据存储装置100。然而,响应于该GET命令,关于第二存储设备120发生故障。假设数据存储装置100已知第二存储设备120中发生了故障。
数据存储装置100被提供来自主机的第六密钥K6和GET命令,并使用第六密钥K6的散列生成奇偶校验密钥Kp。这些步骤与响应于上述SET命令而执行的各个对应部分几乎相同。此后,数据存储装置100使用奇偶校验密钥Kp搜索存储在第四存储设备140中的奇偶校验值头,以找到存储第六密钥K6和第六值V6的位置。由于关于第六密钥K6的信息存储在奇偶校验值头中,但是在实际存储第六密钥K6的第二存储设备120中发生了故障,因此需要使用存储在第四存储设备140中的奇偶校验值来重建第六值V6。
数据存储装置100尝试使用第六值V6的偏移来重建第六值V6。指示第六值V6的偏移和大小分别为3和4的信息存储在奇偶校验值头中。因此,数据存储装置100使用存储在第一存储设备110和第三存储设备130中的数据并使用存储在第四存储设备140中的奇偶校验值,在四个阶段中重建第六值V6。
一旦完成第六值V6的重建,数据存储装置100就经由主机接口160向主机提供第六值V6。
图7是进一步示出了根据本公开的一些实施例的在一个示例中由数据存储装置100执行的重建操作的又一概念图。
参照图7,ITERATE命令被提供给第四存储设备140。ITERATE命令可以由主机提供,或者可以在重建过程期间由数据存储装置100在内部生成。
此后,搜索奇偶校验值头以恢复存储在第二存储设备120中的第三密钥K3、第四密钥K4和第六密钥K6以及第三值V3、第四值V4和第六值V6。
作为对奇偶校验值头的搜索结果,获得了第一密钥K1、第二密钥K2和第五密钥K5。由于第一值V1、第二值V2和第五值V5的偏移信息和大小信息存储在奇偶校验值头中,因此数据存储装置100可以从偏移0开始顺序地重建存储在第二存储设备120中的数据。一旦完成了存储在第二存储设备120中的数据的重建,就可以使用SET命令记录在第二存储设备120中重建的数据。由于存储奇偶校验值头的第四存储设备140是正常的,因此不需要密钥或奇偶校验值更新。
图8A和图8B是示出了根据本公开的一些实施例的由数据存储装置100运行的删除操作的相应概念图。
参照图8A,DELETE命令和第二密钥K2从主机提供给数据存储装置100。散列生成器150可以使用第二密钥K2生成奇偶校验密钥Kp。数据存储装置100使用所生成的奇偶校验密钥Kp在奇偶校验值头中搜索关于第二密钥K2和第二值V2的信息。
数据存储装置100对第二值V2和现有奇偶校验值执行XOR运算以从第一存储设备110移除第二值V2。由于第二值V2的偏移信息和大小信息存储在奇偶校验值头中,数据存储装置100可以通过参考第二值V2的偏移信息和大小信息从现有奇偶校验值中去除第二值V2来产生新的奇偶校验值,即“V4+V5”和“V5+V6”。可以在数据存储装置100的内部存储器中执行新的奇偶校验值的生成。
从奇偶校验值头中移除关于第二密钥K2的信息,并且从第一存储设备110中移除第二密钥K2和第二值V2。数据存储装置100可以在第四存储设备140中更新关于奇偶校验密钥Kp和奇偶校验值Vp的信息,其中从奇偶校验密钥Kp和奇偶校验值Vp中去除第二密钥K2和第二值V2。
图8B示出了从第一存储设备110移除第二密钥K2和第二值V2,并且还示出了从第四存储设备140的奇偶校验值头和奇偶校验值区域中去除关于第二值V2的信息。
图9A和图9B是示出了根据本公开的一些实施例的数据存储装置100运行APPEND操作的相应概念图。
参照图9A,APPEND命令、第四密钥K4、第四值V4和要添加到第四值V4的数据的大小信息1从主机提供给数据存储装置100。
从主机接口160向存储控制器170提供第四密钥K4,存储控制器170使用散列生成器150生成第四密钥K4的散列,并将所生成的散列指定为奇偶校验密钥Kp。奇偶校验密钥Kp被提供给第四存储设备140。
向第四存储设备140提供奇偶校验密钥Kp(Get(Kp))。数据存储装置100可以使用奇偶校验密钥Kp和要存储要通过SET命令更新的奇偶校验值Vp的地址来更新密钥-值映射表。
数据存储装置100可以搜索奇偶校验值头以确定第四密钥K4是否存在于第二存储设备120中。如图9A所示,由于第四密钥K4存储在第二存储设备120中,所以数据存储装置100在存储数据的第二存储设备120中搜索最后一个偏移。由于第六密钥K6存储在第二存储设备120中,特别地,存储在从偏移为3开始并且大小为4的存储区域中,因此可以从偏移为7开始记录第四密钥K4'。
生成其中反映了关于要由SET命令记录的第四值V4'的信息的奇偶校验值。由于在第一存储设备110和第三存储设备130中不存在偏移为7,所以可以仅添加关于第四值V4'的信息作为新的奇偶校验。
此后,数据存储装置100可以通过反映要记录在第二存储设备120中的信息来更新奇偶校验值头,并且可以将更新的奇偶校验密钥Kp和更新的奇偶校验值Vp存储在第四存储设备140中。类似地,数据存储装置100将第四值V4'存储在第二存储设备120中。此外,数据存储装置100可以更新密钥-值映射表中的第四密钥K4'和第四值V4'的地址信息。
尽管已经为了说明的目的公开了本公开的一些实施例,但是本领域技术人员应当理解,在不脱离所附权利要求中所公开的本公开的实施例的范围和精神的情况下,可以进行各种修改、添加和替换。

Claims (20)

1.一种存储装置,所述存储装置包括:
多个存储设备;以及
存储控制器,其从主机接收与所述多个存储设备中存储的数据对应的值和用于标识所述值的密钥,基于所述值生成用于检查所述数据的任何错误的奇偶校验值,并且管理关于所述值与所述密钥之间的对应关系的密钥-值映射信息,
其中,所述多个存储设备包括:存储所述值和所述密钥的第一存储设备和第二存储设备,以及存储根据所述值计算出的奇偶校验值和用于管理所述奇偶校验值的奇偶校验值头的第三存储设备。
2.根据权利要求1所述的存储装置,其中,
所述第一存储设备存储第一值和用于标识所述第一值的第一密钥,以及
所述第二存储设备存储第二值和用于标识所述第二值的第二密钥。
3.根据权利要求2所述的存储装置,其中,所述第三存储设备将所述第一存储设备的存储所述第一值的地址的偏移、所述第一值的大小、所述第二存储设备的存储所述第二值的地址的偏移以及所述第二值的大小存储在所述奇偶校验值头中。
4.根据权利要求2所述的存储装置,其中,
所述存储控制器生成所述第一密钥和第二密钥的散列值,并且
所述第一密钥和所述第二密钥的散列值相同。
5.根据权利要求1所述的存储装置,其中,从所述主机向所述存储控制器提供设置命令、与要通过所述设置命令来记录的数据对应的第一值以及用于标识所述第一值的第一密钥,并且所述存储控制器将所述第一值和所述第一密钥存储在所述第一存储设备中。
6.根据权利要求5所述的存储装置,其中,所述存储控制器使用从所述主机提供的所述第一密钥的散列生成奇偶校验密钥,并使用存储在所述第一存储设备和第二存储设备中的值以及从所述主机提供的所述第一值生成新的奇偶校验值,并将所述新的奇偶校验值和所述奇偶校验密钥存储在所述第三存储设备中。
7.根据权利要求1所述的存储装置,其中,从所述主机向所述存储控制器提供删除命令和映射到将要删除的数据的第一密钥,并且所述存储控制器从所述第一存储设备和所述第二存储设备中的一个删除与所述第一密钥对应的第一值。
8.根据权利要求7所述的存储装置,其中,所述存储控制器使用从所述主机提供的所述第一密钥的散列生成奇偶校验密钥,并使用所生成的奇偶校验密钥在所述第三存储设备中存储的奇偶校验值头中搜索关于所述第一密钥和所述第一值的信息,从所述第一存储设备和所述第二存储设备中的一个删除所述第一值,并将根据所述第一值和现有奇偶校验值所计算的新的奇偶校验值存储在所述第三存储设备中。
9.根据权利要求1所述的存储装置,其中,从所述主机向所述存储控制器提供附加命令、映射到要通过所述附加命令来引用的第一值的第一密钥,以及将用以更新所述第一值的第二值,并且所述存储控制器将所述第二值存储在所述第一存储设备和所述第二存储设备中的一个。
10.根据权利要求9所述的存储装置,其中,所述存储控制器使用从所述主机提供的所述第一密钥的散列生成奇偶校验密钥,使用所生成的奇偶校验密钥,在所述第三存储设备中存储的所述奇偶校验值头中搜索关于所述第一密钥和与所述第一密钥对应的所述第一值的信息,将所述第二值存储在映射到所述第一密钥的地址处,并且还将根据所述第二值和所述现有奇偶校验值所计算的新的奇偶校验值存储在所述第三存储设备中。
11.一种独立磁盘冗余阵列系统,所述独立磁盘冗余阵列系统包括:
主机,其提供访问命令、与所述访问命令所针对的数据对应的值以及用于标识所述值的密钥;和
被配置为独立磁盘冗余阵列的多个存储设备,其从所述主机接收所述访问命令,并且响应于所述访问命令访问存储在其中的数据,
其中,所述多个存储设备包括:存储所述值和所述密钥的第一存储设备和第二存储设备;存储奇偶校验值和奇偶校验值头的第三存储设备,所述奇偶校验值是根据存储在所述第一存储设备和所述第二存储设备中的所述值计算出的,所述奇偶校验值头用于管理所述奇偶校验值;以及管理关于所述值与所述密钥之间的对应关系的密钥-值映射信息的独立磁盘冗余阵列控制器。
12.根据权利要求11所述的独立磁盘冗余阵列系统,其中,
所述第一存储设备存储第一值和用于标识所述第一值的第一密钥,以及
所述第二存储设备存储第二值和用于标识所述第二值的第二密钥。
13.根据权利要求12所述的独立磁盘冗余阵列系统,其中,所述第三存储设备在所述奇偶校验值头中存储所述第一存储设备的存储所述第一值的地址的偏移、所述第一值的大小、所述第二存储设备的存储所述第二值的地址的偏移以及所述第二值的大小。
14.根据权利要求13所述的独立磁盘冗余阵列系统,其中,
所述多个存储设备生成所述第一密钥和第二密钥的散列值,并且
所述第一密钥和所述第二密钥的散列值相同。
15.根据权利要求14所述的独立磁盘冗余阵列系统,其中,所述多个存储设备包括固态硬盘。
16.一种存储装置,所述存储装置包括:
存储数据的多个第一存储设备和存储所述数据的奇偶校验值的第二存储设备;和
存储控制器,其从主机接收与存储在所述多个第一存储设备中的所述数据对应的值和用于标识所述值的密钥,基于所述值生成用于检查所述数据的任何错误的奇偶校验值,并管理关于所述值与所述密钥之间的对应关系的密钥-值映射信息,
其中,所述存储控制器根据映射到所述多个第一存储设备中预定地址的偏移的值来计算所述奇偶校验值,并将所述奇偶校验值存储在所述第二存储设备中。
17.根据权利要求16所述的存储装置,其中,所述多个第一存储设备存储第一值和用于标识所述第一值的第一密钥,并且还存储第二值和用于标识所述第二值的第二密钥。
18.根据权利要求17所述的存储装置,其中,所述第二存储设备将所述第一值的大小和所述第二值的大小存储在奇偶校验值头中。
19.根据权利要求17所述的存储装置,其中,
所述多个第一存储设备生成所述第一密钥和第二密钥的散列值,并且
所述第一密钥和第二密钥的散列值相同。
20.根据权利要求16所述的存储装置,其中,所述多个第一存储设备包括闪存。
CN201910052161.8A 2018-03-05 2019-01-21 数据存储装置及其操作方法 Active CN110231914B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0025890 2018-03-05
KR1020180025890A KR102490191B1 (ko) 2018-03-05 2018-03-05 데이터 스토리지 장치 및 이를 포함하는 raid 시스템

Publications (2)

Publication Number Publication Date
CN110231914A true CN110231914A (zh) 2019-09-13
CN110231914B CN110231914B (zh) 2024-04-09

Family

ID=67767703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910052161.8A Active CN110231914B (zh) 2018-03-05 2019-01-21 数据存储装置及其操作方法

Country Status (3)

Country Link
US (1) US10884857B2 (zh)
KR (1) KR102490191B1 (zh)
CN (1) CN110231914B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948335A (zh) * 2021-02-23 2021-06-11 北京星震同源数字系统股份有限公司 一种数据处理方法和系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501727B (zh) * 2023-06-29 2023-09-19 深圳市华磊迅拓科技有限公司 一种设备数据校验方法、装置、设备及存储介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1057533A (zh) * 1990-06-21 1992-01-01 国际商业机器公司 恢复受奇偶校验保护数据的方法和装置
US6024486A (en) * 1996-06-05 2000-02-15 Compaq Computer Corporation Data error detection and correction
CN1928840A (zh) * 2005-09-05 2007-03-14 株式会社日立制作所 存储装置虚拟化装置的设备控制交接方法
CN1975697A (zh) * 2005-11-28 2007-06-06 株式会社东芝 保护存储器的方法、装置和系统
US20070174494A1 (en) * 2005-11-04 2007-07-26 Sun Microsystems, Inc. I/O dependency graphs
JP2007294093A (ja) * 2007-04-11 2007-11-08 Hitachi Ltd ディジタル信号記録装置、再生装置、および記録媒体
WO2008113669A1 (de) * 2007-03-16 2008-09-25 Siemens Aktiengesellschaft Vorrichtung, system, konfigurationsverfahren und konfigurationsvorrichtung
CN101556638A (zh) * 2008-04-10 2009-10-14 株式会社瑞萨科技 数据处理设备
US20120233406A1 (en) * 2011-03-07 2012-09-13 Fujitsu Limited Storage apparatus, and control method and control apparatus therefor
CN102722453A (zh) * 2010-12-21 2012-10-10 西部数据技术公司 执行包括两个密钥的单一命令以访问跨越两个加密区域的扇区的数据存储设备
US20130179659A1 (en) * 2012-01-09 2013-07-11 Samsung Electronics Co., Ltd. Data storage device with selective data compression
CN103475643A (zh) * 2013-08-22 2013-12-25 北京宏基恒信科技有限责任公司 动态令牌的密钥更新方法、系统、动态令牌及认证服务器
US8799681B1 (en) * 2007-12-27 2014-08-05 Emc Corporation Redundant array of encrypting disks
CN103970844A (zh) * 2014-04-28 2014-08-06 北京创世漫道科技有限公司 大数据的写入方法和装置、读取方法和装置及处理系统
CN103988182A (zh) * 2011-12-16 2014-08-13 英特尔公司 使用奇偶校验和冗余行的动态错误处理
US20160041783A1 (en) * 2014-08-07 2016-02-11 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the memory system
GB201701867D0 (en) * 2017-02-04 2017-03-22 Tomlinson Martin Controlled and verifiable information destruction
CN107193486A (zh) * 2016-03-14 2017-09-22 三星电子株式会社 数据存储设备和包括该数据存储设备的数据处理系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101797107B1 (ko) * 2011-07-08 2017-12-13 삼성전자주식회사 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템
US8327185B1 (en) 2012-03-23 2012-12-04 DSSD, Inc. Method and system for multi-dimensional raid
US9075710B2 (en) * 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
CN105579980A (zh) * 2013-09-27 2016-05-11 仁荷大学校产学协力团 基于ssd的raid系统中的校验数据的去重
US9454434B2 (en) 2014-01-17 2016-09-27 Netapp, Inc. File system driven raid rebuild technique
US9256549B2 (en) 2014-01-17 2016-02-09 Netapp, Inc. Set-associative hash table organization for efficient storage and retrieval of data in a storage system
US9606870B1 (en) 2014-03-31 2017-03-28 EMC IP Holding Company LLC Data reduction techniques in a flash-based key/value cluster storage
US10956050B2 (en) * 2014-03-31 2021-03-23 Sandisk Enterprise Ip Llc Methods and systems for efficient non-isolated transactions
KR20160083762A (ko) * 2015-01-02 2016-07-12 삼성전자주식회사 스토리지 시스템에서의 매핑 테이블 관리 방법 및 이를 적용한 스토리지 시스템
US10216966B2 (en) * 2015-02-25 2019-02-26 Netapp, Inc. Perturb key technique
US11074224B2 (en) 2015-05-11 2021-07-27 Apple Inc. Partitioned data replication
US10073732B2 (en) 2016-03-04 2018-09-11 Samsung Electronics Co., Ltd. Object storage system managing error-correction-code-related data in key-value mapping information
KR102667783B1 (ko) * 2016-03-04 2024-05-23 삼성전자주식회사 Ecc 관련 데이터를 키-밸류 맵핑 정보에서 관리하는 오브젝트 스토리지 시스템

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1057533A (zh) * 1990-06-21 1992-01-01 国际商业机器公司 恢复受奇偶校验保护数据的方法和装置
US6024486A (en) * 1996-06-05 2000-02-15 Compaq Computer Corporation Data error detection and correction
CN1928840A (zh) * 2005-09-05 2007-03-14 株式会社日立制作所 存储装置虚拟化装置的设备控制交接方法
US20070174494A1 (en) * 2005-11-04 2007-07-26 Sun Microsystems, Inc. I/O dependency graphs
CN1975697A (zh) * 2005-11-28 2007-06-06 株式会社东芝 保护存储器的方法、装置和系统
WO2008113669A1 (de) * 2007-03-16 2008-09-25 Siemens Aktiengesellschaft Vorrichtung, system, konfigurationsverfahren und konfigurationsvorrichtung
JP2007294093A (ja) * 2007-04-11 2007-11-08 Hitachi Ltd ディジタル信号記録装置、再生装置、および記録媒体
US8799681B1 (en) * 2007-12-27 2014-08-05 Emc Corporation Redundant array of encrypting disks
CN101556638A (zh) * 2008-04-10 2009-10-14 株式会社瑞萨科技 数据处理设备
CN102722453A (zh) * 2010-12-21 2012-10-10 西部数据技术公司 执行包括两个密钥的单一命令以访问跨越两个加密区域的扇区的数据存储设备
US20120233406A1 (en) * 2011-03-07 2012-09-13 Fujitsu Limited Storage apparatus, and control method and control apparatus therefor
CN103988182A (zh) * 2011-12-16 2014-08-13 英特尔公司 使用奇偶校验和冗余行的动态错误处理
US20130179659A1 (en) * 2012-01-09 2013-07-11 Samsung Electronics Co., Ltd. Data storage device with selective data compression
CN103475643A (zh) * 2013-08-22 2013-12-25 北京宏基恒信科技有限责任公司 动态令牌的密钥更新方法、系统、动态令牌及认证服务器
CN103970844A (zh) * 2014-04-28 2014-08-06 北京创世漫道科技有限公司 大数据的写入方法和装置、读取方法和装置及处理系统
US20160041783A1 (en) * 2014-08-07 2016-02-11 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the memory system
CN107193486A (zh) * 2016-03-14 2017-09-22 三星电子株式会社 数据存储设备和包括该数据存储设备的数据处理系统
GB201701867D0 (en) * 2017-02-04 2017-03-22 Tomlinson Martin Controlled and verifiable information destruction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948335A (zh) * 2021-02-23 2021-06-11 北京星震同源数字系统股份有限公司 一种数据处理方法和系统

Also Published As

Publication number Publication date
KR20190105400A (ko) 2019-09-17
US10884857B2 (en) 2021-01-05
CN110231914B (zh) 2024-04-09
US20190272216A1 (en) 2019-09-05
KR102490191B1 (ko) 2023-01-18

Similar Documents

Publication Publication Date Title
US10140065B2 (en) Method and apparatus for storing information using an intelligent block storage controller
US10140064B2 (en) Method and apparatus for storing information using an intelligent block storage controller
US10248362B2 (en) Data management for a data storage device
US9910748B2 (en) Rebuilding process for storage array
US10037158B2 (en) Vertically integrated storage
US10365983B1 (en) Repairing raid systems at per-stripe granularity
US10127166B2 (en) Data storage controller with multiple pipelines
JP6200886B2 (ja) フラッシュストレージアレイにおける論理セクタマッピング
JP6243028B2 (ja) アトミック記憶操作のためのシステム及び方法
US20170277630A1 (en) Garbage collection and defragmentation for solid state drives (ssd) and shingled magnetic recording (smr) drives
US11474899B2 (en) Operation method of open-channel storage device
US8612836B2 (en) Non-volatile memory device with uncorrectable information region and operation method using the same
US10606760B2 (en) Nonvolatile memory devices and methods of controlling the same
CN110096219B (zh) 从驱动器组生成的驱动器区段池的有效容量
US10956071B2 (en) Container key value store for data storage devices
US10095585B1 (en) Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails
US20170060698A1 (en) Methods and systems for improving storage journaling
CN108073357A (zh) 以raid方式存储数据的存储装置
JP2003167690A (ja) ディスクアレイ装置及び同装置におけるデータ復旧方法
CN109582219A (zh) 存储系统、计算系统及其方法
CN110231914A (zh) 数据存储装置及其操作方法
US20180307427A1 (en) Storage control apparatus and storage control method
CN113254265B (zh) 基于固态硬盘的快照实现方法、存储系统
US11360683B1 (en) Logical raid
US11221790B2 (en) Storage system

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