提供硬件中的数据帧段的选择性合并的高性能系统技术方案

技术编号:15117886 阅读:58 留言:0更新日期:2017-04-09 15:04
一种用于将数据写入储存介质中的一系列逻辑块的方法包括:接收包括起始逻辑块地址、指示将要写的逻辑块地址的范围的值、以及数据的逻辑块的命令;将逻辑块储存在第一暂时性储存装置中;通过将逻辑块数据复制与逻辑页面中的逻辑块的数量相对应的多次来生成逻辑页面,以及将所生成的逻辑页面传输到第二暂时性储存装置并将所生成的逻辑页面储存在第二暂时性储存装置中;从起始逻辑块地址开始,将所生成的逻辑页面从第二暂时性储存装置写入储存介质中;以及如果第一写操作并不在逻辑页面边界开始或者最后的写操作并不在逻辑页面边界结束,则执行读-改-写操作。

【技术实现步骤摘要】
【国外来华专利技术】
本公开内容涉及用于计算机系统的数据储存系统。更具体来说,本公开内容涉及向储存介质写入经选择的数据。
技术介绍
数据储存系统为主机系统的数据提供储存。将数据分组以用于储存在被称为逻辑块的预定大小的单元(其被写入到储存介质)中。当向储存介质写入数据的逻辑块时(例如,在固态驱动器(SSD)或混合驱动器中),数据可以被写入由多个逻辑块构成的较大的单元(例如逻辑页面(L页面))中。有时,在跨越储存介质中的若干逻辑页面的大量逻辑块中写入相同的新数据、或者仅向包括在储存介质中的逻辑页面中的逻辑块的其中某些逻辑块写入新的不同的数据变得有利。附图说明通过参照附图描述示例实施例,本专利技术构思的方面和特征将变得更加清晰,在附图中:图1是根据本专利技术构思的示例实施例,例示了用于在大量逻辑块中写入相同的新数据的数据储存装置的框图;图2是根据本专利技术构思的示例实施例,例示了用于实现写相同操作(write-sameoperation)的方法的流程图;图3是根据本专利技术构思的示例实施例,例示了用于实现跳写操作(skip-writeoperation)的数据储存装置的框图;图4是根据本专利技术构思的示例实施例,例示了实现跳写操作的方法的流程图;图5A是根据本专利技术构思的示例实施例,例示了写掩码的图示;图5B是根据本专利技术构思的示例实施例,例示了划分成与包含在逻辑页面中的逻辑块的数量相对应的部分的写掩码的图示;以及图6是根据本专利技术构思的示例实施例,例示了使用写掩码的对应部分来合并第一逻辑页面和第二逻辑页面的方法的图示。具体实施方式尽管描述了某些实施例,但这些实施例仅通过示例的方式来呈现,而并不旨在限制保护范围。本文中所描述的方法和装置可以以多种其它形式体现。此外,可以在不脱离保护范围的情况下,以本文中所描述的示例方法和装置的形式进行各种省略、替代、以及变化。概述固态驱动器(SSD)被用作用于计算机系统的数据储存系统。为了修改储存在这种数据储存系统的存储位置中的数据,数据可以被写入由多个逻辑块构成的较大单元(例如逻辑页面)中。例如,4千字节(kB)的逻辑页面可以由8个512字节的逻辑块组成。有时,将相同的数据写入一系列连续的逻辑块中或对一系列连续的逻辑块内的非连续的逻辑块中的数据进行修改变得有利。系统概述本专利技术构思的一个方面涉及将相同的数据写入连续的多个逻辑块中的写相同装置和方法。在写相同装置的一个示例实施例中,装置接收包括起始逻辑块地址(LBA)、LBA的范围(即,指示数据将被写入其中的逻辑块的数量的值)、以及将写入到逻辑块中的数据块的命令。写相同装置操作为将接收到的数据块写入从起始LBA开始的LBA的指定范围内的每个逻辑块中。如果第一写操作并不在逻辑页面边界开始或者最后的写操作并不在逻辑页面边界结束,则写相同装置执行读-改-写操作(RMW),即时(on-the-fly)合并逻辑页面块并执行适当的位修改。本专利技术构思的另一个方面涉及跳写装置和方法。在跳写装置的一个示例实施例中,该装置接收包括起始逻辑块地址、指示逻辑块地址的范围的值、以及写掩码的命令。通过基于写掩码的对应部分将逻辑块合并成逻辑页面来生成输出逻辑页面。跳写装置对如由写掩码确定的逻辑页面进行操作,将硬件优化应用于以前是软件过程的部分。跳写装置即时合并逻辑页面块并基于写掩码来执行适当的位修改。写相同图1是根据本专利技术构思的示例实施例,例示了用于将相同的新数据写入大量逻辑块中的数据储存装置的框图。参考图1,在本专利技术构思的一个示例实施例中,数据储存装置100可以包括命令输入设备110、第一暂时性储存装置120、处理器130、第二暂时性储存装置140、循环冗余校验(CRC)生成电路150、比较电路160、写电路170、计数器180、以及储存介质190。储存介质可以包括诸如固态半导体存储器(例如,NAND)之类的非易失性存储器。数据储存装置100的元件可以集成在一个半导体芯片上或可以是集成到一个半导体封装体中的分开的管芯。本领域普通技术人员将理解,其它配置是可能的并包括在本专利技术构思的范围内。例如,由所描述的元件执行的功能可以由其它元件来执行,并且这些元件可以被组合成较少的元件和/或被细分成较大数量的元件。在一个实施例中,命令输入设备110接收包括起始逻辑块地址(LBA)、指示LBA的范围的值、以及将被写入到LBA的范围内的逻辑块中的数据的逻辑块的命令。例如,可以从连接到数据储存装置100的主机接收命令。接收到的数据的逻辑块被传送到第一暂时性储存装置120。第一暂时性储存装置120对于处理器130可以是内部的或外部的。处理器130对接收到的数据的逻辑块进行复制来生成逻辑页面,其中,每个逻辑块都具有与接收到的数据的逻辑块相同的数据。例如,对于包含八个逻辑块的逻辑页面,处理器130将接收到的逻辑块复制七次来生成包含八个逻辑块(每个都包含相同数据)的逻辑页面。每个逻辑块例如可以包括但不限于,大约512字节的数据、大约1024字节的数据、大约2048字节的数据、或者大约4096字节的数据。在某些情形下,例如当储存介质被擦除或者被重新格式化时,接收到的数据的逻辑块可以包含全一或全零,并且指示逻辑块地址的范围的值可以指示储存介质的逻辑块地址中的所有地址。处理器130使得所生成的逻辑页面被传送到第二暂时性储存装置140。第二暂时性储存装置140可以是包括在(RMW)模块195中的队列。处理器130可以使得第二暂时性储存装置140在传送所生成的逻辑页面之前就被预留(reserve)。如示出的,RMW模块195可以另外包括CRC电路150和写电路170。在一个实施例中,CRC电路150基于每个逻辑块中的至少数据和LBA来生成CRC值,并将准备写的逻辑块数据的CRC与如接收到的逻辑块数据的CRC进行比较。如果CRC并不匹配,则将要写的逻辑块数据被标记为无效。尽管在本公开内容中的示例实施例提及了CRC,但在某些实施例中使用其它错误检测机制(例如但不限于,校验和以及散列函数、等等)是可能的。在一个实施例中,写电路170向储存介质190输出有效数据。计数器180对写入储存介质190的逻辑块的数量进行计数并生成计数值。比较电路170将计数值与指示将要写的LBA的范围的值进行比较。如果值是匹配的,则比较电路160生成指示写相同操作完成的信本文档来自技高网...

【技术保护点】
一种用于将数据写入储存介质中的一系列逻辑块的方法,所述方法包括:接收命令,所述命令包括起始逻辑块地址、指示将要写的逻辑块地址的范围的值、以及数据的逻辑块;将所述数据的逻辑块储存在第一暂时性储存装置中;通过将所述数据的逻辑块复制与形成逻辑页面的逻辑块的数量相对应的多次,来生成逻辑页面,以及将所生成的逻辑页面传输到第二暂时性储存装置并将所生成的逻辑页面储存在所述第二暂时性储存装置中;从所述起始逻辑块地址开始,将所生成的逻辑页面从所述第二暂时性储存装置写入所述储存介质中;以及如果第一写操作并不在逻辑页面边界开始或者最后的写操作并不在逻辑页面边界结束,则执行读‑改‑写操作。

【技术特征摘要】
【国外来华专利技术】2013.09.06 US 14/020,6531.一种用于将数据写入储存介质中的一系列逻辑块的方法,所述方法
包括:
接收命令,所述命令包括起始逻辑块地址、指示将要写的逻辑块地址
的范围的值、以及数据的逻辑块;
将所述数据的逻辑块储存在第一暂时性储存装置中;
通过将所述数据的逻辑块复制与形成逻辑页面的逻辑块的数量相对应
的多次,来生成逻辑页面,以及将所生成的逻辑页面传输到第二暂时性储
存装置并将所生成的逻辑页面储存在所述第二暂时性储存装置中;
从所述起始逻辑块地址开始,将所生成的逻辑页面从所述第二暂时性
储存装置写入所述储存介质中;以及
如果第一写操作并不在逻辑页面边界开始或者最后的写操作并不在逻
辑页面边界结束,则执行读-改-写操作。
2.根据权利要求1所述的方法,其中,所述第二暂时性储存装置是读
-改-写模块中的队列。
3.根据权利要求2所述的方法,还包括:在将所生成的逻辑页面传输
并储存在所述队列中之前,在读-改-写模块中预留所述队列。
4.根据权利要求1所述的方法,还包括:
基于所述逻辑块地址的范围内的在当前逻辑页面中被写入所述储存介
质的逻辑块的数量更新计数,并将所述计数与指示所述逻辑块地址的范围
的所述值进行比较;以及
如果所述计数与指示所述逻辑块地址的范围的所述值相匹配,则生成
指示所述写完成的信号。
5.根据权利要求1所述的方法,其中,每个逻辑页面都包括预先确定
的数量的逻辑块。
6.根据权利要求5所述的方法,其中,每个逻辑块包括以下中的一个:
大约512字节的数据、大约1024字节的数据、大约2048字节的数据、以
及大约4096字节的数据。
7.根据权利要求6所述的方法,其中,数据字节包括全一或全零。
8.根据权利要求6所述的方法,其中,数据字节包括预先确定的数据。
9.根据权利要求6所述的方法,其中,每个逻辑块还包括附加字节的
元数据。
10.根据权利要求9所述的方法,其中,每个逻辑块的所述元数据是
利用要写入该逻辑块的逻辑块地址来更新的。
11.根据权利要求1所述的方法,其中,指示所述逻辑块地址的范围
的所述值是指示所述储存介质的所有逻辑块地址的值。
12.根据权利要求1所述的方法,其中,所述生成逻辑页面由处理器
来执行。
13.根据权利要求1所述的方法,其中,所述写入所生成的逻辑页面
是作为对于涉及合并的其它写操作的后台任务来执行的。
14.一种用于将数据写入一系列逻辑块的装置,所述装置包括:
第一设备,所述第一设备被配置为接收命令,所述命令包括起始逻辑
块地址、指示逻辑块地址的范围的值、以及数据的逻辑块;
第一暂时性储存装置,所述第一暂时性储存装置被配置为储存所述数
据的逻辑块;
处理器,所述处理器被配置为通过将所述数据的逻辑块复制与形成逻

\t辑页面的逻辑块的数量相对应的多次,来生成逻辑页面,并将所生成的逻
辑页面传输到第二暂时性储存装置;
储存介质,所述储存介质被配置为储存逻辑页面;
写电路,所述写电路被配置为从所述起始逻辑块地址开始,将所生成
的逻辑页面从所述第二暂时性存储装置写入所述储存介质中;以及
读-改-写模块,所述读-改-写模块被配置为:如果第一写操作并不在逻
辑页面边界开始或者最后的写操作并不在逻辑页面边界结束,则执行读-改-
写操作。
15.根据权利要求14所述的装置,其中,所述第二暂时性储存装置是
所述读-改-写模块中的队列。
16.根据权利要求15所述的装置,还包括:在将所生成的逻辑页面传
输并储存在所述队列中之前,在所述读-改-写模块中预留所述队列。
17.根据权利要求14所述的装置,还包括计数器,所述计数器被配置
为对所述逻辑块地址的范围内的在当前逻辑页面中被写入所述储存介质的
逻辑块的数量进行计数,并将所述计数与指示所述逻辑块地址的范围的所
述值进行比较。
18.根据权利要求17所述的装置,还包括被配置为当所述比较指示达
到指示所述逻辑块地址的范围的所述值时,生成指示信号的电路。
19.根据权利要求14所述的装置,其中,所述写电路将所述逻辑页面
从所述第二暂时性储存装置写入所述储存介质中,作为对于涉及合并的其
它写操作的后台任务。
20.根据权利要求14所述的装置,还包括:读-改-写模块,包括被配
置为通过在逐块的基础上对写入到所述输出逻辑页面中的逻辑块的循环冗
余码(CRC)数据进行累加来针对所生成的逻辑页面生成CRC的电路。
21.根据权利要求20所述的装置,其中,所述读-改-写模块还被配置
为针对每个块计算数据完整性字段,并将经计算的数据完整性字段插入所
述块之间。
22.一种用于合并数据的逻辑页面的方法,所述方法包括:
接收命令,所述命令包括起始逻辑块地址...

【专利技术属性】
技术研发人员:J·W·弗林斯鲍J·琼斯R·N·马伦多尔A·J·汤姆林
申请(专利权)人:西部数据技术公司天空时代有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1