CN111176883A - 基于纠删码的闪存固态盘数据主动重构方法及读取方法 - Google Patents
基于纠删码的闪存固态盘数据主动重构方法及读取方法 Download PDFInfo
- Publication number
- CN111176883A CN111176883A CN201911348395.3A CN201911348395A CN111176883A CN 111176883 A CN111176883 A CN 111176883A CN 201911348395 A CN201911348395 A CN 201911348395A CN 111176883 A CN111176883 A CN 111176883A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- sub
- read request
- flash memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 11
- 239000007787 solid Substances 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 abstract description 2
- 238000000638 solvent extraction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- FYYHWMGAXLPEAU-UHFFFAOYSA-N Magnesium Chemical compound [Mg] FYYHWMGAXLPEAU-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910052749 magnesium Inorganic materials 0.000 description 1
- 239000011777 magnesium Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种基于纠删码的闪存固态盘数据主动重构方法及读取方法。所述主动重构方法包括:将到来的数据按照所采用的纠删码参数分块,并编码得到冗余数据块,将到来的数据块与冗余块组成的条带基于预设策略打散写入不同通道。本发明的数据主动重构方法是通过利用闲置的冗余数据与闪存固态盘内部的编解码模块进行主动重构,在引入主动重构后,固态盘内部读取数据时不再需要对堵塞通道进行等待,而是直接通过由其他畅通通道获得的数据进行重构得到所需数据。因此可以规避堵塞,降低读取响应时间,提高固态盘的读性能。
Description
技术领域
本发明涉及闪存固态盘领域,更具体地,涉及一种基于纠删码的闪存固态盘数据主动重构方法及读取方法。
背景技术
近年来,随着半导体技术的飞速发展,闪存固态盘的性价比得以显著提高,这使得闪存固态盘在超级计算机、数据中心甚至PC领域得到了越来越广泛的应用,更多用户可以在配备闪存固态盘的计算机上直接工作。
为了确保数据的可靠性,闪存固态盘通常配备专用的EC模块。不幸的是,这些功能强大的EC模块仅在出现数据错误时才被被动使用,这导致了大量资源浪费。
丰富的内部并行性是闪存固态盘的另一个重要特征。闪存固态盘中有四个不同层级的并行:通道级、芯片级、晶圆级和平面级。已经有学者通过实验证明,通道级别的并行机制是四个级别的并行机制中对于提高闪存固态盘性能来说是最有效的方式。
闪存固态盘的性能还受到NAND闪存介质特性的限制。处理相同数量的数据时,NAND闪存中三个基本操作(读、写、擦除)所花费的时间差异很大。以镁光256GB NAND闪存为例,读取页面的延迟约为50μs,写入页面的延迟为900μs,块擦除时间最长为3ms。因此,随机的小写和垃圾回收(包括大量的写/擦除操作)会严重影响SSD的读取性能。
因此,目前闪存固态盘仍然存在三个主要问题:(1)EC模块开发不足,特别是在正常数据读取情况下;(2)尽管一些工作已经利用了通道级并行性,但是仍有更好的利用空间;(3)对闪存的三个基本操作进行有针对性的调度对于实现更好的读取性能至关重要。
为了解决这些问题,有学者提出一种自平衡条带方案。当闪存固态盘空闲时(即没有任何任务在执行时),对一小部分数据进行编码,并以1:1的比例编码得到相关冗余数据,在读取区间,通过重构来读取这部分数据。但这种方案无法保证所有数据的可靠性,冗余数据的比例也不够高效,同时该方案没有指出被编码的数据是怎样选择出来的。
同时也有学者在闪存转换层级别上提出许多缓存替换策略,提高SSD的读取性能,例如经典的LRU、NRU。但是无论采用哪种方案,都利用了时间局部性和空间局部性的原理。从长远来看,由于缓存容量的限制,仍然有很多数据需要写回到存储设备或从存储设备读取。因此,缓存替换策略只能使不必要的回写操作次数减小,而不能从根本上解决由写、擦除、垃圾回收等操作引起的读取延迟的问题。
综上所述,传统的闪存固态盘读写策略都无法在保证数据可靠性的同时提升读访问性能,也无法有效利用闪存固态盘中的冗余数据加速读取,导致闪存固态盘中计算资源与冗余数据被闲置。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷(不足),提供一种基于纠删码的闪存固态盘数据主动重构方法及读取方法,达到显著提升闪存固态盘读性能的效果。
本发明采取的技术方案是,一种基于纠删码的闪存固态盘数据主动重构方法,将到来的数据按照所采用的纠删码参数分块,并编码得到冗余块,将到来的数据块与冗余块组成的条带基于预设策略打散写入不同通道。
上述方案中,所述的预设策略具体为:
策略一:同一条带中的数据不能出现在同一通道上;
策略二:从剩余通道中选择空闲页数最多的通道;
策略三:选择索引号最小的通道;
其中三个策略的优先级为策略一>策略二>策略三。
本发明还提供一种基于纠删码的闪存固态盘数据读取方法,所述数据在闪存固态盘中采用权利要求1或2所述的方法进行存储;所述读取方法包括:
并行处理各个通道的等待队列;
接收新的读请求,判断该读请求是否满足子请求分割,若满足则将该读请求分割为至少一个子请求;
判断分割得到的子请求是否满足添加至对应通道的等待队列中,若满足则将子请求添加到对应通道的等待队列中;
根据并行处理各个通道的等待队列的情况确定读请求的执行情况,进而确定该读请求采用直接读取或主动重构读取的方法获得该读请求的原始数据,并将获得的该读请求的原始数据作为该子请求的应答。
上述方案中,判断该读请求是否满足子请求分割,若满足则将该读请求分割为至少一个子请求具体为:判断读请求所请求的数据是否不在不完整的条带中或者对应的相同数据没有在等待队列中进行更新操作,若是则满足子请求分割,将该读请求分割为至少一个子请求。
上述方案中,所述方法还包括:当判断读请求所请求的数据是否在不完整的条带中或者对应的相同数据在等待队列中进行更新操作,则对该读请求采用直接读取方式获取该读请求的原始数据,将获得的该读请求的原始数据作为该读请求的应答。
上述方案中,判断分割得到的子请求是否满足添加至对应通道的等待队列中,若满足则将子请求添加到对应通道的等待队列中,具体为:判断该子请求是否不在对应通道的等待队列中,若是则将子请求添加到对应通道的等待队列中。
上述方案中,所述方法还包括:当判断该子请求是否在对应通道的等待队列中时,则该子请求不添加至对应通道的等待队列中。
上述方案中,将子请求添加到对应通道的等待队列中具体为:将子请求对应的请求条带中的所有数据/奇偶校验添加到对应通道的等待队列的尾部,成为对应通道读取请求的子请求。
上述方案中,根据并行处理各个通道的等待队列的情况确定读请求的执行情况,进而确定该读请求采用直接读取或主动重构读取的方法获得该读请求的原始数据,具体为:
接收执行各个等待队列中子请求后所获得的数据;
判断是否已经接收到读请求的所有原始数据,若是,则对该请求采用直接读取的方式获得该读请求的所有原始数据,若否则执行下一步;
判断已经接收到的数据量是否满足重构条件,若是则采用主动重构读取的方法获得该读请求的所有原始数据,若否则不做出任何操作,等待下一个子请求被执行完再执行重复判断是否已经接收到读请求的所有原始数据。
上述方案中,所述方法还包括:当根据并行处理各个通道的等待队列的情况确定读请求的执行情况,确定该读请求采用直接读取或主动重构读取的方法获得该读请求的原始数据后,还将该读请求中未被执行的子请求从等待队列中踢出。
与现有技术相比,本发明的有益效果为:
1、显著提升闪存固态盘的读性能。本发明的数据主动重构方法是通过利用闲置的冗余数据与闪存固态盘内部的编解码模块进行主动重构,在引入主动重构后,固态盘内部读取数据时不再需要对堵塞通道进行等待,而是直接通过由其他畅通通道获得的数据进行重构得到所需数据。因此可以规避堵塞,降低读取响应时间,提高固态盘的读性能。
2、优化负载均衡。本发明的数据主动重构方法由于在数据写入时始终优先写入次数最少的通道,因此可以达到优化磨损均衡的效果。另外,本发明的数据读取方法由于在读取过程中,子请求会发生在畅通通道,因此在一定程度上也起到了优化读访问负载均衡的效果。
3、充分利用闲置的计算资源及冗余数据。本发明的数据主动重构方法中,用于纠删码计算的编解码模块是闪存固态盘中不可获取的一部分,但该模块在传统访问模式中几乎起不到任何作用。此外,为了保证数据可靠性,RAID这种冗余阵列被固态盘所采用,而由此带来的冗余数据几乎只有在数据丢失的情况下才会被使用。因此本发明数据读取方法在正常读取过程中主动的使用了这些资源,避免了资源的浪费,同时提升了固态盘的性能。
4、不影响系统原有的可靠性。由于本发明是基于闪存固态盘中原有RAID构建的,因此系统中原来的数据可靠性不会受到影响。
附图说明
图1为利用本发明实施例1的数据主动重构方法进行数据写入的示意图。
图2为结合本发明实施例1的数据读取方案示意图。
图3为现有技术中常规数据读取方案示意图。
图4为本发明实施例2一种基于纠删码的闪存固态盘数据读取方法的流程图。
图5为利用本发明实施例2所述的方法进行数据读取的示例图。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
实施例1
本实施例提供一种基于纠删码的闪存固态盘数据主动重构方法,将到来的数据按照所采用的纠删码参数分块,并编码得到冗余块,将到来的数据块与冗余块组成的条带基于预设策略打散写入不同通道。
其中,所述的预设策略具体为:
策略一:同一条带中的数据不能出现在同一通道上;
策略二:从剩余通道中选择空闲页数最多的通道;
策略三:选择索引号最小的通道;
其中三个策略的优先级为策略一>策略二>策略三。
本实施例是通过主动使用纠删码模块的数据重构服务数据访问,这种方案不仅可以防止数据丢失,还可以在数据完整时协助读取数据。服务数据访问。此外,为了使这种主动重构方案利用更多的通道级并行性,采用小于通道数量的固定条带长度以及具有通道磨损感知的数据放置方案。
具体的,如图1所示为利用本实施例的数据主动重构方法进行数据写入的示意图。参见图1,假设闪存固态盘中共有6个通道,那么条带长度应为5,条带中数据个数为4,冗余的校验数据个数为1。当第一组需要写入的数据到达时,由于闪存固态盘中每一个通道都没有写入历史,因此数据平均分配打散在各个通道写入。当数据D4到达时(D4所在条带的索引为1),由于没有数据写入条带1中,考虑策略二,选择通道6,其空闲页数最多(其他通道已经写入了一页数据)。当D5到达时(D5所在条带的索引为1),考虑策略一,首先排除D4所在的通道6。在此之后,仍然有多个替代通道(所有通道具有相同数量的空闲页数)。接着考虑策略三,选择通道1,即索引号最小的通道。当需要更新D1、P0时,根据上述步骤依次放置新数据D1’和P0’。需要说明的是,更新D1为D1’后,旧数据D1变为无效数据,但它仍存在于设备上,并且尚未完全删除,因此D1所在的页面不是空闲页面。)
将实施例的数据主动重构方法应用于具体的数据读取方法时,如图2所示,是结合了本实施例的读取方案,如图3所示,是常规读取方案。从图2和图3可见,在常规读取方案中,纠删码编解码模块(EC module)不会被使用,而在主动重构读取方案中,系统会根据情况主动使用纠删码编解码模块(EC module)进行重构,以此避免对堵塞通道的等待。
实施例2
在实施例1的基础上,本发明的实施例2还提供一种基于纠删码的闪存固态盘数据读取方法,所述数据在闪存固态盘中采用实施例1所述的方法进行存储;如图4所示,所述读取方法包括:
S1、并行处理各个通道的等待队列;
S2、接收新的读请求,判断该读请求是否满足子请求分割,若满足则将该读请求分割为至少一个子请求,具体地:
S21、判断新接手的读请求所请求的数据是否在不完整的条带中或者对应的相同数据在等待队列中进行更新操作,若是则执行步骤S22,否则执行步骤S23;
S22、对该读请求采用直接读取方式获取该读请求的原始数据以确保数据一致性,将获得的该读请求的原始数据作为该读请求的应答返回给主机。由于此方式采用直接读取,则不会将读请求切割为子请求,也就不会添加额外的子请求。
S23、将该读请求分割为至少一个子请求。
S3、判断分割得到的子请求是否满足添加至对应通道的等待队列中,若满足则将子请求添加到对应通道的等待队列中;具体为:
判断该子请求是否不在对应通道的等待队列中,若是则将子请求添加到对应通道的等待队列中,若否则表示该子请求已经在等待队列中,那么该子请求不会再次添加至对应通道的等待队列中。
其中,将子请求添加到对应通道的等待队列中具体是将子请求对应的请求条带中的所有数据/奇偶校验添加到对应通道的等待队列的尾部,成为对应通道读取请求的子请求。
S4、根据并行处理各个通道的等待队列的情况确定读请求的执行情况,进而确定该读请求采用直接读取或主动重构读取的方法获得该读请求的原始数据,并将获得的该读请求的原始数据作为该子请求的应答。具体为:
S41、接收执行各个等待队列中子请求后所获得的数据;也就是说,当子请求已经被通道服务后,则会接收到子请求对应的数据,每次接收到子请求对应的数据时,根据如下步骤判断读请求对应的子请求的当前状态,从而可以决定应该采取直接读取还是主动重构读取方式获得读请求的所有原始数据,具体地,重复执行不收S42和S44知道读请求获得所有的原始数据。
S42、根据已经接收到的子请求对应的数据判断是否已经接收到读请求的所有原始数据,若是,则对该读请求采用直接读取的方式获得该读请求的所有原始数据,将该读请求中所有未被服务或执行的子请求将从对应等待队列中被踢出,原始数据将返回给主机。若否则执行下一步骤S43;
S43、根据已经接收到的子请求对应的数据判断已经接收到的数据量是否满足重构条件,若是则采用主动重构读取的方法,将现有的数据放进纠删码编解码模块中,通过计算重构出读请求的所需数据并返回重构得到的数据,这样当接收到的数据重构出原始数据后将其返回给主机,该读请求所有未被服务的子请求将从对应的等待队列中踢出。若不是,则执行下一步骤S44;其中,纠删码编解码模块中,每种不同参数的纠删码,在恢复数据时都有不同的重构条件。如,将一份数据分割为5块,并通过编码生成了额外的2个冗余块,这份数据存储的时候就会存储为7个块。那么在重构数据时,重构条件就是至少有这7个块中的任意5个块,才能重构出原始数据。如果我们拥有的数据块数量少于5,就无法重构出原始数据。
S44、不做出任何操作,等待下一个子请求被执行/服务完,接收到被执行/服务完的子请求对应的数据后,再返回执行步骤S42。
如图5所示,为利用本发明的读取方法进行主动重构读取的示意图。
参见图5,假设新接收的读请求需要数据D4',D5',D6,它们属于条带1(Stripe 1),条带1的数据D4',D5',D6,D7和P1'已添加到等待队列(Sub-Request Queues)中,其中图中的R、W表示来自其他请求的子请求。利用控制器执行读取方法时,具体执行流程如下:
(1)控制器先接收到数据D6,D4',P1',因为它们所在的队列中没有其他子请求。随后开始进行判断
(2)控制器判断是否接收到该读请求的所有原始数据,由于尚未接收到原始数据D5',因此继续进行判断。
(3)控制器判断已经接收的数据数量是否达到重构要求。从图5中可以看到已经被服务完的数据只有三块,而(5,4)RS码至少需要四个块来重构,所以不能执行重构。继续执行。
(3)等待下一个子请求。
(4)控制器接收的下一个数据是D7,判断过程重新开始。此时,控制器已接收到满足重构条件的四个数据:D6,D4',P1'和D7。因此,将选择主动重构读。D5'(尚未被通道服务的子请求)将从等待队列中踢出。然后,将执行重构,然后将该读请求的原始数据D4'、D5'、D6将返回给主机。
(5)读请求完成。
传统的闪存固态盘中,纠删码编码模块开发不足,特别是在正常数据读取情况下。闪存介质特性使得其三种基本操作(读、写、擦除)延迟差异很大,现有解决方案无法从根本上解决该问题。因此经常会出现为了等待正在做垃圾回收或堵塞通道上的数据,而大幅增加读请求延迟时间的情况。这种等待成为系统性能提升的瓶颈,制约闪存固态盘读性能的提升。
本发明针对现有这种情况提出基于纠删码的主动重构读策略,通过畅通通道的数据进行主动重构来避免对堵塞通道的等待,从而在保证原有数据可靠性的同时,提高读性能,平衡读取访问负载,减少读取延迟并优化通道级别的磨损均衡,实验验证了EC-ARR有效性。而且,本发明在工作负载较小的情况下具有最佳的读取性能,且不会显著降低写性能或增加存储开销。这是因为EC-ARR能够通过未阻塞的数据主动重构读取请求所需的数据,从而避免等待阻塞的数据。当只有一个校验时,EC-ARR的性能最佳。随着校验数的增加,性能的提高将越来越小。这是因为太多的校验会增加SSD的内部带宽,这会增加堵塞并占用过多的CPU资源以进行编码/解码计算。尽管系统中添加了额外的子请求,但ARR-SSD的总体读取延迟仍然比RAID5-SSD好。这是因为额外的子请求所产生的延迟小于ARR所减少的延迟,并且实际上只有一小部分额外的子请求占用了系统时间(有一部分未被服务的子请求从等待队列中被踢出)。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于纠删码的闪存固态盘数据主动重构方法,其特征在于,将到来的数据按照所采用的纠删码参数分块,并编码得到冗余块,将到来的数据块与冗余块组成的条带基于预设策略打散写入不同通道。
2.根据权利要求1所述的基于纠删码的闪存固态盘主动重构方法,其特征在于,所述的预设策略具体为:
策略一:同一条带中的数据不能出现在同一通道上;
策略二:从剩余通道中选择空闲页数最多的通道;
策略三:选择索引号最小的通道;
其中三个策略的优先级为策略一>策略二>策略三。
3.一种基于纠删码的闪存固态盘数据读取方法,其特征在于,所述数据在闪存固态盘中采用权利要求1或2所述的方法进行存储;所述读取方法包括:
并行处理各个通道的等待队列;
接收新的读请求,判断该读请求是否满足子请求分割,若满足则将该读请求分割为至少一个子请求;
判断分割得到的子请求是否满足添加至对应通道的等待队列中,若满足则将子请求添加到对应通道的等待队列中;
根据并行处理各个通道的等待队列的情况确定读请求的执行情况,进而确定该读请求采用直接读取或主动重构读取的方法获得该读请求的原始数据,并将获得的该读请求的原始数据作为该子请求的应答。
4.根据权利要求3所述的一种基于纠删码的闪存固态盘数据读取方法,其特征在于,其特征在于,判断该读请求是否满足子请求分割,若满足则将该读请求分割为至少一个子请求具体为:判断读请求所请求的数据是否不在不完整的条带中或者对应的相同数据没有在等待队列中进行更新操作,若是则满足子请求分割,将该读请求分割为至少一个子请求。
5.根据权利要求4所述的一种基于纠删码的闪存固态盘数据读取方法,其特征在于,所述方法还包括:当判断读请求所请求的数据是否在不完整的条带中或者对应的相同数据在等待队列中进行更新操作,则对该读请求采用直接读取方式获取该读请求的原始数据,将获得的该读请求的原始数据作为该读请求的应答。
6.根据权利要求3所述的一种基于纠删码的闪存固态盘数据读取方法,其特征在于,判断分割得到的子请求是否满足添加至对应通道的等待队列中,若满足则将子请求添加到对应通道的等待队列中,具体为:判断该子请求是否不在对应通道的等待队列中,若是则将子请求添加到对应通道的等待队列中。
7.根据权利要求6所述的一种基于纠删码的闪存固态盘数据读取方法,其特征在于,所述方法还包括:当判断该子请求是否在对应通道的等待队列中时,则该子请求不添加至对应通道的等待队列中。
8.根据权利要求4所述的一种基于纠删码的闪存固态盘数据读取方法,其特征在于,将子请求添加到对应通道的等待队列中具体为:将子请求对应的请求条带中的所有数据/奇偶校验添加到对应通道的等待队列的尾部,成为对应通道读请求的子请求。
9.根据权利要求3-8任一项所述的一种基于纠删码的闪存固态盘数据读取方法,其特征在于,根据并行处理各个通道的等待队列的情况确定读请求的执行情况,进而确定该读请求采用直接读取或主动重构读取的方法获得该读请求的原始数据,具体为:
接收执行各个等待队列中子请求后所获得的数据;
判断是否已经接收到读请求的所有原始数据,若是,则对该请求采用直接读取的方式获得该读请求的所有原始数据,若否则执行下一步;
判断已经接收到的数据量是否满足重构条件,若是则采用主动重构读取的方法获得该读请求的所有原始数据,若否则不做出任何操作,等待下一个子请求被执行完再执行重复判断是否已经接收到读请求的所有原始数据。
10.根据权利要求9所述的一种基于纠删码的闪存固态盘数据读取方法,其特征在于,所述方法还包括:当根据并行处理各个通道的等待队列的情况确定读请求的执行情况,确定该读请求采用直接读取或主动重构读取的方法获得该读请求的原始数据后,还将该读请求中未被执行的子请求从等待队列中踢出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911348395.3A CN111176883B (zh) | 2019-12-24 | 2019-12-24 | 基于纠删码的闪存固态盘数据主动重构方法及读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911348395.3A CN111176883B (zh) | 2019-12-24 | 2019-12-24 | 基于纠删码的闪存固态盘数据主动重构方法及读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176883A true CN111176883A (zh) | 2020-05-19 |
CN111176883B CN111176883B (zh) | 2022-05-20 |
Family
ID=70652118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911348395.3A Active CN111176883B (zh) | 2019-12-24 | 2019-12-24 | 基于纠删码的闪存固态盘数据主动重构方法及读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176883B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4120087A1 (en) * | 2021-07-13 | 2023-01-18 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for utilization aware memory allocation |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114726A1 (en) * | 2003-11-12 | 2005-05-26 | Ouchi Norman K. | Data recovery from multiple failed data blocks and storage units |
US20080155160A1 (en) * | 2006-12-20 | 2008-06-26 | Mcdaniel Ryan Cartland | Block-based data striping to flash memory |
CN108108263A (zh) * | 2017-12-14 | 2018-06-01 | 联想(北京)有限公司 | 一种固态硬盘的数据处理方法及装置 |
CN110058820A (zh) * | 2019-04-23 | 2019-07-26 | 武汉汇迪森信息技术有限公司 | 基于固态盘阵列的数据安全写入、删除、读取方法及装置 |
CN110442535A (zh) * | 2019-07-19 | 2019-11-12 | 华中科技大学 | 提高分布式固态盘键值缓存系统可靠性的方法及系统 |
CN110515859A (zh) * | 2019-07-09 | 2019-11-29 | 杭州电子科技大学 | 一种固态硬盘读写请求并行处理方法 |
-
2019
- 2019-12-24 CN CN201911348395.3A patent/CN111176883B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114726A1 (en) * | 2003-11-12 | 2005-05-26 | Ouchi Norman K. | Data recovery from multiple failed data blocks and storage units |
US20080155160A1 (en) * | 2006-12-20 | 2008-06-26 | Mcdaniel Ryan Cartland | Block-based data striping to flash memory |
CN108108263A (zh) * | 2017-12-14 | 2018-06-01 | 联想(北京)有限公司 | 一种固态硬盘的数据处理方法及装置 |
CN110058820A (zh) * | 2019-04-23 | 2019-07-26 | 武汉汇迪森信息技术有限公司 | 基于固态盘阵列的数据安全写入、删除、读取方法及装置 |
CN110515859A (zh) * | 2019-07-09 | 2019-11-29 | 杭州电子科技大学 | 一种固态硬盘读写请求并行处理方法 |
CN110442535A (zh) * | 2019-07-19 | 2019-11-12 | 华中科技大学 | 提高分布式固态盘键值缓存系统可靠性的方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘建斌: ""增强固态硬盘容错能力的技术研究"", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4120087A1 (en) * | 2021-07-13 | 2023-01-18 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for utilization aware memory allocation |
US12008248B2 (en) | 2021-07-13 | 2024-06-11 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for utilization aware memory allocation |
Also Published As
Publication number | Publication date |
---|---|
CN111176883B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10042563B2 (en) | Segmenting read requests and interleaving segmented read and write requests to reduce latency and maximize throughput in a flash storage device | |
US10296222B2 (en) | Maintain data in differently performing storage devices | |
US11138124B2 (en) | Migrating data between block pools in a storage system | |
EP2915045B1 (en) | Selective error correcting code and memory access granularity switching | |
KR101269366B1 (ko) | 메모리 시스템 및 메모리 시스템의 제어 방법 | |
WO2022017002A1 (zh) | 一种垃圾回收方法及装置 | |
US20160306588A1 (en) | Solid state disk and data moving method | |
US20130318283A1 (en) | Specializing i/0 access patterns for flash storage | |
CN109213693B (zh) | 存储管理方法、存储系统和计算机程序产品 | |
KR101581859B1 (ko) | 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법 | |
US10826526B2 (en) | Memory system and information processing system | |
CN108228084B (zh) | 用于管理存储系统的方法和设备 | |
US11868652B2 (en) | Utilization based dynamic shared buffer in data storage system | |
CN109086009B (zh) | 一种监控管理方法和装置、计算机可读存储介质 | |
US11886743B2 (en) | Method for enhancing quality of service of solid-state drive and solid-state drive | |
WO2021139166A1 (zh) | 基于三维闪存存储结构的错误页识别方法 | |
US20200110662A1 (en) | Error-handling method, associated data storage device and controller thereof | |
US10489076B2 (en) | Morphic storage device | |
CN111176883B (zh) | 基于纠删码的闪存固态盘数据主动重构方法及读取方法 | |
CN115857790A (zh) | 一种存储设备、数据存储方法及存储系统 | |
CN115793957A (zh) | 写数据的方法、装置及计算机存储介质 | |
CN115203079A (zh) | 一种将数据写入固态硬盘的方法 | |
EP4307129A1 (en) | Method for writing data into solid-state hard disk | |
CN111459400A (zh) | 在存储服务器中进行基于管线的存取管理的方法及设备 | |
US8364893B2 (en) | RAID apparatus, controller of RAID apparatus and write-back control method of the RAID apparatus |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Chen Zhiguang Inventor after: Liu Fang Inventor before: Xiao Nong Inventor before: Chen Zhiguang Inventor before: Liu Fang |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |