CN103092765B - 固态存储***、装置及数据写入方法 - Google Patents

固态存储***、装置及数据写入方法 Download PDF

Info

Publication number
CN103092765B
CN103092765B CN201210591581.1A CN201210591581A CN103092765B CN 103092765 B CN103092765 B CN 103092765B CN 201210591581 A CN201210591581 A CN 201210591581A CN 103092765 B CN103092765 B CN 103092765B
Authority
CN
China
Prior art keywords
data
lpage
logical
page
logical page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210591581.1A
Other languages
English (en)
Other versions
CN103092765A (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.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen 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 Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201210591581.1A priority Critical patent/CN103092765B/zh
Publication of CN103092765A publication Critical patent/CN103092765A/zh
Priority to PCT/CN2013/077392 priority patent/WO2014101375A1/zh
Priority to US14/650,648 priority patent/US9639441B2/en
Application granted granted Critical
Publication of CN103092765B publication Critical patent/CN103092765B/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/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/2069Management of state, configuration or failover
    • 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
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明适用于存储技术领域,提供了一种固态存储***的数据写入方法,所述固态存储***包括若干逻辑盘,所述方法包括:从每个所述逻辑盘分配至少一空闲逻辑块,用于接收并行数据,每个所述逻辑块包括若干逻辑页;将各个所述逻辑块中页号相同的所述逻辑页设为一个磁盘阵列组,每个所述磁盘阵列组用于储存一组并行数据,以及所述并行数据的校验信息;当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。本发明还提供一种实现上述方法的固态存储***。借此,本发明在一个逻辑盘出错的情况下可以恢复该盘数据,且不需要增加额外的成本。

Description

固态存储***、装置及数据写入方法
技术领域
本发明涉及储存技术领域,尤其涉及一种固态存储***、装置及数据写入方法。
背景技术
MLC(Multi-Level Cell,多层单元)Nand Flash相对SLC(Single-Level Cell,单层单元)Nand flash有更高的存储密度,在固态硬盘领域有着越来越广泛的应用。MLC Nand Flash一个存储单元(memory cell)可以存储2bits的信息,这2bits分属于两个不同的page,这样的一组page叫couple pages,存低位比特的叫low page,存高位比特的叫up page,它执行写有以下两个约束:1)Low page必须在up page之前被写入;2)Up page在写入过程中被打断,比如异常掉电,uppage的信息会丢失,而且它对应的low page的信息也可能会丢失,而low page不会影响其up page。
现有技术通过额外提供备用电源或超级电容,当主电源断电时,由备用电源供电保证当前正在写的数据成功写入到Nand Flash中。但这种解决方式需要提供外部的硬件支持,增加了成本和硬件复杂性,
综上可知,现有的固态存储数据的写入方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种固态存储***、装置及数据写入方法,在不增加额外硬件成本的前提下恢复被破坏的数据。
为了实现上述目的,本发明提供一种固态存储***的数据写入方法,所述固态存储***包括若干逻辑盘,所述方法包括:
从每个所述逻辑盘分配至少一空闲逻辑块,用于接收并行数据,每个所述逻辑块包括若干逻辑页;
将各个所述逻辑块中页号相同的所述逻辑页设为一个磁盘阵列组,每个所述磁盘阵列组用于储存一组并行数据,以及所述并行数据的校验信息;
当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。
根据本发明的数据写入方法,所述逻辑块的一个存储单元包括相邻的两个所述逻辑页,其中一个逻辑页用于存储低位数据,另一个逻辑页用于存储高位数据。
根据本发明的数据写入方法,所述当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据步骤包括:
当所述高位数据的写入将对应的低位数据破坏时,通过所述低位数据所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。
根据本发明的数据写入方法,所述方法还包括:
若接收并行数据的各个逻辑块中存在所述用于存储高位数据且页号相同的逻辑页,则选择其中的一个所述逻辑页接收数据写入,并阻塞其它页号相同的所述逻辑页的写入请求。
本发明还提供一种固态存储***,包括若干逻辑盘,所述存储***还包括:
分配模块,用于从每个所述逻辑盘分配至少一空闲逻辑块,所述空闲逻辑块用于接收并行数据,每个所述逻辑块包括若干逻辑页;
设置模块,用于将各个所述逻辑块中页号相同的所述逻辑页设为一个磁盘阵列组,每个所述磁盘阵列组用于储存一组并行数据,以及所述并行数据的校验信息;
恢复模块,用于当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。
根据本发明的固态存储***,所述逻辑块的一个存储单元包括相邻的两个所述逻辑页,其中一个逻辑页用于存储低位数据,另一个逻辑页用于存储高位数据。
根据本发明的固态存储***,所述恢复模块进一步用于当所述高位数据的写入将对应的低位数据破坏时,通过所述低位数据所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。
根据本发明的固态存储***,所述***还包括处理模块,用于所述***接收并行数据的各个逻辑块中存在所述用于存储高位数据且页号相同的逻辑页时,选择其中的一个所述逻辑页接收数据写入,并阻塞其它页号相同的所述逻辑页的写入请求。
本发明还提供一种包括如上所述***的存储装置。
本发明通过将固态存储***中各个逻辑块的页号相同的所述逻辑页设为一个磁盘阵列组,每个所述磁盘阵列组可储存一组并行数据,以及该组并行数据的校验信息,当一个逻辑页中的数据被破坏时,***可通过该逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复被破坏的数据。借此,本发明可在不增加额外硬件成本的前提下恢复被破坏的数据。
附图说明
图1是本发明的固态存储***的结构示意图;
图2是本发明一实施例的固态硬盘***的逻辑结构示意图;
图3A是本发明一实施例的第一数据写入状态示意图;
图3B是图3A所示实施例的第二数据写入状态示意图;
图3C是图3A所示实施例的第三数据写入状态示意图;
图4是本发明另一实施例的数据写入状态示意图;
图5是本发明的数据写入方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种固态存储***,该固态存储***100可应用于固态存储装置,比如固态硬盘。该***100的存储部分包括若干逻辑盘,并且***100还包括分配模块10、设置模块20及恢复模块30,具体的:
分配模块10,用于从每个所述逻辑盘分配至少一空闲逻辑块,所述空闲逻辑块用于接收并行数据,每个所述逻辑块包括若干逻辑页。每个逻辑盘通常包括空闲逻辑块和非空闲逻辑块,非空闲逻辑块表示已写入数据,空闲逻辑块表示允许写入数据。当收到写入数据命令时,分配模块10自动从逻辑盘中查找空闲的逻辑块,用于数据写入。
设置模块20,用于将各个所述逻辑块中页号相同的所述逻辑页设为一个磁盘阵列组(RAID stripe),每个所述磁盘阵列组用于储存一组并行数据,以及所述并行数据的校验信息。需要说明的,各个数据的校验信息存储于单独的一个逻辑盘,而不与数据存储在一起,借此,某逻辑盘的数据被破坏时,其校验信息不会一同被破坏,便于后续的数据恢复。
恢复模块30,用于当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。如前所述,对于同时写入的一组并行数据,数据的检验信息与数据分开储存,当逻辑盘中某逻辑页的数据被损坏时,***100可通过同时写入的其它数据及校验信息计算恢复被损坏的数据。
本发明通过软件计算方式恢复被破坏的数据,其不需要增加额外的硬件,具有较高的实用性。
再参见图2,该实施例中,固态存储***100包括四个逻辑盘,其中,逻辑盘LU0~LU2用于存储数据,逻辑盘LU3则用于存储数据的检验信息。每个逻辑盘均包括B0和B1两个逻辑块,逻辑块的一个基本存储单元包括相邻的两个逻辑页,比如逻辑页P0(L0)和P1(U0),其中一个逻辑页P0(L0)用于存储低位数据,另一个逻辑页P1(U0)用于存储高位数据。当某逻辑块的高位数据的写入将对应的低位数据破坏时,通过所述低位数据所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。结合图4,逻辑盘LUN1中逻辑块B1的用于存储低位数据的逻辑页P0(L0)被未完成的P1(U0)的写操作破坏,比如在写入P1(U0)时突然断电。再次上电后,***100可通过逻辑页P0(L0)所在的磁盘阵列组储存的其它数据以及校验信息计算恢复被破坏的数据,借此使固态存储***100具有数据恢复能力。
优选的是,本发明的固态存储***100还包括处理模块40,用于接收并行数据的各个逻辑块中存在页号相同的高位数据的逻辑页时,选择其中的一个逻辑页接收数据写入,并阻塞其它页号相同的所述逻辑页的写入请求。需要说明的,上述阻塞处理仅对当前一组写入的数据有效,当下一组并行数据请求写入时,再重复上述判断,确定是写入还是阻塞。具体的实现过程如图3A~图3C所示,对于图3A,一组并行数据写入时,刚好写入到逻辑盘LU0~LU3的存储高位数据的逻辑页P1(U0),由于各盘的逻辑页号相同,所以选择其中的一个逻辑页(图中示出选择的为逻辑盘LU0的逻辑页P1(U0))执行写入,其它相同页号的逻辑页被阻塞写入。图3B和图3C,分别示出了后续的写入过程,且后续的写入速度逐渐恢复到正常写入速度。
本发明还提供一种包括如上所述***100的固态存储装置,其采用上述阻塞写入的处理方法,可以保证在掉电时不会有相同页号的高位数据被同时破坏,进而确保不会有相同页号的低位数据被破坏,即,保证了每一个磁盘阵列组在***掉电异常时,最多只有一个数据被破坏,借此可通过磁盘阵列组中未被破坏的数据及校验信息计算恢复被破坏的数据。
参见图5,本发明提供了一种数据写入方法,其可以通过如图1所示的***100实现,所述固态存储***包括若干逻辑盘,所述方法包括:
步骤S501,从每个所述逻辑盘分配至少一空闲逻辑块,用于接收并行数据,每个所述逻辑块包括若干逻辑页。
每个逻辑盘通常包括空闲逻辑块和非空闲逻辑块,非空闲逻辑块表示已写入数据,空闲逻辑块表示允许写入数据。当收到写入数据命令时,分配模块10自动从逻辑盘中查找空闲的逻辑块,用于数据写入。进一步的,所述逻辑块的一个存储单元包括相邻的两个所述逻辑页,其中一个逻辑页用于存储低位数据,另一个逻辑页用于存储高位数据。
步骤S502,将各个所述逻辑块中页号相同的所述逻辑页设为一个磁盘阵列组,每个所述磁盘阵列组用于储存一组并行数据,以及所述并行数据的校验信息。
需要说明的,各个数据的校验信息存储于单独的一个逻辑盘,而不与数据存储在一起,借此,某逻辑盘的数据被破坏时,其校验信息不会一同被破坏,便于后续的数据恢复。
步骤S503,当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。
如前所述,对于同时写入的一组并行数据,数据的检验信息与数据分开储存,当逻辑盘中某逻辑页的数据被损坏时,***100可通过同时写入的其它数据及校验信息计算恢复被损坏的数据。具体的,当所述高位数据的写入将对应的低位数据破坏时,通过所述低位数据所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。
更好的,若接收并行数据的各个逻辑块中存在用于存储高位数据且页号相同的逻辑页,则选择其中的一个所述逻辑页接收数据写入,并阻塞其它页号相同的所述逻辑页的写入请求。具体的实现过程如图3A~图3C所示,对于图3A,一组并行数据写入时,刚好写入到逻辑盘LU0~LU3的存储高位数据的逻辑页P1(U0),由于各盘的逻辑页号相同,所以选择其中的一个逻辑页(图中示出选择的为逻辑盘LU0的逻辑页P1(U0))执行写入,其它相同页号的逻辑页被阻塞写入。图3B和图3C,分别示出了后续的写入过程,且后续的写入速度逐渐恢复到正常写入速度。采用上述阻塞写入的处理方法,可以保证在掉电时不会有相同页号的高位数据被同时破坏,进而确保不会有相同页号的低位数据被破坏,即,保证了每一个磁盘阵列组在***掉电异常时,最多只有一个数据被破坏,借此可通过磁盘阵列组中未被破坏的数据及校验信息计算恢复被破坏的数据。
综上所述,本发明通过将固态存储***中各个逻辑块的页号相同的所述逻辑页设为一个磁盘阵列组,每个所述磁盘阵列组可储存一组并行数据,以及该组并行数据的校验信息,当一个逻辑页中的数据被破坏时,***可通过该逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复被破坏的数据。借此,本发明可在不增加额外硬件成本的前提下恢复被破坏的数据。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (5)

1.一种固态存储***的数据写入方法,所述固态存储***包括若干逻辑盘,其特征在于,所述方法包括:
从每个所述逻辑盘分配至少一空闲逻辑块,用于接收并行数据,每个所述逻辑块包括若干逻辑页,所述逻辑块的一个存储单元包括相邻的两个所述逻辑页,其中一个逻辑页用于存储低位数据,另一个逻辑页用于存储高位数据;
将各个所述逻辑块中页号相同的所述逻辑页设为一个磁盘阵列组,每个所述磁盘阵列组用于储存一组并行数据,以及所述并行数据的校验信息;
当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据;
若接收并行数据的各个逻辑块中存在所述用于存储高位数据且页号相同的逻辑页,则选择其中的一个所述逻辑页接收数据写入,并阻塞其它页号相同的所述逻辑页的写入请求。
2.根据权利要求1所述的数据写入方法,其特征在于,所述当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据步骤包括:
当所述高位数据的写入将对应的低位数据破坏时,通过所述低位数据所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。
3.一种固态存储***,包括若干逻辑盘,其特征在于,所述存储***还包括:
分配模块,用于从每个所述逻辑盘分配至少一空闲逻辑块,所述空闲逻辑块用于接收并行数据,每个所述逻辑块包括若干逻辑页,所述逻辑块的一个存储单元包括相邻的两个所述逻辑页,其中一个逻辑页用于存储低位数据,另一个逻辑页用于存储高位数据;
设置模块,用于将各个所述逻辑块中页号相同的所述逻辑页设为一个磁盘阵列组,每个所述磁盘阵列组用于储存一组并行数据,以及所述并行数据的校验信息;
恢复模块,用于当一个所述逻辑页中的数据被破坏时,通过所述逻辑页所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据;
处理模块,用于所述***接收并行数据的各个逻辑块中存在所述用于存储高位数据且页号相同的逻辑页时,选择其中的一个所述逻辑页接收数据写入,并阻塞其它页号相同的所述逻辑页的写入请求。
4.根据权利要求3所述的固态存储***,其特征在于,所述恢复模块进一步用于当所述高位数据的写入将对应的低位数据破坏时,通过所述低位数据所在的磁盘阵列组储存的其它数据以及校验信息计算恢复所述被破坏的数据。
5.一种包括如权利要求3或4所述***的存储装置。
CN201210591581.1A 2012-12-31 2012-12-31 固态存储***、装置及数据写入方法 Active CN103092765B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210591581.1A CN103092765B (zh) 2012-12-31 2012-12-31 固态存储***、装置及数据写入方法
PCT/CN2013/077392 WO2014101375A1 (zh) 2012-12-31 2013-06-18 固态存储***、装置及数据写入方法
US14/650,648 US9639441B2 (en) 2012-12-31 2013-06-18 Solid-state storage system, apparatus and method of writing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210591581.1A CN103092765B (zh) 2012-12-31 2012-12-31 固态存储***、装置及数据写入方法

Publications (2)

Publication Number Publication Date
CN103092765A CN103092765A (zh) 2013-05-08
CN103092765B true CN103092765B (zh) 2015-08-05

Family

ID=48205365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210591581.1A Active CN103092765B (zh) 2012-12-31 2012-12-31 固态存储***、装置及数据写入方法

Country Status (3)

Country Link
US (1) US9639441B2 (zh)
CN (1) CN103092765B (zh)
WO (1) WO2014101375A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092765B (zh) * 2012-12-31 2015-08-05 记忆科技(深圳)有限公司 固态存储***、装置及数据写入方法
CN103279402B (zh) * 2013-05-13 2016-08-10 记忆科技(深圳)有限公司 基于多层单元固态硬盘的数据恢复方法及固态硬盘
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
JP6777330B2 (ja) * 2018-12-18 2020-10-28 Necプラットフォームズ株式会社 ディスクアレイ制御装置、ディスクアレイ装置、ディスクアレイ装置の制御方法及びプログラム
CN111381769B (zh) * 2018-12-29 2023-11-14 深圳市茁壮网络股份有限公司 一种分布式数据存储方法及***
CN113342577B (zh) * 2021-06-24 2023-11-03 长江存储科技有限责任公司 存储设备及其数据恢复方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023815A (zh) * 2009-09-15 2011-04-20 格雷戈里·伯德 在固态存储器中实现raid
WO2011116071A2 (en) * 2010-03-17 2011-09-22 Pliant Technology, Inc. Mlc self-raid flash data protection scheme
CN102609370A (zh) * 2012-02-06 2012-07-25 记忆科技(深圳)有限公司 防止固态硬盘数据丢失的方法及其固态硬盘
CN102789422A (zh) * 2012-06-25 2012-11-21 记忆科技(深圳)有限公司 固态硬盘的数据写入方法及***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934904B2 (en) * 2001-04-30 2005-08-23 Sun Microsystems, Inc. Data integrity error handling in a redundant storage array
CN100468367C (zh) * 2003-10-29 2009-03-11 鸿富锦精密工业(深圳)有限公司 固态存储器的安全存储***及方法
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US7657796B1 (en) * 2005-09-30 2010-02-02 Symantec Operating Corporation System and method for distributed storage verification
CN100356347C (zh) 2006-04-29 2007-12-19 北京飞天诚信科技有限公司 闪存的安全写入方法
CN100462944C (zh) * 2007-03-07 2009-02-18 北京飞天诚信科技有限公司 基于非易失性存储器两个以上连续逻辑块的掉电保护方法
US7917803B2 (en) * 2008-06-17 2011-03-29 Seagate Technology Llc Data conflict resolution for solid-state memory devices
CN102591807B (zh) 2011-12-30 2015-03-11 记忆科技(深圳)有限公司 一种固态硬盘掉电和写异常处理方法及***
CN103092765B (zh) * 2012-12-31 2015-08-05 记忆科技(深圳)有限公司 固态存储***、装置及数据写入方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023815A (zh) * 2009-09-15 2011-04-20 格雷戈里·伯德 在固态存储器中实现raid
WO2011116071A2 (en) * 2010-03-17 2011-09-22 Pliant Technology, Inc. Mlc self-raid flash data protection scheme
CN102609370A (zh) * 2012-02-06 2012-07-25 记忆科技(深圳)有限公司 防止固态硬盘数据丢失的方法及其固态硬盘
CN102789422A (zh) * 2012-06-25 2012-11-21 记忆科技(深圳)有限公司 固态硬盘的数据写入方法及***

Also Published As

Publication number Publication date
CN103092765A (zh) 2013-05-08
WO2014101375A1 (zh) 2014-07-03
US20160210210A1 (en) 2016-07-21
US9639441B2 (en) 2017-05-02

Similar Documents

Publication Publication Date Title
CN103092765B (zh) 固态存储***、装置及数据写入方法
CN101876949B (zh) 数据储存***与方法
CN101198939B (zh) 管理闪存中的存储器
CN101425041B (zh) 在nand flash存储器上建立fat文件***的优化方法
US20160266965A1 (en) Updating exclusive-or parity data
US9575844B2 (en) Mass storage device and method of operating the same to back up data stored in volatile memory
US20160179403A1 (en) Storage controller, storage device, storage system, and semiconductor storage device
CN102591748A (zh) 固态硬盘及其掉电保护方法、***
CN104571933B (zh) 具固态储存元件的电子装置及其相关控制方法
CN103513942B (zh) 独立冗余磁盘阵列的重构方法及装置
US20090327801A1 (en) Disk array system, disk controller, and method for performing rebuild process
CN101923499A (zh) 执行防电源故障高速缓存而无需原子元数据的技术
CN103049070A (zh) 缓存数据的掉电保护方法及计算机设备
CN104461964A (zh) 一种存储装置
US9582192B2 (en) Geometry aware block reclamation
CN101963891A (zh) 数据存储处理方法与装置、固态硬盘***与数据处理***
CN104615381B (zh) 一种视频监控***的磁盘冗余阵列
TWI470432B (zh) 電子系統及其快閃記憶體管理方法
CN106062724A (zh) 存储器模块上的数据管理
CN103257830A (zh) 存储单元的访问方法和存储单元
CN102981969A (zh) 重复数据删除的方法及其固态硬盘
CN102789422B (zh) 固态硬盘的数据写入方法
CN103678025A (zh) 一种磁盘阵列中的磁盘故障处理方法
CN102789813B (zh) 一种控制存储设备内非最低有效位页使用的方法及装置
CN106919339B (zh) 一种硬盘阵列及硬盘阵列处理操作请求的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant