存储数据的方法和装置与流程

文档序号:31225975发布日期:2022-08-23 19:27阅读:142来源:国知局
存储数据的方法和装置与流程

1.本发明涉及存储领域,更具体地讲,涉及一种存储数据的方法和装置。


背景技术:

2.近来,存储装置(诸如,固态驱动器(solid state drive,ssd)、非易失性存储器快速标准(non-volatile memory express,nvme)、嵌入式多媒体卡(embedded multi media card,emmc)、通用闪存(universal flash memory,ufs)等)已被广泛使用。例如,存储装置可在实现诸如个人计算机(pc)、服务器装置、移动装置、嵌入式装置等的各种类型的装置。
3.基于存储容量和成本的考虑,许多存储装置都采用多种工艺(例如,单层单元(single-level cell,slc)、多层单元(multi-level cell,mlc)、三层单元(trinary-level cell,tlc)和四层单元(quad-level cell,qlc)等)的存储单元。
4.在传统的采用多种工艺的存储单元的存储装置中,通常在一段时间内使用一种工艺的存储单元来存储数据,而在另一段时间内使用另一种工艺的存储单元来存储数据。上述存储数据的方法仅根据时间段选择性地使用不同工艺的存储单元来存储数据,因此,难以提高存储装置的性能和/或用户体验。


技术实现要素:

5.本发明的目的在于提供一种存储数据的方法和装置。
6.根据本公开的一方面,提供一种存储数据的方法,所述方法包括:响应于主机对数据的写入请求,确定所述数据的写入优先级;响应于所述数据的写入优先级为第一写入优先级,将所述数据写入第一类型存储单元;响应于所述数据的写入优先级为第二写入优先级,将所述数据写入第二类型存储单元,其中,第二写入优先级高于第一写入优先级,第二类型存储单元的写入速度高于第一类型存储单元的写入速度。
7.可选地,确定所述数据的写入优先级的步骤包括:获取所述数据的第一数据特征,其中,第一数据特征包括文件类型和同步写占比;基于所述数据的第一数据特征确定所述数据的写入优先级。
8.可选地,所述数据的第一数据特征还包括以下特征中的一个或多个:时间属性信息,文件系统类型,数据库文件的同步标识,数据同步标识,主设备号,从设备号,逻辑块地址扇区号,写数据大小,进程优先级。
9.可选地,基于所述数据的第一数据特征确定所述数据的写入优先级的步骤包括:基于所述数据的第一数据特征,确定所述数据所属于的应用;基于确定的所述应用,确定所述数据的写入优先级。
10.可选地,确定所述数据所属于的应用包括:基于所述数据的第一数据特征,利用应用识别模型确定所述数据所属于的所述应用,其中,应用识别模型为被预先训练的预测模型。
11.可选地,基于确定的所述应用确定所述数据的写入优先级的步骤包括:基于所述
数据所属的所述应用获取所述数据的第二数据特征;基于所述数据的第二数据特征和所述应用的预设写入策略,确定所述数据的写入优先级,所述应用的预设写入策略包括所述应用的数据的第二数据特征与至少一个写入优先级的对应关系,所述多个写入优先级包括第一写入优先级和第二写入优先级。
12.可选地,所述方法在写入助推器功能(write booster)开启时被执行。
13.根据本公开的一方面,提供一种存储数据的装置,所述装置包括:优先级确定模块,被配置为响应于主机对数据的写入请求,确定所述数据的写入优先级;写入模块,被配置为:响应于所述数据的写入优先级为第一写入优先级,将所述数据写入第一类型存储单元;响应于所述数据的写入优先级为第二写入优先级,将所述数据写入第二类型存储单元,其中,第二写入优先级高于第一写入优先级,第二类型存储单元的写入速度高于第一类型存储单元的写入速度。
14.可选地,优先级确定模块包括获取单元和确定单元,其中,获取单元被配置为获取所述数据的第一数据特征,其中,第一数据特征包括文件类型和同步写占比,其中,确定单元被配置为基于所述数据的第一数据特征确定所述数据的写入优先级。
15.可选地,所述数据的第一数据特征还包括以下特征中的一个或多个:时间属性信息,文件系统类型,数据库文件的同步标识,数据同步标识,主设备号,从设备号,逻辑块地址扇区号,写数据大小,进程优先级。
16.可选地,确定单元被配置为:基于所述数据的第一数据特征,确定所述数据所属于的应用;基于确定的所述应用,确定所述数据的写入优先级。
17.可选地,确定单元被配置为:基于所述数据的第一数据特征,利用应用识别模型确定所述数据所属的所述应用,其中,应用识别模型为被预先训练的预测模型。
18.可选地,确定单元被配置为:基于所述数据所属于的所述应用获取所述数据的第二数据特征;基于所述数据的第二数据特征和所述应用的预设写入策略,确定所述数据的写入优先级,所述应用的预设写入策略包括所述应用的数据的第二数据特征与至少一个写入优先级的对应关系,所述多个写入优先级包括第一写入优先级和第二写入优先级。
19.可选地,所述优先级确定模块被配置为:在写入助推器功能(write booster)开启时,响应于主机对所述数据的写入请求,确定所述数据的写入优先级。
20.根据本公开的一方面,提供一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时,实现如上所述的任意方法。
21.根据本公开的一方面,提供一种电子系统,所述电子系统包括:存储装置,包括第一类型存储单元和第二类型存储单元;主处理器,被配置为根据如上所述任意方法控制存储装置存储数据。
22.根据本公开的一方面,提供一种主机存储系统,所述主机存储系统包括:主机;存储装置,包括第一类型存储单元和第二类型存储单元,其中,主机被配置为根据如上所述任意方法控制存储装置存储数据。
23.根据本公开的一方面,提供一种存储设备,所述存储系统包括:第一类型存储单元和第二类型存储单元;存储器控制器,被配置为根据如上所述任意方法控制存储装置存储数据。
24.根据本公开的一方面,提供一种通用闪存存储(ufs)系统,所述ufs系统包括:ufs
主机;ufs接口;ufs单元,包括第一类型存储单元和第二类型存储单元,并被配置为经由ufs接口与ufs主机通信,其中,ufs主机被配置为根据如上所述任意方法控制ufs单元存储数据。
25.根据本公开的一方面,提供一种数据中心,所述数据中心包括:应用服务器;存储服务器,包括第一类型存储单元和第二类型存储单元,并被配置为通过网络与应用服务器通信,其中,应用服务器或存储服务器被配置为根据如上所述任意方法存储数据。
26.根据本发明的示例实施例的存储数据的方法,可以根据数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元(例如,第一类型存储单元或第二类型存储单元)中,因此,可以提高使用多种类型存储单元的存储装置的性能和/或用户体验。
27.根据本发明的示例实施例的存储数据的方法,可以根据基于数据的第一数据特征确定的数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元(例如,第一类型存储单元或第二类型存储单元)中,因此,可以根据不同的数据采用不用的写入策略(例如,将需要快速写入的数据写入具有高写入速度的第二类型存储单元,将不需要快速写入的数据写入具有低写入速度的第一类型存储单元),从而可以实现第一类型存储单元和第二类型存储单元的最大利用率并提高写入性能。
28.根据本发明的示例实施例的存储数据的方法,当数据所属于的应用是需要快速写入数据的应用时,可将数据的写入优先级确定为高写入优先级(例如,第二写入优先级)并可将数据写入具有高写入速度的第二类型存储单元;当数据所属于的应用是不需要快速写入数据的应用时,处理器可将数据的写入优先级确定为低写入优先级(例如,第一写入优先级)并将数据写入具有低写入速度的第一类型存储单元,因此,可根据基于数据所属于的应用来更合理地使用第一类型存储单元和第二类型存储单元。
29.根据本发明的示例实施例的存储数据的方法,可以通过预先训练的应用识别模型来识别数据所属于的应用,因此,可以准确地识别数据所属于的应用。
30.根据本发明的示例实施例的存储数据的方法,可基于通过迭代测试获得的多种写入策略中的最佳预设写入策略来执行数据的写入,因此,能够提高存储装置的性能。
31.根据本发明的示例实施例的存储数据的方法,可以针对不同应用使用第二数据特征来进一步确定数据的写入优先级能优化第一类型存储单元和第二类型存储单元的使用,从提高写入性能和寿命。
32.根据本发明的示例实施例的存储数据的方法,在写入助推器功能被开启的情况下,可以根据数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元,而不是将全部数据写入第二类型存储单元(例如,slc),因此,可以减少写入第二类型存储单元的数据的量,从而寿命延长第二类型存储单元的寿命并提高写入性能。
附图说明
33.通过下面结合示例性地示出一例的附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
34.图1是示出根据本发明的示例实施例的存储数据的方法的流程图;
35.图2示出根据本发明的示例实施例的基于数据的第一数据特征确定数据的写入优先级的方法的流程图;
36.图3示出根据本发明的示例实施例的基于确定的应用确定数据的写入优先级的方法的流程图;
37.图4是示出根据本发明的示例实施例的存储数据的方法的流程图;
38.图5是示出根据现有技术的写入助推器(write booster)功能的流程图;
39.图6是示出根据本发明的示例实施例的存储数据的装置的框图;
40.图7为根据一实施例的应用了存储装置的系统的示意图;
41.图8为根据示例性实施例的主机存储系统的框图;
42.图9为根据本发明的一实施例的存储系统的框图;
43.图10为根据一实施例的ufs系统的框图;
44.图11为根据本发明的一实施例的存储系统的框图;
45.图12为根据本发明的一实施例的应用了存储装置的数据中心的框图。
具体实施方式
46.提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本公开的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不受限于在此阐述的那些顺序,而是除了必须以特定的顺序发生的操作之外,可如在理解本公开的公开之后将是清楚地那样被改变。此外,为了增加的清楚和简明,可省略在理解本公开的公开之后已知的特征的描述。
47.在此描述的特征可以以不同的形式来实现,而不应被解释为受限于在此描述的示例。相反,已提供在此描述的示例,以仅示出在理解本公开的公开之后将是清楚的实现在此描述的方法、设备和/或系统的许多可行方式中的一些可行方式。
48.贯穿说明书,当组件被描述为“连接到”或“结合到”另一组件时,所述组件可直接“连接到”或“结合到”所述另一组件,或者可存在一个或多个介于它们之间的其它组件。相反,当元件被描述为“直接连接到”或“直接结合到”另一元件时,可不存在介于它们之间的其它元件。同样地,相似的表述(例如,“在
……
之间”与“紧接在
……
之间”以及“与
……
邻近”与“与
……
紧邻”)也应以相同的方式来解释。如在此使用的,术语“和/或”包括相关所列项中的任意一个或相关所列项中的任意两个或更多个的任意组合。
49.尽管诸如“第一”、“第二”和“第三”的术语在此可用于描述各种构件、组件、区域、层或者部分,但是这些构件、组件、区域、层或者部分不受这些术语所限制。相反,这些术语仅用于将一个构件、组件、区域、层或者部分与另一构件、组件、区域、层或者部分区分开。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或者第一部分也可被称为第二构件、第二组件、第二区域、第二层或者第二部分。
50.在此使用的术语仅用于描述各种示例,并将不用于限制公开。除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。术语“包含”、“包括”和“具有”说明存在陈述的特征、数量、操作、构件、元件和/或它们的组合,但不排除存在或添加一个或多个其它特征、数量、操作、构件、元件和/或它们的组合。
51.除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与基于本公开的公开的理解和本公开所属领域的普通技术人员通常理解的含义相同的含义。除非
在此明确地如此定义,否则术语(诸如在通用词典中定义的术语)应被解释为具有与它们在相关领域的上下文和本公开的公开中的含义一致的含义,并且不应被理想化或过于形式化地解释。在此关于示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,而所有示例不限于此。
52.基于存储容量和成本的考虑,许多存储装置都采用多种工艺,如单层单元(single-level cell,slc)、多层单元(multi-level cell,mlc)、三层单元(trinary-level cell,tlc)和四层单元(quad-level cell,qlc)中的至少两个。不同工艺的存储单元存储性能不同,如速度,存储容量成本和存储性能的平衡是亟待解决的问题。基于此本公开提出了一种存储数据的方法,在下文中,将参照附图详细描述示例。
53.图1是示出根据本发明的示例实施例的存储数据的方法的流程图。
54.参照图1,在步骤s110中,响应于主机对数据的写入请求,确定数据的写入优先级。
55.数据的写入优先级可指示期望写入数据的速度。例如,具有高写入优先级的数据的写入速度可高于具有低写入优先级的数据的写入速度。
56.在一个实施例中,可获取数据的第一数据特征,并基于数据的第一数据特征确定数据的写入优先级,第一数据特征可包括文件类型和同步写占比。
57.文件类型可指示数据的格式和/或类别。在一个示例中,数据的文件类型可包括视频文件、语音文件、图像文件、文本文件等。然而,上述示例仅是示例,本发明的数据的文件类型不限于此,并且可以是与数据相关的一个或多个其他文件类型。
58.在一个示例中,同步写占比可以是单个周期内的同步写占比。例如,同步写占比可包括fsync占比。然而,本发明的同步写占比不限于此,并且可以是以任意其他方式定义的同步写占比。
59.可选地,数据的第一数据特征还可包括以下特征中的一个或多个:时间属性信息,文件系统类型,数据库文件的同步标识,数据同步标识,主设备号,从设备号,逻辑块地址扇区号,写数据大小,进程优先级。然而,本发明的数据的第一数据特征不限于上述示例,还可以是与数据的特性(例如,写入或存储)相关的一个或多个其他特征。例如,仅作为示例,数据的第一数据特征可包括冷热数据占比、输入输出大小和数据大小中的至少一个。
60.作为示例,可基于主机对数据的写入请求来获得数据的第一数据特征。在一个示例中,可通过分析主机对数据的写入请求或者io数据来获得数据的第一数据特征。然而,本发明的数据的第一数据特征的获取方式不限于此,并且可以是已知的任何其他获取方式。
61.在操作s120中,响应于数据的写入优先级为第一写入优先级,将数据写入第一类型存储单元;响应于数据的写入优先级为第二写入优先级,将数据写入第二类型存储单元。
62.这里,第二写入优先级可高于第一写入优先级,第二类型存储单元的写入速度可高于第一类型存储单元的写入速度。在一个示例中,第一类型存储单元和第二类型存储单元可以是slc、mlc、tlc和qlc中的两个。然而,本公开并不限于上面的示例。
63.根据本发明的存储数据的方法,可以根据数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元(例如,第一类型存储单元或第二类型存储单元)中,因此,可以提高使用多种类型存储单元的存储装置的性能和/或用户体验。
64.此外,根据本发明的存储数据的方法,可根据基于数据的第一数据特征确定的数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元(例如,第一类型存储
单元或第二类型存储单元)中,因此,可以根据不同的数据采用不用的写入策略(例如,将需要快速写入的数据写入具有高写入速度的第二类型存储单元,将不需要快速写入的数据写入具有低写入速度的第一类型存储单元),从而可以实现第一类型存储单元和第二类型存储单元的最大利用率并提高写入性能。
65.图2示出根据本发明的示例实施例的基于数据的第一数据特征确定数据的写入优先级的方法的流程图。
66.参照图2,在操作s210中,可基于数据的第一数据特征,确定数据所属于的应用。
67.数据所属于的应用可表示使用数据、将使用数据或者生成数据的应用。第一数据特征的描述参照图1的示例的描述,这里不再赘述。
68.通常,由不同的应用生成和/或使用的数据可具有不同的数据特征(例如,第一数据特征)。因此,基于数据的第一数据特征来确定数据所属于的应用是可行的。
69.在一个实施例中,可基于数据的第一数据特征,利用应用识别模型确定数据所属于的应用,其中,应用识别模型为被预先训练的预测模型。例如,应用识别模型可被预先训练为基于输入数据的数据特征(例如,第一数据特征)来输出与输入数据对应的应用。根据本发明的示例实施例,通过预先训练的应用识别模型来识别数据所属于的应用,因此,可以准确地识别数据所属于的应用。
70.仅作为示例,应用识别模型可通过线下数据采集、数据特征选取和模型训练获得。
71.在线下数据采集中,可根据采集周期(仅作为示例,1分钟或5分钟)采集不同应用下的跟踪信息(即,与第一数据特征对应的信息),将不同应用下的跟踪信息按照采集周期打上标签。
72.在数据特征选取中,可处理不同应用下的数据,并根据有标签的跟踪信息,采用特征工程分析不同应用下的特征关系,选取主要特征进行应用分类。在一个示例中,在区分第一应用和第二应用时,可选取例如一个周期内的同步写占比以及冷热频繁程度的两个特征。然而,本发明不限于选取一个周期内的同步写占比以及冷热频繁程度这两个特征作为用于确定应用的特征。例如,可选取任意其它第一数据特征来识别应用。可选地,区分更多应用时可需要选取更多特征。
73.在模型训练中,可搭建基于机器学习(ml)的应用分类模型,按照所选取的第一数据特征处理数据(仅作为示例,去除无用数据,计算等),迭代调整应用识别模型的参数直到误差收敛,并使用测试数据分析模型识别准确率,从而确定最后的应用识别模型。
74.在操作s220中,基于确定的应用,确定数据的写入优先级。
75.在一个实施例中,当数据所属于的应用是需要快速写入数据的应用时,将数据的写入优先级确定为高写入优先级(例如,第二写入优先级)并将数据写入具有高写入速度的第二类型存储单元;当数据所属于的应用是不需要快速写入数据的应用时,将数据的写入优先级确定为低写入优先级(例如,第一写入优先级)并将数据写入具有低写入速度的第一类型存储单元。因此,在该实施例中,区分数据所属于的应用可以更合理地使用第一类型存储单元和第二类型存储单元。
76.也就是说,根据本发明的示例实施例,来自第一应用的数据被写入的存储单元类型和来自第二应用的数据被写入的存储单元类型可能不同。
77.可选地,根据本发明的示例实施例,当在第一应用下和在不同于第一应用的第二
应用下分别输入相同的数据时,写入来自第一应用的数据的结果和写入来自第二应用的数据的结果可彼此不同。例如,来自第一应用的数据中的被写入第一类型存储单元(例如,与低速nand对应的存储单元)的数据的量和来自第一应用的数据中的被写入第二类型存储单元(例如,与高速nand对应的存储单元)的数据的量之间的比例可不同于来自第二应用的数据中的被写入第一类型存储单元的数据的量和来自第二应用的数据中的被写入第二类型存储单元的数据的量之间的比例。
78.后面将结合图3的示例更具体地描述步骤s220。
79.图3示出根据本发明的示例实施例的基于确定的应用确定数据的写入优先级的方法的流程图。
80.参照图3,在操作s310中,基于数据所属于的应用获取数据的第二数据特征。
81.数据的第二数据特征可以是与数据的写入策略相关的数据。例如,数据的第二数据特征可包括以下特征中的一个或多个:文件类型、同步写占比时间属性信息,文件系统类型,数据库文件的同步标识,数据同步标识,主设备号,从设备号,逻辑块地址扇区号,写数据大小,进程优先级,冷热数据占比,输入输出大小和数据大小。然而,本发明的数据的第二数据特征不限于上述示例,并且可以是与数据的写入相关的一个或多个其他特征。
82.在操作s320中,基于数据的第二数据特征和数据所属于的应用的预设写入策略,确定数据的写入优先级。应用的预设写入策略可包括应用的数据的第二数据特征与至少一个写入优先级的对应关系,多个写入优先级包括第一写入优先级和第二写入优先级。
83.例如,第一应用的预设写入策略下的与第二数据特征的第一值对应的写入优先级可与第一应用的预设写入策略下的与第二数据特征的第二值对应的写入优先级相同或者不同。再例如,可通过预先建立的与预设写入策略对应的查找表来基于数据的第二数据特征确定数据的写入优先级。
84.在一个实施例中,预设写入策略可通过迭代测试来获得。
85.更具体地讲,可在迭代测试之前针对第二数据特征制定多种写入策略。之后,可通过迭代测试将多种写入策略中的具有最好的写入性能的写入策略确定为预设写入策略。
86.在一个示例中,假设第二数据特征包括第一子数据特征和第二子数据特征,第一子数据特征可具有第一值或第二值,第二子数据特征可具有第三值或第四值。在该示例中,制定多种写入策略可包括但不限于以下策略中的至少一个:(1)第一策略:将与具有第一值的第一子数据特征和具有第三值的第二子数据特征对应的数据写入第二类型存储单元,并将剩余数据写入第一类型存储单元;(2)第二策略:将与具有第二值的第一子数据特征和具有第三值的第二子数据特征对应的数据写入第二类型存储单元,并将剩余数据写入第一类型存储单元。之后,可通过迭代测试来测试第一策略下的写入性能和第二策略下的写入性能,从而将第一策略和第二策略中的具有较好写入性能的策略确定为预设写入策略。例如,更好的写入性能可指示具有更长寿命的第二类型存储单元。上述示例仅为了便于理解而被示出,本公开不限于此。
87.也就是说,可基于通过迭代测试获得的多种写入策略中的最佳预设写入策略来执行数据的写入,因此,能够提高存储装置的性能。例如,预设写入策略下的第二类型存储单元的寿命可高于其他写入策略下的第二类型存储单元的寿命。
88.例如,迭代测试可以是针对单个应用的若干写入策略的测试。在一个示例中,针对
单个应用,可分析应用的数据的特征(即,第二数据特征,(例如,仅作为示例,输入输出大小(io size)的比例、同步(sync)的比例)),然后制定若干写入策略进行迭代验证。下面将结合示例对迭代测试进行说明,然而本发明的迭代测试不限于下面的示例的描述。例如,下面的示例中的第一策略、第二策略、使用的数据的特征(例如,输入输出大小和同步)均是示例性的,本发明不限于此。
89.例如,在迭代测试中,当主权重是输入输出大小,次权重是同步时,输入输出大小中的预定大小(例如,仅作为示例,4kb)的占比最高,则制定策略包括且不限于下面的第一策略:输入输出大小为4kb的且包含同步标识的数据被写入第二类型存储单元(例如,与高速slc nand区域对应的存储单元),其余数据写入第一类型存储单元(例如,与低速nand区域对应的存储单元)。
90.又例如,在迭代测试中,当主权重为同步,次权重是输入输出大小时,策略包括且不限于下面的第二策略:具有同步标识且输入输出大小为预定大小(例如,仅作为示例,4kb)的数据被写入第二类型存储单元(例如,与高速slc nand区域对应的存储单元),其余数据写入第一类型存储单元(例如,与低速nand区域对应的存储单元)。
91.在每种策略(例如,第一策略和第二策略)被测试一定次数后,可根据每种策略下的存储装置的性能(例如,平均性能)来将第一策略和第二策略中的一个确定为该应用的预设写入策略。预设写入策略最后可通过存储装置(例如,ufs装置)提供的接口将该数据是否要写入第二类型存储单元的信息发送给存储装置。在一个示例中,迭代测试可以是动态测试。
92.也就是说,根据本发明的存储数据的方法,可基于数据所属于的应用和第二数据特征来确定数据的写入优先级。因此,在该实施例中,可根据基于数据所属于的应用和第二数据特征来更合理地使用第一类型存储单元和第二类型存储单元。更具体地讲,即使当数据所属于的应用相同时,相同应用下的数据可对写入速度存在不同的需求。因此,针对不同应用使用第二数据特征来进一步确定数据的写入优先级能优化第一类型存储单元和第二类型存储单元的使用,从提高写入性能和寿命。
93.图4是示出根据本发明的示例实施例的存储数据的方法的流程图。
94.参照图4,在操作s410中,可将数据的一个或多个数据特征输入到应用识别模型。应用识别模型可被预先训练为基于输入数据的数据特征来输出与输入数据对应的应用。
95.然而,由于应用的种类繁多,并且用于训练应用识别模型的数据不可能包括所有应用的数据,因此,应用识别模型可被训练为识别与训练数据对应的目标应用。例如,应用识别模型可被训练为识别第一应用和第二应用。在这种情况下,当应用识别模型被用于识别第三应用的数据和第四应用的数据时,应用识别模型可将第三应用和第四应用识别为不同于目标应用(例如,第一应用和第二应用)的其他应用。
96.在操作s420中,可基于应用识别模型确定识别的应用是否是不同于目标应用的其他应用。更具体地讲,可基于应用识别模型识别数据所属于的应用,并可确定数据所属于的应用是否是不同于目标应用的其他应用。
97.当在操作s420中确定数据所属于的应用是其他应用时,可在操作s450中将数据存储在与第一写入优先级对应的第一类型存储单元中。在图4的示例中,第一类型存储单元可以是mlc、tlc和qlc中的一个或多个。
98.当在操作s420中确定数据所属于的应用不是其他应用(即,数据所属于的应用是目标应用)时,可在操作s430中基于数据的至少一个数据特征确定应用的预设写入策略是否指示快速写入。应用的预设写入策略可指示与数据特征的不同值对应的写入策略。例如,预设写入策略可包括根据数据特征的值将数据写入与第一写入优先级对应的第一类型存储单元或将数据写入与第二写入优先级对应的第二类型存储单元。
99.当在操作s430中确定应用的预设写入策略不指示快速写入时,可在操作s440中将数据存储在与第一写入优先级对应的第一类型存储单元中。
100.当在操作s430中确定应用的预设写入策略指示快速写入时,可在操作s450中将数据存储在与第二写入优先级对应的第二类型存储单元中。在图4的示例中,第二类型存储单元可以是slc。
101.虽然在图4的示例中,第一类型存储单元可以是mlc、tlc和qlc中的一个或多个,第二类型存储单元可以是slc,但是本发明不限于上述示例。例如,第一类型存储单元和第二类型存储单元可以是slc、mlc、tlc和qlc中的两个,并且第二类型存储单元的写入速度可高于第一类型存储单元的写入速度。
102.图5是示出根据现有技术的写入助推器(write booster)功能的流程图。
103.写入助推器是存储装置(例如,通用闪存(ufs)(例如,nand闪存))的一个重要技术。当开启写入助推器功能时,主机的数据被写入slc中,以来提高写入速度。但slc的容量是有限的,之后会将slc中的数据写入到tlc/mlc或者qlc等低速nand闪存中。所以写入助推器对时延要求高的来自主机的写入请求起到至关重要的作用。
104.在slc容量固定时,当写入助推器功能打开时,没有对数据进行区分而是将所有主机端的数据将全部写入slc,写入slc的数据量会大大增加,导致写性能降低,slc的寿命快速耗尽,使用户体验变差。
105.更具体地讲,现有写入助推器可通过三种方式来实现将数据写入slc:1、write booster开关开启,则所有数据写入slc;2、分时间段开启write booster,开启时段的数据全写入slc;3、数据量大时,数据全部写入到slc。当持续写入的数据大于slc空间的大小时,就需要把数据写入到非slc的存储空间内,此时持续写入速度就会变成真实的tlc/qlc nand的写入速度而出现断层式的下滑,从而使用体验下降。
106.如上参照图1至图5中的任一所述,根据本发明的示例实施例的存储数据的方法,可根据数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元(例如,第一类型存储单元或第二类型存储单元)中。
107.在写入助推器功能被开启的情况下,可根据数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元,而不是将全部数据写入第二类型存储单元(例如,slc),因此,可以减少写入第二类型存储单元的数据的量,从而寿命延长第二类型存储单元的寿命并提高写入性能。
108.图6是示出根据本发明的示例实施例的存储数据的装置的框图。
109.参照图6,根据本发明的示例实施例的存储数据的装置600可包括优先级确定模块610和写入模块620。
110.优先级确定模块610可响应于主机对数据的写入请求,确定数据的写入优先级。例如,优先级确定模块610可参照图1至图4中的至少一个描述的方法来确定数据的写入优先
级。
111.在一个示例中,优先级确定模块610可包括获取单元(未示出)和确定单元(未示出)。确定单元可执行参照图1至图4中的至少一个描述的方法来确定数据的优先级。获取单元可获取确定单元确定数据的优先级所需要的数据(例如,数据的第一数据特征)。
112.写入模块620可响应于数据的写入优先级为第一写入优先级,将数据写入第一类型存储单元。此外,写入模块620可响应于数据的写入优先级为第二写入优先级,将数据写入第二类型存储单元。第二写入优先级可高于第一写入优先级,第二类型存储单元的写入速度可高于第一类型存储单元的写入速度。也就是说,写入模块620可执行数据的写入。例如,写入模块620可参照图1至图4中的至少一个描述的方法来执行数据的写入。
113.图7为根据一实施例的应用了存储装置的系统1000的示意图。图7的系统1000(例如,电子系统)基本上可以是移动系统,例如便携式通信终端(例如,移动电话)、智能手机、平板个人计算机(pc)、可穿戴装置、医疗保健装置或物联网(iot)装置。但是,图7的系统1000不必限于移动系统,其可以是pc、膝上型计算机、服务器、媒体播放器或汽车装置(例如,导航装置)。
114.参照图7,系统1000可以包括主处理器1100、存储器(例如,1200a和1200b)以及存储装置(例如,1300a和1300b)。并且,系统1000可以包括图像捕获装置1410、用户输入装置1420、传感器1430、通信装置1440、显示器1450、扬声器1460、供电装置1470以及连接接口1480中的至少一个。
115.在一些实施例中,存储器(例如,1200a和1200b)和/或存储装置(例如,1300a和1300b)可对应于根据本发明的示例实施例的存储装置或用于存储数据的装置。例如,存储器(例如,1200a和1200b)和/或存储装置(例如,1300a和1300b)可按照参照图1至图5中的至少一个描述的存储数据的方法来存储数据。
116.主处理器1100可以控制系统1000的所有操作,更具体地,可以控制系统1000中包括的其他组件的操作。主处理器1100可以被实现为通用处理器、专用处理器或应用程序处理器等。
117.主处理器1100可以包括至少一个中央处理器(cpu)核1110,并且还包括控制器1120,其用于控制存储器1200a和1200b和/或存储装置1300a和1300b。在一些实施例中,主处理器1100可以进一步包括加速器1130,其是用于诸如人工智能(ai)数据操作等的高速数据操作的专用电路。加速器1130可以包括图形处理单元(gpu)、神经处理单元(npu)和/或数据处理单元(dpu)等,并且被实现为与主处理器1100的其他组件物理上分离的芯片。
118.存储器1200a和1200b可以用作系统1000的主存储装置。尽管存储器1200a和1200b可以分别包括易失性存储器,例如静态随机存取存储器(sram)和/或动态随机存取存储器(dram)等,但是存储器1200a和1200b可以分别包括非易失性存储器,例如闪存、相变随机存取存储器(pram)和/或电阻式随机存取存储器(rram)等。存储器1200a和1200b可以在与主处理器1100相同的封装中实现。
119.存储装置1300a和1300b可以用作非易失性存储装置,其被配置为不管是否被供电都存储数据,并且具有比存储器1200a和1200b更大的存储容量。存储装置1300a和1300b可以分别包括存储器控制器(strg ctrl)1310a和1310b以及非易失性存储器(nvm)1320a和1320b,其被配置为经由存储器控制器1310a和1310b的控制来存储数据。尽管nvm 1320a和
1320b可以包括具有二维(2d)或三维(3d)结构的v-nand闪存,但是nvm 1320a和1320b可以包括其他类型的nvm,例如pram和/或rram等。
120.存储装置1300a和1300b可以与主处理器1100物理上分离并且包括在系统1000中,或者可以在与主处理器1100相同的封装中实现。另外,存储装置1300a和1300b可以具有固态装置(ssds)或存储卡的类型,并且可以通过诸如稍后将描述的连接接口1480之类的接口与系统1000的其他组件可移除地结合。存储装置1300a和1300b可以是应用了诸如通用闪存(ufs)、嵌入式多媒体卡(emmc)或nvme之类的标准协议的装置,但不限于此。
121.图像捕获装置1410可以拍摄静止图像或运动图像。图像捕获装置1410可以包括照相机、便携式摄像机和/或网络摄像头等。
122.用户输入装置1420可以接收由系统1000的用户输入的各种类型的数据,并且包括触摸板、键区、键盘、鼠标和麦克风等。
123.传感器1430可以检测可以从系统1000的外部获得的各种类型的物理量,并将所检测的物理量转换成电信号。传感器1430可以包括温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器等。
124.通信装置1440可以根据各种通信协议在系统1000外部的其他装置之间发送和接收信号。通信装置1440可以包括天线、收发器或调制解调器等。
125.显示器1450和扬声器1460可以用作输出装置,其被配置为分别向系统1000的用户输出视觉信息和听觉信息。
126.供电装置1470可以适当地转换从嵌入在系统1000中的电池(未示出)和/或外部电源供应的电力,并且将所转换的电力供应给系统1000的每个组件。
127.连接接口1480可以提供系统1000和外部装置之间的连接,该外部装置连接到系统1000并且能够向系统1000发送数据和从系统1000接收数据。连接接口1480可以通过使用各种接口方案来实现,例如,高级技术附件(ata)、串行ata(sata)、外部串行ata(e-sata)、小型计算机系统接口(scsi)、串行scsi(sas)、外部设备互连(pci)、pci express(pcie)、nvme、ieee1394、通用串行总线(usb)接口、安全数码(sd)卡接口、多媒体卡(mmc)接口、嵌入式多媒体卡(emmc)接口、ufs接口、嵌入式ufs(eufs)接口和紧凑式闪存(cf)卡接口等。
128.图8为根据示例性实施例的主机存储系统8000的框图。
129.主机存储系统8000可以包括主机8100和存储装置8200。此外,存储装置8200可以包括存储器控制器8210和nvm 8220。根据本发明的示例性实施例,主机8100可以包括主机控制器8110和主机存储器8120。主机存储器8120可以用作缓冲存储器,其被配置为临时存储要发送到存储装置8200的数据或从存储装置8200接收的数据。
130.在一些实施例中,主机8100和/或存储装置8200可对应于根据本发明的示例实施例的用于存储数据的装置。例如,存储装置8200可包括第一类型存储单元和第二类型存储单元。
131.存储装置8200可以包括存储介质,其被配置为响应于来自主机8100的请求而存储数据。作为示例,存储装置8200可以包括ssd、嵌入式存储器和可装卸的外部存储器中的至少一个。当存储装置8200是ssd时,存储装置8200可以是符合nvme标准的装置。当存储装置8200是嵌入式存储器或外部存储器时,存储装置8200可以是符合ufs标准或emmc标准的装置。主机8100和存储装置8200均可以根据采用的标准协议来生成包(packet)并发送该包。
132.当存储装置8200的nvm 8220包括闪存时,所述闪存可以包括2dnand存储阵列或3d(或垂直)nand(vnand)存储阵列。作为另一示例,存储装置8200可以包括各种其他种类的nvm。例如,存储装置8200可以包括磁性随机存取存储器(mram)、自旋转移扭矩mram、导电桥式ram(cbram)、铁电ram(fram)、pram、rram以及各种其他类型的存储器。
133.根据一实施例,主机控制器8110和主机存储器8120可以实现为单独的半导体芯片。或者,在一些实施例中,主机控制器8110和主机存储器8120可以集成在同一半导体芯片中。作为示例,主机控制器8110可以是包括在应用处理器(ap)中的多个模块中的任何一个。所述ap可以实现为片上系统(soc)。此外,主机存储器8120可以是所述ap中包括的嵌入式存储器或所述ap外部的存储器模块。
134.主机控制器8110可以管理将主机存储器8120的缓冲区域的数据(例如,写入数据)存储在nvm 8220中的操作或将nvm 8220的数据(例如,读取数据)存储在缓冲区域中的操作。
135.存储器控制器8210可以包括主机接口8211、存储器接口8212和cpu8213。另外,存储器控制器8210还可以包括闪存转换层(ftl)8124、包管理器8215、缓冲存储器8216、纠错码(ecc)引擎8217和高级加密标准(aes)引擎8218。存储器控制器8210可以进一步包括其中装载有ftl 8124的工作存储器(未示出)。cpu 8213可以执行ftl 8124来控制nvm 8220上的数据写入和读取操作。
136.主机接口8211可以向主机8100发送包和从主机8100接收包。从主机8100发送到主机接口8211的包可以包括命令或要被写入nvm 8220的数据等。从主机接口8211发送到主机8100的包可以包括对命令的响应或从nvm8220读取的数据等。存储器接口8212可以将要被写入nvm 8220的数据发送到nvm 8220或接收从nvm 8220读取的数据。存储器接口8212可以被配置为符合诸如切换(toggle)或开放nand闪存接口(onfi)的标准协议。
137.ftl 8124可以执行各种功能,例如地址映射操作、磨损均衡操作以及垃圾收集操作。地址映射操作可以是将从主机8100接收的逻辑地址转换为用于在nvm 8220中实际存储数据的物理地址的操作。磨损均衡操作可以是通过允许均匀地使用nvm 8220的块来防止特定块的过度退化的技术。作为示例,磨损均衡操作可以通过使用平衡物理块的擦写计数的固件技术来实现。垃圾收集操作可以是通过在将现有块的有效数据复制到新块之后擦除现有块来确保nvm 8220中的可用容量的技术。
138.包管理器8215可以根据同意主机8100的接口的协议生成包,或者从从主机8100接收到的包中解析各种类型的信息。另外,缓冲存储器8216可以临时存储要写入nvm 8220的数据或要从nvm 8220读取的数据。尽管缓冲存储器8216可以是包括在存储器控制器8210中的组件,但是缓冲存储器8216可以在存储器控制器8210的外部。
139.ecc引擎8217可以对从nvm 8220读取的读取数据执行错误检测和校正操作。更具体地,ecc引擎8217可以生成用于要写入到nvm 8220的写入数据的奇偶校验位,并且所生成的奇偶校验位可以与写入数据一起存储在nvm 8220中。在从nvm 8220读取数据期间,ecc引擎8217可以通过使用读取数据以及从nvm 8220读取的奇偶校验位来校正读取数据中的错误,并输出错误校正后的读取数据。
140.aes引擎8218可以通过使用对称密钥算法对输入到存储器控制器8210的数据执行加密操作和解密操作中的至少一个。
141.图9为根据本发明的一实施例的存储系统9000的框图。
142.参照图9,存储系统9000可以包括存储装置9200和存储器控制器9100。存储系统9000可以支持多个通道ch1至chm,并且存储装置9200可以通过多个通道ch1至chm连接到存储器控制器9100。例如,存储系统9000可以实现为诸如ssd的存储装置。
143.在一些实施例中,存储系统9000可对应于根据本发明的示例实施例的用于存储数据的装置。例如,存储装置9200可包括第一类型存储单元和第二类型存储单元,存储器控制器9100可根据参照图1至图5中的至少一个描述的存储数据的方法来存储数据。
144.存储装置9200可以包括多个nvm装置nvm11至nvmmn。nvm装置nvm11至nvmmn中的每一个可以通过与其相对应的路径(way)连接至多个通道ch1至chm中的一个。例如,nvm装置nvm11至nvm1n可以通过路径w11至w1n连接到第一通道ch1,并且nvm装置nvm21至nvm2n可以通过路径w21至w2n连接到第二通道ch2。在示例性实施例中,nvm装置nvm11至nvm1n中的每一个可以实现为任意存储元件,其可以根据来自存储器控制器9100的单独命令来操作。例如,nvm装置nvm11至nvm1n中的每一个可以实现为芯片(chip)或管芯(die),但是本发明不限于此。
145.存储器控制器9100可以通过多个通道ch1至chm向存储装置9200发送信号和从存储装置9200接收信号。例如,存储器控制器9100可以通过通道ch1至chm向存储装置9200发送命令cmda至cmdm、地址addra至addrm以及数据dataa至datam,或者从存储装置9200接收数据dataa至datam。
146.存储器控制器9100可以从通过使用通道ch1至chm中的相应的一个从连接到通道ch1至chm中的每一个的nvm装置nvm11至nvmmn中选择一个,并且向所选择的nvm装置发送信号和从所选择的nvm装置接收信号。例如,存储器控制器9100可以从连接到第一通道ch1的nvm装置nvm11至nvm1n中选择nvm装置nvm11。存储器控制器9100可以通过第一通道ch1发送命令cmda、地址addra和数据dataa到所选择的nvm装置nvm11,或者从所选择的nvm装置nvm11接收数据dataa。
147.存储器控制器9100可以通过彼此不同的通道并行地向存储装置9200发送信号和从存储装置9200接收信号。例如,存储器控制器9100可以在通过第一通道ch1将命令cmda发送到存储装置9200的同时,通过第二通道ch2发送命令cmdb到存储装置9200。例如,存储器控制器9100可以在通过第一通道ch1从存储装置9200接收数据dataa的同时,通过第二通道ch2从存储装置9200接收数据datab。
148.存储器控制器9100可以控制存储装置9200的所有操作。存储器控制器9100可以将信号发送到通道ch1至chm,并控制连接到通道ch1至chm的nvm装置nvm11至nvmmn中的每一个。例如,存储器控制器9100可以发送命令cmda和地址addra到第一通道ch1,并且控制选自nvm装置nvm11至nvm1n中的一个。
149.nvm装置nvm11至nvmmn中的每一个可以经由存储器控制器9100的控制来操作。例如,nvm装置nvm11可以基于提供给第一通道ch1的命令cmda、地址addra和数据dataa来对数据dataa进行编程。例如,nvm装置nvm21可以基于提供给第二通道ch2的命令cmdb和地址addb读取数据datab,并将所读取的数据datab发送到存储器控制器9100。
150.尽管图8示出了存储装置9200通过m个通道与存储器控制器9100进行通信并且包括与每个通道相对应的n个nvm装置的示例,但是可以改变通道的数量和连接到一个通道的
nvm装置的数量。
151.图10为根据一实施例的ufs系统2000的框图。
152.ufs系统2000可以是符合电子工程设计发展联合协会(jedec)所宣布的ufs标准的系统,并且包括ufs主机2100、ufs装置2200以及ufs接口2300。在不与以下图10的描述冲突的范围内,对于图7的系统1000的以上描述也可以应用于图10的ufs系统2000。
153.在一些实施例中,ufs主机2100和/或ufs装置2200可对应于根据本发明的示例实施例的用于存储数据的装置。例如,ufs装置2200可包括第一类型存储单元和第二类型存储单元。
154.参照图10,ufs主机2100可以通过ufs接口2300连接到ufs装置2200。当图10的主处理器1100为应用处理器时,ufs主机2100可以实现为应用处理器的一部分。ufs主机控制器2110和主机存储器2140可以分别对应于图7的主处理器1100的和控制器1120以及存储器1200a和1200b。ufs装置2200可以对应于图7的存储装置1300a和1300b,并且ufs装置控制器2210和nvm 2220可以分别对应于图7的存储器控制器1310a和1310b以及nvm1320a和1320b。
155.ufs主机2100可以包括ufs主机控制器2110、应用程序2120、ufs驱动器2130,主机存储器2140和ufs互连(uic)层2150。ufs装置2200可以包括ufs装置控制器2210、nvm 2220、存储接口2230、装置存储器2240、uic层2250以及调节器2260。nvm 2220可以包括多个存储元件2221。尽管每个存储元件2221可以包括具有2d结构或3d结构的v-nand闪存,但是每个存储元件2221可以包括另一种nvm,例如pram和/或rram等。ufs装置控制器2210可以通过存储接口2230连接到nvm 2220。存储接口2230可以设置为符合诸如toggle或onfi的标准协议。
156.应用程序2120可以指想要与ufs装置2200进行通信以使用ufs装置2200的功能的程序。应用程序2120可以发送输入-输出请求(ior)到ufs驱动器2130,以用于ufs装置2200上的输入/输出(i/o)操作。ior可以指数据读取请求、数据存储(或写入)请求和/或数据擦除(或丢弃)请求,但不限于此。
157.ufs驱动器2130可以通过ufs-主机控制器接口(ufs-hci)来管理ufs主机控制器2110。ufs驱动器2130可以将由应用程序2120生成的ior转换为由ufs标准定义的ufs命令,并且将ufs命令发送到ufs主机控制器2110。一个ior可以被转换成多个ufs命令。尽管ufs命令基本上可以由scsi标准定义,但是ufs命令可以是专用于ufs标准的命令。
158.ufs主机控制器2110可以通过uic层2150和ufs接口2300将由ufs驱动器2130转换的ufs命令发送到ufs装置2200的uic层2250。在ufs命令的发送期间,ufs主机控制器2110的ufs主机寄存器2111可以用作命令队列(cq)。
159.在ufs主机2100一侧上的uic层2150可以包括移动产业处理器接口(mipi)m-phy 2151和mipi unipro 2152,并且在ufs装置2200一侧上的uic层2150也可以包括mipi m-phy 2251和mipi unipro 2252。
160.ufs接口2300可以包括配置为发送参考时钟信号ref_clk的线、配置为发送ufs装置2200的硬件重置信号reset_n的线、配置为发送一对差分输入信号din_t和din_c的一对线以及配置为发送一对差分输出信号dout_t和dout_c的一对线。
161.从ufs主机2100提供给ufs装置2200的参考时钟信号ref_clk的频率可以是19.2mhz、26mhz、38.4mhz和52mhz中的一个,但不限于此。ufs主机2100可以在操作期间,即,
在ufs主机2100和ufs装置2200之间的数据发送/接收操作期间,改变参考时钟信号ref_clk的频率。ufs装置2200可以通过使用锁相环(pll)从由ufs主机2100提供的参考时钟信号ref_clk生成具有各种频率的时钟信号。并且,ufs主机2100可以通过使用参考时钟信号ref_clk的频率来设置ufs主机2100和ufs装置2200之间的数据速率。即,可以根据参考时钟信号ref_clk的频率来确定数据速率。
162.ufs接口2300可以支持多个通道,每个通道可以实现为一对差分线。例如,ufs接口2300可以包括至少一个接收通道和至少一个发送通道。在图10中,配置为发送一对差分输入信号din_t和din_c的一对线可以构成接收通道,并且配置为发送一对差分输出信号dout_t和dout_c的一对线可以构成发送通道。尽管在图9中示出了一个发送通道和一个接收通道,但是可以改变发送通道的数量和接收通道的数量。
163.接收通道和发送通道可以基于串行通信方案来发送数据。由于接收通道与发送通道分开的结构,因此可以启用ufs主机2100与ufs装置2200之间的全双工通信。即,在通过接收通道从ufs主机2100接收数据的同时,ufs装置2200可以通过发送通道向ufs主机2100发送数据。此外从ufs主机2100到ufs装置2200的控制数据(例如,命令)和要由ufs主机2100存储在ufs装置2200的nvm 2220中或从nvm 2220中读取的用户数据可以通过同一通道发送。因此,在ufs主机2100和ufs装置2200之间,除了一对接收通道和一对发送通道之外,不需要进一步提供用于数据发送的单独通道。
164.ufs装置2200的ufs装置控制器2210可以控制ufs装置2200的所有操作。ufs装置控制器2210可以通过使用逻辑单元(lu)2211来管理nvm2220,该lu 2211是逻辑数据存储单元。lu 2211的数量可以是8,但不限于此。ufs装置控制器2210可以包括ftl,并且通过使用ftl的地址映射信息将从ufs主机2100接收到的逻辑数据地址(例如,逻辑块地址(lba)转换为物理数据地址(例如,物理块地址(pba))。配置为在ufs系统2000中存储用户数据的逻辑块可以具有预定范围内的尺寸。例如,可以设置逻辑块的最小尺寸为4kbyte。
165.当通过uic层2250将来自ufs主机2100的命令施加到ufs装置2200时,ufs装置控制器2210可以响应于该命令而执行操作,并且当操作完成时将完成响应发送给ufs主机2100。
166.作为示例,当ufs主机2100意在将用户数据存储在ufs装置2200中时,ufs主机2100可以向ufs装置2200发送数据存储命令。当从ufs装置2200接收到指示ufs主机2100准备好接收用户数据(就绪传输)的响应(“就绪传输”响应)时,ufs主机2100可以将用户数据发送到ufs装置2200。ufs装置控制器2210可以将接收到的用户数据临时存储在装置存储器2240中,并且基于ftl的地址映射信息,将临时存储在装置存储器2240中的用户数据存储在nvm 2220的选定位置。
167.作为另一示例,当ufs主机2100意在读取存储在ufs装置2200中的用户数据时,ufs主机2100可以向ufs装置2200发送数据读取命令。已经接收到该命令的ufs装置控制器2210可以基于数据读取命令从nvm 2220读取用户数据,并将读取的用户数据临时存储装置存储器2240中。在读取操作期间,ufs装置控制器2210可以通过使用嵌入在其中的ecc引擎(未示出)来检测并校正读取的用户数据中的错误。更具体地,ecc引擎可以生成用于要写入nvm 2220的写入数据的奇偶校验位,并且所生成的奇偶校验位可以与写入数据一起存储在nvm 2220中。在从nvm 2220读取数据期间,ecc引擎可以通过使用读取数据以及从nvm 2220读取的奇偶校验位来校正读取数据中的错误,并输出错误校正后的读取数据。
168.另外,ufs装置控制器2210可以将临时存储在装置存储器2240中的用户数据发送到ufs主机2100。并且,ufs装置控制器2210还可以包括aes引擎(未示出)。aes引擎可以通过使用对称密钥算法对发送到ufs装置控制器2210的数据执行加密操作和解密操作中的至少一个。
169.ufs主机2100可以将要发送到ufs装置2200的命令顺序存储在可以用作公共队列的ufs主机寄存器2111中,并且顺序地将命令发送给ufs装置2200。在这种情况下,即使当先前发送的命令仍由ufs装置2200处理时,即,即使在接收到先前发送的命令已经由ufs装置2200处理的通知之前,ufs主机2100也可以将在cq中待命的下一命令发送到ufs装置2200。因此,在处理先前发送的命令期间,ufs装置2200还可以从ufs主机2100接收下一命令。可以在cq中存储的命令的最大数量(或队列深度)可以是例如32。并且,可以将cq实现为循环队列,其中通过头指针和尾指针指示存储在队列中的命令行的开始和结束。
170.多个存储元件2221中的每一个可以包括存储单元阵列(未示出)和配置为控制存储单元阵列的操作的控制电路(未示出)。存储单元阵列可以包括2d存储单元阵列或3d存储单元阵列。存储单元阵列可以包括多个存储单元。尽管每个存储单元都是设置为存储1位信息的单层单元(slc),但是每个存储单元可以是设置为存储2位或更多位信息的单元,例如多层单元(mlc)、三层单元(tlc)和四层单元(qlc)。3d存储单元阵列可以包括垂直nand串,其中至少一个存储单元垂直定向并位于另一存储单元上。
171.可以将电压vcc、vccq和vccq2等作为电源电压施加到ufs装置2200。电压vcc可以是用于ufs装置2200的主电源电压,并且可以在2.4v至3.6v的范围内。电压vccq可以是主要用于向ufs装置控制器2210供应低压的电源电压,并且可以在1.14v至1.26v的范围内。电压vccq2可以是用于主要向诸如mipi m-phy 2251之类的i/o接口供应低于电压vcc并且高于电压vccq的电压的电源电压,并且可以在1.7v至1.95v的范围内。可以通过调节器2260将电源电压提供给ufs装置2200的各个组件。调节器2260可以实现为一组单元调节器,其分别连接到上述电源电压中的不同电源电压。
172.图11为根据本发明的一实施例的存储系统3000的框图。参照图11,存储系统3000可以包括存储装置3200和存储器控制器3100。存储装置3200可以对应于nvm装置nvm11至nvmmn中的一个,其基于图9的多个通道ch1至chm中的一个与存储器控制器9100通信。存储器控制器3100可以对应于图9的存储器控制器9100。
173.在一些实施例中,存储系统3000可对应于根据本发明的示例实施例的用于存储数据的装置。例如,存储装置300可包括第一类型存储单元和第二类型存储单元,存储器控制器3100可根据参照图1至图5中的至少一个描述的存储数据的方法来存储数据。
174.存储装置3200可以包括第一至第八引脚p11至p18、存储器接口电路3210、控制逻辑电路3220和存储单元阵列3330。
175.存储器接口电路3210可以通过第一引脚p11从存储器控制器3100接收芯片使能信号nce。存储器接口电路3210可以响应于芯片使能信号nce而通过第二至第八引脚p12至p18向存储器控制器3100发送信号和从存储器控制器3100接收信号。例如,当芯片使能信号nce处于使能状态(例如,低电平)时,存储器接口电路3210可以通过第二至第八引脚p12至p18向存储器控制器3100发送信号并从存储器控制器3100接收信号。
176.存储器接口电路3210可以通过第二至第四引脚p12至p14从存储器控制器3100接
收命令锁存使能信号cle、地址锁存使能信号ale和写入使能信号nwe。存储器接口电路3210可以通过第七引脚p17从存储器控制器3100接收数据信号dq,或者将数据信号dq发送到存储器控制器3100。可以经由数据信号dq来传输命令cmd,地址addr和数据。例如,数据信号dq可以通过多条数据信号线传输。在这种情况下,第七引脚p17可以包括分别对应于多个数据信号dq的多个引脚。
177.存储器接口电路3210可以基于写入使能信号nwe的切换时间点从在命令锁存使能信号cle的使能区间(例如,高电平状态)中接收的数据信号dq获得命令cmd。存储器接口电路3210可以基于写入使能信号nwe的切换时间点从在地址锁存使能信号ale的使能区间(例如,高电平状态)中接收的数据信号dq获得地址addr。
178.在示例性实施例,写入使能信号nwe可以保持在静态(例如,高电平或低电平)并且在高电平和低电平之间切换。例如,写入使能信号nwe可以在发送命令cmd或地址addr的区间中切换。因此,存储器接口电路3210可以基于写入使能信号nwe的切换时间点获得命令cmd或地址addr。
179.存储器接口电路3210可以通过第五引脚p15从存储器控制器3100接收读取使能信号nre。存储器接口电路3210可以通过第六引脚p16从存储器控制器3100接收数据选通信号dqs,或者可以将数据选通信号dqs发送到存储器控制器3100。
180.在存储装置3200的数据(data)输出操作中,存储器接口电路3210可以在输出数据data之前接收通过第五引脚p15切换的读取使能信号nre。存储器接口电路3210可以生成数据选通信号dqs,其基于读取使能信号nre的切换来切换。例如,存储器接口电路3210可以基于读取使能信号nre的切换开始时间来生成数据选通信号dqs,其在预定延迟(例如,tdqsre)之后开始切换。存储器接口电路3210可以基于数据选通信号dqs的切换时间点来发送包括数据data的数据信号dq。因此,数据data可以与数据选通信号dqs的切换时间点对准并且被发送到存储器控制器3100。
181.在存储装置3200的数据(data)输入操作中,当从存储器控制器3100接收到包括数据data的数据信号dq时,存储器接口电路3210可以接收切换的数据选通信号dq以及数据data。存储器接口电路3210可以基于数据选通信号dqs的切换时间点从数据信号dq获得数据data。例如,存储器接口电路3210可以在数据选通信号dqs的上升沿和下降沿对数据信号dq进行采样并获得数据data。
182.存储器接口电路3210可以通过第八引脚p18将就绪/忙碌输出信号nr/b发送到存储器控制器3100。存储器接口电路3210可以通过就绪/忙碌输出信号nr/b将存储装置3200的状态信息发送到存储器控制器3100。当存储装置3200处于忙碌状态时(即,当正在存储装置3200中执行操作时),存储器接口电路3210可以将指示忙碌状态的就绪/忙碌输出信号nr/b发送到存储器控制器3100。当存储装置3200处于就绪状态时(即,当在存储装置3200中未执行或完成操作时),存储器接口电路3210可以将指示就绪状态的就绪/忙碌输出信号nr/b发送到存储器控制器3100。例如,当存储装置3200响应于页面读取命令而从存储单元阵列3330读取数据data时,存储器接口电路3210可以发送指示忙碌状态(例如,低电平)的就绪/忙碌输出信号nr/b到存储器控制器3100。例如,当存储装置3200响应于编程命令而将数据data编程到存储单元阵列3330时,存储器接口电路3210可以将指示忙碌状态的就绪/忙碌输出信号nr/b发送到存储器控制器3100。
183.控制逻辑电路3220可以控制存储装置3200的所有操作。控制逻辑电路3220可以接收从存储器接口电路3210获得的命令/地址cmd/addr。控制逻辑电路3220可以响应于所接收到的命令/地址cmd/addr而产生用于控制存储装置3200的其他组件的控制信号。例如,控制逻辑电路3220可以生成各种控制信号,其用于将数据data编程到存储单元阵列3330或从存储单元阵列3330读取数据data。
184.存储单元阵列3330可以经由控制逻辑电路3220的控制来存储从存储器接口电路3210获得的数据data。存储单元阵列3330可以经由控制逻辑电路3220的控制将存储的数据data输出到存储器接口电路3210。
185.存储单元阵列3330可以包括多个存储单元。例如,多个存储单元可以是闪存单元。但是,本发明不限于此,并且存储单元可以是rram单元、fram单元、pram单元、晶闸管ram(tram)单元或mram单元。在下文中,将主要描述其中存储单元是nand闪存单元的实施例。
186.存储器控制器3100可以包括第一至第八引脚p21至p28和控制器接口电路3110。第一至第八引脚p21至p28可以分别对应于存储装置3200的第一至第八引脚p11至p18。
187.控制器接口电路3110可以通过第一引脚p21将芯片使能信号nce发送到存储装置3200。控制器接口电路3110可以通过第二至第八引脚p22至p28向存储装置3200发送信号并从存储装置3200接收信号,其中,存储装置3200由芯片使能信号nce选择。
188.控制器接口电路3110可以通过第二至第四引脚p22至p24将命令锁存使能信号cle、地址锁存使能信号ale和写入使能信号nwe发送至存储装置3200。控制器接口电路3110可以通过第七引脚p27向存储装置3200发送数据信号dq或从存储装置3200接收数据信号dq。
189.控制器接口电路3110可以将包括命令cmd或地址addr的数据信号dq以及切换的写入使能信号nwe一起发送到存储装置3200。控制器接口电路3110可以通过发送具有使能状态的命令锁存使能信号cle来向存储装置3200发送包括命令cmd的数据信号dq。并且,控制器接口电路3110可以通过发送具有使能状态的地址锁存使能信号ale来向存储装置3200发送包括地址addr的数据信号dq。
190.控制器接口电路3110可以通过第五引脚p25将读取使能信号nre发送到存储装置3200。控制器接口电路3110可以通过第六引脚p26从存储装置3200接收数据选通信号dqs或向存储装置3200发送数据选通信号dqs。
191.在存储装置3200的数据(data)输出操作中,控制器接口电路3110可以生成切换的读取使能信号nre,并且将读取使能信号nre发送到存储装置3200。例如,在输出数据data之前,控制器接口电路3110可以生成读取使能信号nre,其从静态(例如,高电平或低电平)变为切换状态。因此,存储装置3200可以基于读取使能信号nre生成切换的数据选通信号dqs。控制器接口电路3110可以从存储装置3200接收包括数据data的数据信号dq以及切换的数据选通信号dqs。控制器接口电路3110可以基于数据选通信号dqs的切换时间点从数据信号dq获得数据data。
192.在存储装置3200的数据(data)输入操作中,控制器接口电路3110可以生成切换的数据选通信号dqs。例如,在发送数据data之前,控制器接口电路3110可以生成数据选通信号dqs,其从静态(例如,高电平或低电平)变为切换的状态。控制器接口电路3110可以基于数据选通信号dqs的切换时间点将包括数据data的数据信号dq发送到存储装置3200。
193.控制器接口电路3110可以通过第八引脚p28从存储装置3200接收就绪/忙碌输出信号nr/b。控制器接口电路3110可以基于就绪/忙碌输出信号nr/b来确定存储装置3200的状态信息。
194.图12为根据本发明的一实施例的应用了存储装置的数据中心4000的框图。
195.参照图12,数据中心4000可以是收集各种类型的数据并提供服务的设施,并且被称为数据存储中心。数据中心4000可以是用于操作搜索引擎和数据库的系统,并且可以是公司(诸如,银行)或政府机构所使用的计算系统。数据中心4000可以包括应用服务器4100至4100n和存储服务器4200至4200m。根据实施例,可以不同地选择应用4100至4100n的数量和存储服务器4200至4200m的数量。应用服务器4100至4100n的数量和存储服务器4200至4200m的数量可以彼此不同。
196.在一些实施例中,存储服务器4200和/或应用服务器4100可对应于根据本发明的示例实施例的用于存储数据的装置。例如,存储服务器4200可包括第一类型存储单元和第二类型存储单元,应用服务器4100或存储服务器4200可根据参照图1至图5中的至少一个描述的存储数据的方法存储数据。
197.应用服务器4100或存储服务器4200可以包括处理器4110和4210以及存储器4120和4220中的至少一个。现在将以存储服务器4200为例进行描述。处理器4210可以控制存储服务器4200的所有操作,访问存储器4220,并且执行加载到存储器4220的指令和/或数据。存储器4220可以是双数据率同步dram(ddr sdram)、高带宽存储器(hbm)、混合内存立方体(hmc)、双列直插式内存模块(dimm)、傲腾dimm(optane dimm)或非易失性dimm(nvmdimm)。在一些实施例中,存储服务器4200中包括的处理器4210和存储器4220的数量可以被不同地选择。在一实施例中,处理器4210和存储器4220可以提供处理器-存储器对。在一实施例中,处理器4210的数量与存储器4220的数量可以彼此不同。处理器4210可以包括单核处理器或多核处理器。对于存储服务器4200的以上描述可以类似地应用于应用服务器4100。在一些实施例中,应用服务器4100可以不包括存储装置4150。存储服务器4200可以包括至少一个存储装置4250。根据实施例,存储服务器4200中包括的存储装置4250的数量可以被不同地选择。
198.应用程序服务器4100至4100n可以通过网络4300与存储服务器4200至4200m通信。网络4300可以通过使用光纤信道(fc)或以太网来实现。在这种情况下,fc可以是用于相对高速的数据传输的介质,并且可以使用具有高性能和高可用性的光开关。根据网络4300的访问方法,可以将存储服务器4200至4200m设置为文件存储、块存储或对象存储。
199.在一实施例中,网络4300可以是专用于存储的网络,例如存储区域网络(san)。例如,san可以是fc-san,其使用fc网络并且根据fc协议(fcp)实现。作为另一示例,san可以是因特网协议(ip)-san,其使用传输控制协议(tcp)/ip网络并且根据tcp/ip上的scsi或因特网scsi(iscsi)协议来实现。在另一实施例中,网络4300可以是通用网络,例如tcp/ip网络。例如,可以根据诸如以太网上的fc(fcoe)、网络附加存储(nas)和结构上的nvme(nvme-of)之类的协议来实现网络4300。
200.在下文中,将主要描述应用服务器4100和存储服务器4200。应用服务器4100的描述可以应用于另一应用服务器4100n,并且存储服务器4200的描述可以应用于另一存储服务器4200m。
201.应用服务器4100可以通过网络4300将用户或客户端请求存储的数据存储在存储服务器4200至4200m中的一个。此外,应用服务器4100可以通过网络4300从存储服务器4200至4200m中的一个获得由用户或客户端请求读取的数据。例如,应用程序服务器4100可以被实现为网络服务器或数据库管理系统(dbms)。
202.应用服务器4100可以通过网络4300访问包括在另一应用服务器4100n中的存储器4120n或存储装置4150n。或者,应用服务器4100可以通过网络4300访问包括在存储服务器4200至4200m中的存储器4220至4220m或存储装置4250至4250m。因此,应用服务器4100可以对存储在应用服务器4100至4100n和/或存储服务器4200至4200m中的数据执行各种操作。例如,应用服务器4100可以执行用于在应用服务器4100至4100n和/或存储服务器4200至4200m之间移动或复制数据的指令。在这种情况下,可以将数据从存储服务器4200至4200m的存储装置4250至4250m通过存储服务器4200至4200m的存储器4220至4220m或直接移动到应用服务器4100至4100n的存储器4120至4120n。通过网络4300移动的数据可以是为了安全或隐私而加密的数据。
203.现在将以存储服务器4200为例进行描述。接口4254可以提供处理器4210和控制器4251之间的物理连接以及网络接口卡(nic)4240和控制器4251之间的物理连接。例如,可以使用直接附加存储(das)方案来实现接口4254,其中存储装置4250直接与专用电缆连接。例如,接口4254可以通过使用各种接口方案来实现,例如ata、sata、e-sata、scsi、sas、pci、pcie、nvme、ieee 1394、usb接口、sd卡接口、mmc接口、emmc接口、ufs接口、eufs接口和cf卡接口。
204.存储服务器4200可以进一步包括开关4230和网络互连(nic)4240。开关4230可以经由处理器4210的控制来选择性地将处理器4210连接到存储装置4250,或者选择性地将nic 4240连接到存储装置4250。
205.在一实施例中,nic 4240可以包括网络接口卡和网络适配器。nic 4240可以通过有线接口、无线接口、蓝牙接口或光接口连接到网络4300。nic 4240可以包括内部存储器、数字信号处理器(dsp)和主机总线接口,并且通过主机总线接口连接到处理器4210和/或开关4230。主机总线接口可以被实现为接口4254的上述示例之一。在一实施例中,nic 4240可以与处理器4210、开关4230和存储装置4250中的至少一个集成。
206.在存储服务器4200至4200m或应用服务器4100至4100n中,处理器可将命令发送到存储装置4150至4150n和4250至4250m或存储器4120至4120n和4220至4220m并编程或读取数据。在这种情况下,数据可以是通过ecc引擎校正了错误的数据。数据可以是对其执行数据总线倒置(dbi)操作或数据掩蔽(dm)操作的数据,并且可以包括循环冗余编码(crc)信息。数据可以是为了安全或隐私而加密的数据。
207.存储装置4150至4150n和4250至4250m可以响应于从处理器接收到的读取命令向nand闪存装置4252至4252m发送控制信号和命令/地址信号。因此,当从nand闪存装置4252至4252m读取数据时,可以输入读取使能(re)信号作为数据输出控制信号,因此,可以将数据输出至dq总线。可以使用re信号产生数据选通信号dqs。取决于写入使能(we)信号的上升沿或下降沿,命令和地址信号可以锁存在页面缓冲器中。
208.控制器4251可以控制存储装置4250的所有操作。在一实施例中,控制器4251可以包括sram。控制器4251可以响应于写入命令将数据写入到nand闪存装置4252,或者响应于
读取命令从nand闪存装置4252读取数据。例如,可以从存储服务器4200的处理器4210、另一存储服务器4200m的处理器4210m或应用服务器4100和4100n的处理器4110和4110n提供写入命令和/或读取命令。dram 3253可以临时存储(或缓冲)要写入到nand闪存装置4252的数据或从nand闪存装置4252读取的数据。并且,dram3253可以存储元数据。这里,元数据可以是用户数据或由控制器4251生成的用于管理nand闪存装置4252的数据。存储装置4250可以包括用于安全性或隐私性的安全元件(se)。
209.本发明构思的示例实施例可被应用于包括非易失性存储器装置的任何存储装置。例如,本发明构思的示例实施例可被应用于ssd、nvme、emmc、ufs等。
210.根据本发明的示例实施例的存储数据的方法,可以根据数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元(例如,第一类型存储单元或第二类型存储单元)中,因此,可以提高使用多种类型存储单元的存储装置的性能和/或用户体验。
211.根据本发明的示例实施例的存储数据的方法,可以根据基于数据的第一数据特征确定的数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元(例如,第一类型存储单元或第二类型存储单元)中,因此,可以根据不同的数据采用不用的写入策略(例如,将需要快速写入的数据写入具有高写入速度的第二类型存储单元,将不需要快速写入的数据写入具有低写入速度的第一类型存储单元),从而可以实现第一类型存储单元和第二类型存储单元的最大利用率并提高写入性能。
212.根据本发明的示例实施例的存储数据的方法,当数据所属于的应用是需要快速写入数据的应用时,处理器可将数据的写入优先级确定为高写入优先级(例如,第二写入优先级)并将数据写入具有高写入速度的第二类型存储单元;当数据所属于的应用是不需要快速写入数据的应用时,处理器可将数据的写入优先级确定为低写入优先级(例如,第一写入优先级)并将数据写入具有低写入速度的第一类型存储单元,因此,处理器可根据基于数据所属于的应用来更合理地使用第一类型存储单元和第二类型存储单元。
213.根据本发明的示例实施例的存储数据的方法,可以通过预先训练的应用识别模型来识别数据所属于的应用,因此,可以准确地识别数据所属于的应用。
214.根据本发明的示例实施例的存储数据的方法,可基于通过迭代测试获得的多种写入策略中的最佳预设写入策略来执行数据的写入,因此,能够提高存储装置的性能。
215.根据本发明的示例实施例的存储数据的方法,可以针对不同应用使用第二数据特征来进一步确定数据的写入优先级能优化第一类型存储单元和第二类型存储单元的使用,从提高写入性能和寿命。
216.根据本发明的示例实施例的存储数据的方法,在写入助推器功能被开启的情况下,可以根据数据的写入优先级将数据存储在与数据的写入优先级对应的存储单元,而不是将全部数据写入第二类型存储单元(例如,slc),因此,可以减少写入第二类型存储单元的数据的量,从而寿命延长第二类型存储单元的寿命并提高写入性能。
217.根据一个或多个示例实施例,上面描述的方法可使用硬件、硬件和软件的组合或者存储可执行的用于执行其功能的软件的非暂时性存储介质来实现。
218.硬件可使用处理电路(诸如,但不限于,一个或多个处理器、一个或多个中央处理器(cpu)、一个或多个控制器、一个或多个算术逻辑单元(alu)、一个或多个数字信号处理器(dsp)、一个或多个微型计算机、一个或多个现场可编程门阵列(fpga)、一个或多个片上系
统(soc)、一个或多个可编程逻辑单元(plu)、一个或多个微处理器、一个或多个专用集成电路(asic),或能够以限定的方式响应和执行指令的任何其它装置)来实现。
219.软件可包括用于独立地或共同地指示或配置硬件装置按照期望地进行操作的计算机程序、程序代码、指令或它们的一些组合。计算机程序和/或程序代码可包括能够由一个或多个硬件装置(诸如,上面提到的硬件装置中的一个或多个)实现的程序或计算机可读指令、软件组件、软件模块、数据文件、数据结构等。程序代码的示例包括由编译器生成的机器代码和使用解释器执行的高级程序代码二者。
220.例如,当硬件装置是计算机处理装置(例如,一个或多个处理器、cpu、控制器、alu、dsp、微型计算机、微处理器等)时,计算机处理装置可被配置为执行通过根据程序代码执行算术、逻辑和输入/输出操作的程序代码。一旦程序代码被加载到计算机处理装置中,计算机处理装置可被编程为执行该程序代码,从而将计算机处理装置转换成专用计算机处理装置。在更具体的示例中,当程序代码被加载到处理器中时,处理器变得程序化以执行程序代码和与其对应的操作,从而将处理器变换为专用处理器。在另一示例中,硬件装置可以是定制为专用处理电路的集成电路(例如,asic)。
221.硬件装置(诸如,计算机处理装置)可运行操作系统(os)以及在os上运行的一个或多个软件应用。响应于软件的执行,计算机处理装置还可访问、存储、操控、处理并创建数据。为了简明起见,一个或多个示例实施例可被举例为一个计算机处理装置,然而,本领域的技术人员将理解,硬件装置可包括多个处理元件以及多种类型的处理元件。例如,硬件装置可包括多个处理器或者一个处理器和一个控制器。此外,其它处理配置是可行的,诸如并行处理器。
222.可以以任意类型的存储介质(存储介质包括,但不限于,能够将指令或数据提供给硬件装置,或者能够提供由硬件装置解释的任何机器、组件、物理或虚拟设备或计算机存储介质或者装置)来永久地或临时地实现软件和/或数据。软件还可分布在联网的计算机系统上,使得软件以分布式的方式被存储和被执行。具体地讲,例如,软件和数据可通过包括如在此讨论的有形的或非暂时性计算机可读存储介质的一个或多个计算机可读记录介质来存储。
223.例如,根据本发明的示例实施例,提供一种存储有计算机程序的计算机可读存储介质,其中,当计算机程序被处理器执行时实现至少如下的存储数据的方法:确定数据的写入优先级;响应于所述数据的写入优先级对应于第一写入优先级,将所述数据写入第一类型存储单元;响应于所述数据的写入优先级对应于第二写入优先级,将所述数据写入第二类型存储单元,其中,第二写入优先级高于第一写入优先级,第二类型存储单元的写入速度高于第一类型存储单元的写入速度。此外,本发明的其它方法也可以类似地通过存储有计算机程序的计算机可读存储介质来实现。
224.存储介质还可包括:在根据一个或多个示例实施例的单元和/或装置的一个或多个存储装置。一个或多个存储装置可以是有形或非暂时性计算机可读存储介质(诸如,随机存取存储器(ram)、只读存储器(rom)、永久大容量存储装置(诸如,磁盘驱动器)和/或能够存储和记录数据的任何其它类似的数据存储结构)。一个或多个存储装置可被配置为存储用于一个或多个操作系统和/或用于实现在此描述的示例实施例的计算机程序、程序代码、指令或它们的一些组合。还可使用驱动机制将计算机程序、程序代码、指令或它们的一些组
合从单独的计算机可读存储介质加载到一个或多个存储装置和/或一个或多个计算机处理装置中。这种单独的计算机可读存储介质可包括通用串行总线(usb)闪存驱动器、记忆棒、蓝光/dvd/cd-rom驱动器、存储卡和/或其它类似的计算机可读存储介质。计算机程序、程序代码、指令或它们的一些组合可经由网络接口而不是经由计算机可读存储介质从远程数据存储装置加载到一个或多个存储装置和/或一个或多个计算机处理装置中。此外,计算机程序、程序代码、指令或它们的一些组合可通过网络从远程计算系统加载到一个或多个存储装置和/或一个或多个处理器中,其中,该远程计算系统被配置为通过网络传送和/或分布计算机程序、程序代码、指令或它们的一些组合。远程计算系统可经由有线接口、空中接口和/或任何其它类似介质传送和/或分布计算机程序、程序代码、指令或它们的一些组合。
225.为了示例实施例的目的,一个或多个硬件装置、存储介质、计算机程序、程序代码、指令或它们的一些组合可被专门设计和构造,或者它们可以是为了示例实施例的目的而改变和/或修改的已知的装置。
226.上述内容是对示例实施例的说明,并且不应被解释成对示例实施例的限制。尽管已经描述了一些示例实施例,但是本领域技术人员将容易地理解,在不实质上脱离本发明构思的示例实施例的新颖性教导和优点的情况下,可在示例实施例中进行许多修改。因此,所有这些修改意在包括在权利要求中所限定的本发明构思的示例实施例的范围内。因此,将理解,前面的叙述是各种示例实施例的说明,不应被解释为限于公开的特定示例实施例,对公开的示例实施例的修改以及其它示例实施例意在包括在所附权利要求的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1