CN117971110A - 基于开放通道固态盘的数据存储方法、装置、设备及介质 - Google Patents
基于开放通道固态盘的数据存储方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117971110A CN117971110A CN202211310527.5A CN202211310527A CN117971110A CN 117971110 A CN117971110 A CN 117971110A CN 202211310527 A CN202211310527 A CN 202211310527A CN 117971110 A CN117971110 A CN 117971110A
- Authority
- CN
- China
- Prior art keywords
- data
- data storage
- cache
- buffer
- solid state
- 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.)
- Pending
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 210
- 239000007787 solid Substances 0.000 title claims abstract description 181
- 238000000034 method Methods 0.000 title claims abstract description 75
- 239000000872 buffer Substances 0.000 claims abstract description 310
- 238000012545 processing Methods 0.000 claims abstract description 99
- 230000015654 memory Effects 0.000 claims description 72
- 238000002955 isolation Methods 0.000 abstract description 15
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 2
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及数据存储技术领域,公开了基于开放通道固态盘的数据存储方法、装置、设备及介质。该开放通道固态盘连接有多个中央处理器,该开放通道固态盘包括总缓存区和底层存储队列,总缓存区包括多个与各中央处理器对应的固定缓存区;该方法包括:在接收到中央处理器发起的数据存储指令时,检测总缓存区的缓存状态以确定各固定缓存区中的待搬移缓存区;确定各待搬移缓存区对应的中央处理器各自在底层存储队列中关联的数据存储通道;将各待搬移缓存区中的缓存数据写入各数据存储通道,以供各数据存储通道按照各缓存数据对应的来源应用程序,将各缓存数据并行存储在相互隔离的数据块上。本发明能提升固态盘数据写入性能和确保数据的安全隔离。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种基于开放通道固态盘的数据存储方法、装置、终端设备以及计算机存储介质。
背景技术
现如今,OCSSD(Open-Channel SSD,开放通道固态盘)作为一种新型的固态盘设备,因为该固态盘设备不包含闪存转换层,能够将闪存物理地址直接交给主机管理,从而使得主机自由管理数据存储的物理位置和存储方式成为了现实。
然而,在现有利用OCSSD的特性来提升存储性能的研究中,始终无法同时兼顾固态盘写入性能的提升和对写入数据进行安全隔离。
发明内容
本发明的主要目的在于提供一种基于开放通道固态盘的数据存储方法、装置、终端设备以及计算机存储介质,实现在提升开放通道固态盘写并行性以提升固态盘数据写入性能的同时,确保写入固态盘的数据达成有效地安全隔离。
为实现上述目的,本发明提供一种基于开放通道固态盘的数据存储方法,所述开放通道固态盘连接有多个中央处理器,所述开放通道固态盘包括总缓存区和底层存储队列,所述总缓存区包括多个与各所述中央处理器一一对应的固定缓存区;
所述数据存储方法包括:
在接收到所述中央处理器发起的数据存储指令时,检测所述总缓存区的缓存状态,并根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区;
确定各所述待搬移缓存区分别对应的中央处理器各自在所述底层存储队列中关联的数据存储通道,并确定各所述待搬移缓存区中的缓存数据的来源应用程序;
将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上,其中,所述数据块与所述来源应用程序一一对应。
可选地,所述缓存状态包括一个或者多个所述固定缓存区各自的缓存容量状态;
所述根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区,包括:
检测各所述缓存容量状态是否均符合预设的容量充足条件;
若否,则根据各所述缓存容量状态对应的缓存区填充容量等级,在各所述固定缓存区中确定待搬移缓存区。
可选地,在所述检测所述总缓存区的缓存状态之后,所述方法还包括:
根据所述缓存状态向所述中央处理器对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
可选地,所述根据所述缓存状态向所述中央处理器对应的目标固定缓存区写入所述数据存储指令指向的待存储数据,包括:
若检测到各所述缓存容量状态均符合所述容量充足条件,则将所述数据存储指令指向的待存储数据,写入所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区。
可选地,所述固定缓存区包括动态内存;
所述将所述数据存储指令指向的待存储数据,写入所述中央处理器在一个或者多个所述固定缓存区中对应的目标固定缓存区,包括:
确定所述中央处理器在一个或者多个所述固定缓存区中对应的目标固定缓存区;
将所述数据存储指令指向的待存储数据,写入所述目标固定缓存区的动态内存进行缓存。
可选地,所述固定缓存区还包括非易失性内存;
在所述将所述数据存储指令指向的待存储数据,写入所述目标固定缓存区的动态内存进行缓存之后,所述方法还包括:
在监测到设备掉电事件时,将所述动态内存中的待存储数据转移至所述目标固定缓存区的非易失性内存进行缓存。
可选地,在所述将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上之后,所述方法还包括:
对所述缓存状态进行更新,并根据更新后的缓存状态向所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
此外,为实现上述目的,本发明还提供一种基于开放通道固态盘的数据存储装置,所述开放通道固态盘连接有多个中央处理器,所述开放通道固态盘包括总缓存区和底层存储队列,所述总缓存区包括多个与各所述中央处理器一一对应的固定缓存区;
所述数据存储装置包括:
第一确定模块,用于在接收到所述中央处理器发起的数据存储指令时,检测所述总缓存区的缓存状态,并根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区;
第二确定模块,用于确定各所述待搬移缓存区分别对应的中央处理器各自在所述底层存储队列中关联的数据存储通道,并确定各所述待搬移缓存区中的缓存数据的来源应用程序;
数据存储模块,用于将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上,其中,所述数据块与所述来源应用程序一一对应。
其中,本发明基于开放通道固态盘的数据存储装置的各功能模块在运行时实现如上所述的基于开放通道固态盘的数据存储方法的步骤。
本发明还提供一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据存储程序,所述数据存储程序被所述处理器执行时实现如上所述的基于开放通道固态盘的数据存储方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有数据存储程序,所述数据存储程序被处理器执行时实现如上所述的基于开放通道固态盘的数据存储方法的步骤。
此外,为实现上述目的,本发明还提供计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上所述的基于开放通道固态盘的数据存储方法的步骤。
本发明提供一种基于开放通道固态盘的数据存储方法、装置、终端设备、计算机存储介质以及计算机程序产品,其中,本发明数据存储方法涉及的开放通道固态盘连接有多个中央处理器,该开放通道固态盘包括总缓存区和底层存储队列,总缓存区包括多个与各中央处理器一一对应的固定缓存区。基于此,本发明基于开放通道固态盘的数据存储方法包括:在接收到所述中央处理器发起的数据存储指令时,检测所述总缓存区的缓存状态,并根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区;确定各所述待搬移缓存区分别对应的中央处理器各自在所述底层存储队列中关联的数据存储通道,并确定各所述待搬移缓存区中的缓存数据的来源应用程序;将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上,其中,所述数据块与所述来源应用程序一一对应。
如此,本发明通过针对于不同的中央处理器分别采用单独的固定缓存区,从而各处理器对应的不同线程可以使用不同的缓存来进行数据存储,线程处理时也可直接访问处理器对应的缓存区即可,不需要进行仲裁等行为;并且,本发明通过将各个缓存区分别对应于特定的数据存储通道,即,固定闪存阵列通道,从而在将缓存区的数据写入固态盘后端具体的数据块上时即可将缓存区数据从所有通道并行向下进行写入存储,充分利用了闪存阵列的带宽和内部并行性,减少了将数据向数据块搬移的耗时。此外,本发明还通过各数据存储通道按照各数据的来源应用程序,将缓存区数据分别并行存储在相互隔离的数据块上,从而不仅避免了不同应用程序之间的存储竞争,同时也避免了存储介质本身的擦除、写放大问题带来的不同应用程序数据的存储问题。即,本发明实现了在提升开放通道固态盘写并行性以提升固态盘数据写入性能的同时,确保写入固态盘的数据达成有效地安全隔离。
附图说明
图1为本发明实施例方案涉及的终端设备硬件运行环境的设备结构示意图;
图2为本发明基于开放通道固态盘的数据存储方法所涉及使用开放通道固态盘作为存储设备的存储系统框架示意图;
图3为本发明基于开放通道固态盘的数据存储方法一实施例涉及的应用场景示意图;
图4为本发明基于开放通道固态盘的数据存储方法一实施例的步骤流程示意图;
图5为本发明基于开放通道固态盘的数据存储方法一实施例涉及的具体数据存储流程示意图;
图6为本发明基于开放通道固态盘的数据存储装置一实施例中各功能模块的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案所提供终端设备的硬件运行环境的设备结构示意图。需要说明的是,本发明实施例所提供终端设备可以是采用开放通道固态盘作为存储设备的终端设备,开放通道固态盘连接有多个中央处理器,且该开放通道固态盘包括总缓存区和底层存储队列,该总缓存区包括多个与各中央处理器一一对应的固定缓存区。此外,终端设备具体可以是PC(PerSonal Computer,个人计算机)、平板电脑、便携计算机、智能手机等等。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,本发明提供的终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据存储程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据存储程序,并执行以下步骤:
在接收到所述中央处理器发起的数据存储指令时,检测所述总缓存区的缓存状态,并根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区;
确定各所述待搬移缓存区分别对应的中央处理器各自在所述底层存储队列中关联的数据存储通道,并确定各所述待搬移缓存区中的缓存数据的来源应用程序;
将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上,其中,所述数据块与所述来源应用程序一一对应。
可选地,所述缓存状态包括一个或者多个所述固定缓存区各自的缓存容量状态;
处理器1001可以用于调用存储器1005中存储的数据存储程序,并执行以下步骤:
检测各所述缓存容量状态是否均符合预设的容量充足条件;
若否,则根据各所述缓存容量状态对应的缓存区填充容量等级,在各所述固定缓存区中确定待搬移缓存区。
可选地,处理器1001可以用于调用存储器1005中存储的数据存储程序,在执行检测所述总缓存区的缓存状态之后,还执行以下步骤:
根据所述缓存状态向所述中央处理器对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
可选地,处理器1001可以用于调用存储器1005中存储的数据存储程序,并执行以下步骤:
若检测到各所述缓存容量状态均符合所述容量充足条件,则将所述数据存储指令指向的待存储数据,写入所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区。
可选地,所述固定缓存区包括动态内存;
处理器1001可以用于调用存储器1005中存储的数据存储程序,并执行以下步骤:
确定所述中央处理器在一个或者多个所述固定缓存区中对应的目标固定缓存区;
将所述数据存储指令指向的待存储数据,写入所述目标固定缓存区的动态内存进行缓存。
可选地,所述固定缓存区还包括非易失性内存;
处理器1001可以用于调用存储器1005中存储的数据存储程序,在执行将所述数据存储指令指向的待存储数据,写入所述目标固定缓存区的动态内存进行缓存之后,还执行以下步骤:
在监测到设备掉电事件时,将所述动态内存中的待存储数据转移至所述目标固定缓存区的非易失性内存进行缓存。
可选地,处理器1001可以用于调用存储器1005中存储的数据存储程序,在执行将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上之后,还执行以下步骤:
对所述缓存状态进行更新,并根据更新后的缓存状态向所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
基于上述的硬件结构,提出本发明基于开放通道固态盘的数据存储方法的整体构思。
需要说明的是,本发明实施例中,SSD(Solid State Disk或Solid State Drive,固态硬盘)凭借着其更加出色的读写性能和稳定性等优势逐渐取代传统磁盘,成为了存储的优先选择。SSD常用闪存阵列(flash nand array)作为其存储阵列,而nand flash(一种闪存存储器)内可以分为Plane、Channel、Block、Page等多个层次,各个层次相对独立,因此如果可以直接对闪存的物理地址进行管理,利用各个层次内的独立性,实现同一层次的并行、物理区域的隔离、存储区域的有效管理等功能,就可以到达提升读写性能、增加寿命等效果。但由于传统SSD并不会暴露闪存的物理地址,所以难以实现这样的功能。
而开放通道固态盘(Open-Channel SSD)作为一种新型的固态盘设备,区别于传统的固态盘设备,其不包含闪存转换层,将闪存物理地址交给主机管理。这种OCSSD的特性使主机自由地管理数据存储的物理位置和存储方式成为现实。因此,出现了许多利用OCSSD特性来提升存储性能的研究和技术。
然而,时下常见的关于利用OCSSD进行数据存储的技术在性能提升和安全隔离的考虑上往往不够周全,要么在进行性能提升的同时,忽略了安全隔离和性能隔离的重要性,使得SSD在使用时的错误率上升,要么单纯的通过单独对应用进行的存储空间的分配,完成了性能隔离和安全隔离,但性能本身并没有大的提升,实际上并没有充分发挥OCSSD的特性。总之,目前并不存在一种一体化的、方便实施的、写入性能提升与安全隔离相结合的SSD设计策略和方法,即,在现有利用OCSSD的特性来提升存储性能的研究中,始终无法同时兼顾固态盘写入性能的提升和对写入数据进行安全隔离。
针对上述现象,本发明提供一种基于开放通道固态盘的数据存储方法,该方法将使用OCSSD提升性能和安全隔离相结合,即,在OCSSD的总缓存区当中为每个中央处理器准备一个对应的缓存区,当响应处理器指令将数据写入缓存区且该缓存区未满时视为数据已经写入;而在将数据写入缓存区但发现单个缓存区满的时候,即查询多个缓存区的内容以根据各缓存区中数据的填充程度,同时搬移多个缓存区的不同大小数据到SSD闪存阵列中,从而进行多个通道同时将数据写入数据块。同时,还对将写入到数据块的数据进行应用程序与中央处理器两个级别的判断并分配合适的存储空间。即,本发明实现了在数据写入时根据中央处理器的不同对应写入不同的通道,而在写入到具体数据块进行存储时根据应用程序的不同将数据写入相互隔离的数据块区域进行存储,从而可以在提升存储设备并行度的同时对数据进行有效隔离。
基于上述本发明基于开放通道固态盘的数据存储方法的整体构思,进一步提出本发明基于开放通道固态盘的数据存储方法的各个实施例。
需要说明的是,本发明基于开放通道固态盘的数据存储方法的各个实施例可以应用于如上述使用开放通道固态盘作为存储设备的终端设备。例如,该终端设备可以包括如图2所示使用开放通道固态盘作为存储设备的存储系统,或者该终端设备还可以集成在如图2所示的使用开放通道固态盘作为存储设备的存储系统中。
应当理解的是,上述使用开放通道固态盘作为存储设备的存储系统包括直连式存储、网络存储系统、存储区域网络、分布式存储系统、云存储系统等系统,此外,该存储系统当然还可以还包括在开放通道固态盘基础上开发的各种新型存储器及其系统。
可选地,在本发明基于开放通道固态盘的数据存储方法的各个实施例中,上述的开放通道固态盘包括总缓存区和底层存储队列,该总缓存区包括多个与各中央处理器一一对应的固定缓存区。
如图3所示,应用本发明基于开放通道固态盘的数据存储方法的终端设备常包括如下所示的部分结构:
101中央处理器(central processing unit,CPU)——图示CPU1、CPU2至CPU N,用于处理应用线程,将对应的开放通道固态盘OCSSD存储指令(如带物理地址的读写指令)发送到存储系统中发起存储任务,以将数据搬运到缓存区。
102固定缓存区——图示缓存区1、缓存区2至缓存区N,每个固定缓存区对应一个中央处理器,用于缓存单个中央处理器发起的存储任务所传输的所有数据。各个固定缓存区由开放通道固态盘OCSSD的总缓存区分割而来。且每个固定缓存区可以由混合主存实现,即,一半为MRAM(Magnetoresistive Random Access Memory,是一种非易失性(Non-Volatile)的磁性随机存储器),一半为DRAM(Dynamic Random Access Memory,动态随机存取存储器),并且包含容量等级机制。
103总缓存区,所有固定缓存区的汇总,对应于所有存储任务的临时缓存,当单个固定缓存区满载后,将对整个总缓存区中的各个固定缓存区进行数据填充程度的查询。
104SSD主控处理器,用于完成SSD的数据搬移,运行部分FTL(逻辑地址到物理地址的映射)等功能。此外,SSD主控处理器在对应实施例中能够运行的功能包括但不限于:查询缓存区状态、维护容量等级机制,读取数据中应用程序、中央处理器的元数据,分配数据存储通道Channel、数据块Block写入任务,管理掉电保护措施。
105数据存储通道——图示的Flash Nand Array Channel,数据存储通道Channel是闪存存储阵列中的一个层次,多个数据存储通道Channel之间可以并行以存储不同中央处理器的数据。
106数据块——图示的Flash Nand Array Block,同样为闪存存储阵列中的一个层次,多个数据块Block组成一个数据存储通道Channel,数据块Block是闪存存储器的最小擦除单元,不同数据块Block相互间存在物理隔离,不同的数据块Block用于存储不同应用程序的数据。
基于此,提出本发明基于开放通道固态盘的数据存储方法的第一实施例。
如图4所示,图4为本发明基于开放通道固态盘的数据存储方法的第一实施例的流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,本发明基于开放通道固态盘的数据存储方法当然也可以以不同于此处的顺序执行所示出或描述的步骤。
在本发明基于开放通道固态盘的数据存储方法的第一实施例中,本发明基于开放通道固态盘的数据存储方法,可以包括如下步骤:
步骤S10,在接收到所述中央处理器发起的数据存储指令时,检测所述总缓存区的缓存状态,并根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区;
在本实施例中,终端设备中使用的开放通道固态盘,在通过主控接收到多个中央处理器中一个或者多个处理器发起的数据存储指令时,立即检测该开放通道固态盘的总缓存区在当前时刻的缓存状态。然后,进一步基于该缓存状态所标识的该总缓存区当中分别与各中央处理器对应的各固定缓存区的数据填充程度,确定当前时刻各固定缓存区中需要进一步将缓存数据向固态盘后端数据块进行搬移的一个或者多个待搬移缓存区。
步骤S20,确定各所述待搬移缓存区分别对应的中央处理器各自在所述底层存储队列中关联的数据存储通道,并确定各所述待搬移缓存区中的缓存数据的来源应用程序。
在本实施例中,终端设备中使用的开放通道固态盘,在通过主控于接收到一个或者多个中央处理器所发起数据存储指令时,检测确定出当前时刻需要向固态盘后端数据块搬移缓存数据的一个或者多个待搬移缓存区之后,立即进一步确定该一个或者多个待搬移缓存区各自对应的中央处理器,分别在该固态盘底层存储队列当中所关联的数据存储通道,并,同步或者异步的确定该一个或者多个待搬移缓存区当中的缓存数据的来源应用程序。
需要说明的是,在本实施例中,由于总缓存区中各个分别与不同中央处理器对应的固定缓存区均具备一定容量,因此,该一个或者多个固态缓存区当中可以缓存有一定量的缓存数据,而该缓存数据可以是开放通道固态盘的主控,预先执行对应中央处理器所发起数据存储任务而传输写入到该固态缓存区的数据。
步骤S30,将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上,其中,所述数据块与所述来源应用程序一一对应。
在本实施例中,终端设备中使用的开放通道固态盘,在通过主控确定了当上述的一个或者多个数据存储通道,和确定了上述的一个或者多个来源应用程序之后,即进一步将一个或者多个待搬移缓存区中的缓存数据,分别写入到的该待搬移缓存区对应的数据存储通道当中,从而由一个或者多个数据存储通道各自按照自身所接收缓存数据的来源应用程序,并行的将该缓存数据写入到后端固态盘上,与该来源应用程序一一对应的数据块上进行存储。
示例性地,假定上述终端设备所使用开放通道固态盘在总缓存区为终端设备的3个中央处理器均划分了一个与每个中央处理器一一对应的固态缓存区1至3。如此,该开放通道固态盘的主控在接收到3个中央处理器中的处理器1所发起的数据存储指令时,则立即检测该固态盘的总缓存的缓存状态,然后基于该缓存状态标识的固态缓存区1至3各自的数据填充程度,确定该固态缓存区1至3当中的固态缓存区1和固态缓存区2,为当前时刻需要进一步将所缓存数据向固态盘后端的数据块进行数据搬移的待搬移缓存区(如,固态缓存区1和固态缓存区2各自缓存的主控预先响应处理器1和处理器2各自发起的数据存储任务,而占用了全部空间或者大部分空间来对该数据存储任务对应的数据进行缓存,导致各自的数据填充程度已经达到了预先设定的容量充足条件),最后,该开放通道固态盘的主控即可进一步确定该固态缓存区1对应的处理器1和固态缓存区2对应的处理器2,各自在该固态盘的底层存储队列当中所关联的数据存储通道,假定分别为数据存储通道Channel 1和数据存储通道Channel 2,以及,确定该固态缓存区1所缓存的缓存数据1的来源应用程序——APP1,和,该固态缓存区2所缓存的缓存数据2的来源应用程序——APP2。从而,该开放通道固态盘的主控即可将缓存数据1对应写入数据存储通道Channel 1,和,将缓存数据2对应写入数据存储通道Channel 2,而该数据存储通道Channel 1和数据存储通道Channel 2即可并行的将缓存数据1和缓存数据2,分别写入到来源应用程序——APP1对应的数据块1和来源应用程序——APP2对应的数据块2上进行存储,该数据块1和数据块2相互间存在物理隔离。
在本实施例中,本发明基于开放通道固态盘的数据存储方法,通过终端设备中使用的开放通道固态盘在主控接收到多个中央处理器中一个或者多个处理器发起的数据存储指令时,立即检测该开放通道固态盘的总缓存区在当前时刻的缓存状态。然后,进一步基于该缓存状态所标识的该总缓存区当中分别与各中央处理器对应的各固定缓存区的数据填充程度,确定当前时刻各固定缓存区中需要进一步将缓存数据向固态盘后端数据块进行搬移的一个或者多个待搬移缓存区。之后,开放通道固态盘的主控立即进一步确定该一个或者多个待搬移缓存区各自对应的中央处理器,分别在该固态盘底层存储队列当中所关联的数据存储通道,并,同步或者异步的确定该一个或者多个待搬移缓存区当中的缓存数据的来源应用程序。从而,开放通道固态盘的主控即将一个或者多个待搬移缓存区中的缓存数据,分别写入到的该待搬移缓存区对应的数据存储通道当中,从而由一个或者多个数据存储通道各自按照自身所接收缓存数据的来源应用程序,并行的将该缓存数据写入到后端固态盘上,与该来源应用程序一一对应的数据块上进行存储。
如此,本发明通过针对于不同的中央处理器分别采用单独的固定缓存区,从而各处理器对应的不同线程可以使用不同的缓存来进行数据存储,线程处理时也可直接访问处理器对应的缓存区即可,不需要进行仲裁等行为;并且,本发明通过将各个缓存区分别对应于特定的数据存储通道,即,固定闪存阵列通道,从而在将缓存区的数据写入固态盘后端具体的数据块上时即可将缓存区数据从所有通道并行向下进行写入存储,充分利用了闪存阵列的带宽和内部并行性,减少了将数据向数据块搬移的耗时。此外,本发明还通过各数据存储通道按照各数据的来源应用程序,将缓存区数据分别并行存储在相互隔离的数据块上,从而不仅避免了不同应用程序之间的存储竞争,同时也避免了存储介质本身的擦除、写放大问题带来的不同应用程序数据的存储问题。即,本发明实现了在提升开放通道固态盘写并行性以提升固态盘数据写入性能的同时,确保写入固态盘的数据达成有效地安全隔离。
进一步地,基于上述本发明基于开放通道固态盘的数据存储方法的第一实施例,提出本发明基于开放通道固态盘的数据存储方法的第二实施例。
在本实施例中,上述终端设备使用的开放通道固态盘,在通过主控于接收到一个或者多个中央处理器所发起数据存储指令时,该开放通道固态盘的总缓存区在当前时刻的缓存状态,包括一个或者多个固定缓存区各自的缓存容量状态,该固态缓存区的缓存容量状态即直接标识该固态缓存区的数据填充情况,即,标识该固态缓存区中已经缓存的数据对于该固态缓存区全部容量的占用情况。
基于此,上述的步骤S10中“根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区”的步骤,可以包括:
步骤S101,检测各所述缓存容量状态是否均符合预设的容量充足条件;
在本实施例中,终端设备所使用开放通道固态盘的主控在基于该固态盘总缓存区中各个固定缓存区各自的缓存容量状态,确定该多个固定缓存区当中的一个或者多个需要在当前时刻将所缓存数据搬移至固态盘后端数据块的待搬移缓存区时,首先检测该多个固定缓存区各自的缓存容量状态是否均符合预设的容量充足条件。
需要说明的是,在一些可行的实施例中,终端设备所使用开放通道固态盘的主控可预先配置各个固定缓存区的数据填充容量等级。例如,开放通道固态盘的主控可基于固定缓存区所具备容量被数据占用的多少,设置4个数据填充容量等级empty、low、high和full。这其中,empty表示固定缓存区内没有数据,low表示固定缓存区内有数据但数据占用缓存区容量不到一半,high表示固定缓存区内有数据且该数据占用了一半及以上的缓存区容量但缓存区未满,full则表示固定缓存区内的数据已经占满了缓存区的全部容量。
基于此,开放通道固态盘的主控即可进一步设定“只要固定缓存区对应该固定缓存区的数据填充容量等级不为full等级”,即,固定缓存区的缓存容量状态所标识该固定缓存区中缓存的数据没有占满缓存区的全部容量,均认为该固定缓存区的缓存容量状态是符合容量充足条件的。
步骤S102,若否,则根据各所述缓存容量状态对应的缓存区填充容量等级,在各所述固定缓存区中确定待搬移缓存区。
在本实施例中,若终端设备所使用开放通道固态盘的主控,在检测多个固定缓存区各自的缓存容量状态是否均符合预设的容量充足条件时,检测到了该多个固定缓存区中的某一个或者多个目标缓存区的缓存容量状态,不符合上述的容量充足条件,即,该一个或者多个目标缓存区中缓存的数据占满了缓存区的全部容量,主控即立即确定在当前时刻,该多个固定缓存区中存在需要将缓存数据向固态盘后端的数据块进行搬移的缓存区,从而,主控即进一步按照该多个固定缓存区各自的缓存容量状态所对应的缓存区填充容量等级,在该多个固定缓存区中确定出一个或者多个待搬移缓存区。
需要说明的是,在一些可行的实施例中,终端设备所使用开放通道固态盘的主控可以选择将固定缓存区的缓存容量状态,所对应的缓存区填充容量等级为high和/或者full的固定缓存区,均确定为当前需要将缓存数据向数据块进行搬移的待搬移缓存区。
可选地,在一些可行的实施例中,在上述的“检测所述总缓存区的缓存状态”之后,本发明基于开放通道固态盘的数据存储方法还可以包括:
步骤S40,根据所述缓存状态向所述中央处理器对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
在本实施例中,终端设备所使用开放通道固态盘的主控,除了可以按照上述固态盘总缓存区的缓存状态,在确定出待搬移缓存区以将该待搬移缓存区当中的缓存数据,向固态盘后端的数据块进行搬移之外,还可以进一步按照该缓存状态,响应上述中央处理器所发起的数据存储指令以将该数据存储指令指向的待存储数据,写入到该中央处理器在多个固定缓存区当中唯一对应的目标固定缓存区进行缓存。
可选地,步骤S40,可以包括:
步骤S401,若检测到各所述缓存容量状态均符合所述容量充足条件,则将所述数据存储指令指向的待存储数据,写入所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区。
在本实施例中,若终端设备所使用开放通道固态盘的主控,在检测多个固定缓存区各自的缓存容量状态是否均符合预设的容量充足条件时,检测到了该多个固定缓存区各自的缓存容量状态,均能够符合上述的容量充足条件,即,该多个固定缓存区各自缓存的数据都没有占满缓存区的全部容量,则主控即立即确定在当前时刻,该多个固定缓存区中不存在需要将缓存数据向固态盘后端的数据块进行搬移的缓存区,从而,主控即进一步响应上述中央处理器所发起的数据存储指令,以直接将该数据存储指令所指向的待存储数据,写入到该中央处理器在该多个固定缓存区当中唯一对应的目标固定缓存区上进行缓存。
示例性地,假定上述终端设备所使用开放通道固态盘在总缓存区为终端设备的3个中央处理器均划分了一个与每个中央处理器一一对应的固态缓存区1至3。如此,该开放通道固态盘的主控在接收到3个中央处理器中的处理器1所发起的数据存储指令时,则立即检测该固态盘的总缓存的缓存状态,然后基于该缓存状态标识的固态缓存区1至3各自的数据填充程度,确定该固态缓存区1至3当中,不存在需要进一步将所缓存数据向固态盘后端的数据块进行数据搬移的待搬移缓存区(即,固态缓存区1至3各自缓存的数据均没有占满缓存区),如此,该开放通道固态盘的主控即可直接响应该处理器1所发起的数据存储指令,以将该数据存储指令指向的待存储数据a,直接写入到该处理器1在该固态缓存区1至3当中唯一对应的固定缓存区1当中进行缓存。
在本实施例中,本发明基于开放通道固态盘的数据存储方法通过针对于不同的中央处理器分别采用单独的固定缓存区,从而各处理器对应的不同线程可以使用不同的缓存来进行数据存储,线程处理时也可直接访问处理器对应的缓存区即可,不需要进行仲裁等行为,从而能够达到一定程度的线程之间的并行,减少了线程访问处理的消耗。
进一步地,基于上述本发明基于开放通道固态盘的数据存储方法的第二实施例,提出本发明基于开放通道固态盘的数据存储方法的第三实施例。
在本实施例中,上述开放通道固态盘的总缓存区所针对多个中央处理器一一对应划分设置的多个固定缓存区包括:动态内存DRAM。基于此,上述“将所述数据存储指令指向的待存储数据,写入所述中央处理器在一个或者多个所述固定缓存区中对应的目标固定缓存区”的步骤,可以包括:
步骤a,确定所述中央处理器在一个或者多个所述固定缓存区中对应的目标固定缓存区;
步骤b,将所述数据存储指令指向的待存储数据,写入所述目标固定缓存区的动态内存进行缓存。
在本实施例中,终端设备所使用开放通道固态盘的主控,在响应中央处理器所发起的数据存储指令,以将该数据存储指令所指向的待存储数据写入到固态盘总缓存中,与该中央处理器唯一对应的固定缓存区时,主控即首先在该总缓存的多个固定缓存区当中,确定出该中央处理器所唯一对应的目标固定缓存区,然后,主控即进一步将该待存储数据写入到该目标固定缓存区所包含的动态内存DRAM当中进行缓存。
进一步地,在一些可行的实施例中,上述开放通道固态盘总缓存区的多个固定缓存区还包括非易失性内存MRAM;基于此,在上述步骤b之后,本发明基于开放通道固态盘的数据存储方法还可以包括:
步骤c,在监测到设备掉电事件时,将所述动态内存中的待存储数据转移至所述目标固定缓存区的非易失性内存进行缓存。
在本实施例中,终端设备所使用开放通道固态盘采用混合主存配置形成多个分别与各中央处理器一一对应的固态缓存区,即,每一个与中央处理器对应的固态缓存区均包括动态内存DRAM和非易失性内存MRAM。如此,该开放通道固态盘的主控在将中央处理器所发起数据存储指令指向的待存储数据,写入到该中央处理器所对应目标固定缓存区的动态内存DRAM之后,若主控在针对终端设备的持续监测过程中,监测到了该终端设备发生设备掉电事件,该主控则立即将该动态内存中缓存的待存储数据,均快速地转移至该目标固定缓存区的非易失性内存MRAM当中进行缓存。
在本实施例中,本发明基于开放通道固态盘的数据存储方法,通过对固态盘总缓存区中的多个固态缓存区采用混合主存,从而结合该混合主存和上述的容量等级机制对写入数据到存储设备的过程进行控制,有效地降低了大缓存区掉电的风险,平衡了存储设备的性能和成本,同时还减少了不必要的写入过程,强化了开放通道固态盘的可预测性特点。
进一步地,基于上述本发明基于开放通道固态盘的数据存储方法的第一实施例、第二实施例和/或者第三实施例,提出本发明基于开放通道固态盘的数据存储方法的第四实施例。
在上述的步骤S30,将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上之后,本发明基于开放通道固态盘的数据存储方法还可以包括:
步骤S50,对所述缓存状态进行更新,并根据更新后的缓存状态向所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
在本实施例中,终端设备所采用开放通道固态盘的主控,在将上述一个或者多个待搬移缓存区中的缓存数据,搬移至固态盘后端的数据块上进行存储之后,还进一步针对该固态盘总缓存区的缓存状态进行更新,从而基于更新后的缓存状态,继续按照上述步骤S40、步骤a、步骤b和步骤c所阐述的过程,将上述中央处理器所发起数据存储指令指向的待存储数据,写入到该中央处理器在多个固定缓存区中唯一对应的目标固定缓存区上进行缓存。
示例性地,如图4所示,终端设备所使用开放通道固态盘的主控,预先为移动终端的每个中央处理器均划分配置了一个对应的固定缓存区,基于此,主控在将该固定缓存区内的数据搬运到固态盘的闪存阵列中之前,还进一步对将写入的数据进行应用程序与中央处理器两个级别的判断并分配合适的空间。而在主控响应数据存储指令将数据写入到数据块时,即根据中央处理器的不同,通过不同的数据存储通道将该数据写入到应用程序层次上相互隔离的区域。如此,可以在提升存储设备并行度的同时对存入的数据进行有效隔离。基于此,在一些可行的实施例中,终端设备所使用开放通道固态盘的主控具体可以采用如下所述的流程来实现上述技术构思,即:
(1)、主控在开放通道固态盘总缓存区中根据中央处理器CPU处理性能为各个中央处理器CPU分配大小相同或者不同的固定缓存区,并在该固态盘的底层存储阵列中也为各个中央处理器CPU分配对应的一个或多个数据存储通道channel;
(2)、终端设备的某一个中央处理器CPU基于数据存储要求发起数据存储指令;
(3)、主控在响应数据存储指令以对指令指向的待存储数据执行写入操作前,查询开放通道固态盘总缓存区的缓存区状态以判断数据写入后状态并更新。若主控判断到当前发起数据存储指令的中央处理器CPU对应的目标固定缓存区的数据缓存状态不为FULL,则确定当前将待存储数据写入到该目标固定缓存区已经成功;
(4)、若主控判断到上述的目标固定缓存区的数据缓存状态为FULL,则暂停将待存储数据写入到该缓存区,并搬移该缓存区当中已经缓存的数据进入固态盘后端的数据块。即,主控查询总缓存区中各个中央处理器CPU各自对应的固定缓存区各自的容量等级,并将容量等级为high以上的一个或者多个固定缓存区中的一半缓存区大小的数据,预备写入对应该一个或者多个固定缓存区对应的数据存储通道;
(5)、主控查询当前需要搬移至数据块的数据所携带的信息,以判断该数据的来源应用程序APP,从而通过多通道搬移数据到固态盘底层存储阵列中,并将不同来源应用程序APP的数据分别存储到来源应用程序APP对应的不同数据块Block中,而来源于不同中央处理器的数据将存储到不同的数据存储通道Channel上。
(6)、将上述(2)中对应的总缓存区的缓存区状态进行更新,之后再将上述的待存储数据写入缓存区。
需要说明的是,在本实施例以及上述本发明基于开放通道固态盘的数据存储方法的各个实施例中,还可以通过开放通道固态盘的将存储设备存储数据的层次进行替换,如,如将数据存储通道Channel替换为存储器中Plane层次,而将数据块Block替换为通道Channel层次,从而完成类似的存储隔离和存储设备并行性加速。
在本实施例中,本发明基于开放通道固态盘的数据存储方法通过针对于不同的中央处理器分别采用单独的固定缓存区,从而各处理器对应的不同线程可以使用不同的缓存来进行数据存储,线程处理时也可直接访问处理器对应的缓存区即可,不需要进行仲裁等行为;并且,本发明通过将各个缓存区分别对应于特定的数据存储通道,即,固定闪存阵列通道,从而在将缓存区的数据写入固态盘后端具体的数据块上时即可将缓存区数据从所有通道并行向下进行写入存储,充分利用了闪存阵列的带宽和内部并行性,减少了将数据向数据块搬移的耗时。此外,本发明还通过各数据存储通道按照各数据的来源应用程序,将缓存区数据分别并行存储在相互隔离的数据块上,从而不仅避免了不同应用程序之间的存储竞争,同时也避免了存储介质本身的擦除、写放大问题带来的不同应用程序数据的存储问题。即,本发明实现了在提升开放通道固态盘写并行性以提升固态盘数据写入性能的同时,确保写入固态盘的数据达成有效地安全隔离。
此外,本发明还提供一种基于开放通道固态盘的数据存储装置,所述开放通道固态盘连接有多个中央处理器,所述开放通道固态盘包括总缓存区和底层存储队列,所述总缓存区包括多个与各所述中央处理器一一对应的固定缓存区;
所述数据存储装置包括:
第一确定模块10,用于在接收到所述中央处理器发起的数据存储指令时,检测所述总缓存区的缓存状态,并根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区;
第二确定模块20,用于确定各所述待搬移缓存区分别对应的中央处理器各自在所述底层存储队列中关联的数据存储通道,并确定各所述待搬移缓存区中的缓存数据的来源应用程序;
数据存储模块30,用于将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上,其中,所述数据块与所述来源应用程序一一对应。
可选地,所述缓存状态包括一个或者多个所述固定缓存区各自的缓存容量状态;第一确定模块10,包括:
缓存容量检测单元,用于检测各所述缓存容量状态是否均符合预设的容量充足条件;
搬移确定单元,用于根据各所述缓存容量状态对应的缓存区填充容量等级,在各所述固定缓存区中确定待搬移缓存区。
可选地,本发明基于开放通道固态盘的数据存储装置的数据存储模块30,还用于根据所述缓存状态向所述中央处理器对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
可选地,数据存储模块30,还用于若检测到各所述缓存容量状态均符合所述容量充足条件,则将所述数据存储指令指向的待存储数据,写入所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区。
可选地,所述固定缓存区包括动态内存;
数据存储模块30,包括:
第一存储单元,用于确定所述中央处理器在一个或者多个所述固定缓存区中对应的目标固定缓存区;和,将所述数据存储指令指向的待存储数据,写入所述目标固定缓存区的动态内存进行缓存。
可选地,所述固定缓存区还包括非易失性内存;
数据存储模块30,还包括:
第二存储单元,用于在监测到设备掉电事件时,将所述动态内存中的待存储数据转移至所述目标固定缓存区的非易失性内存进行缓存。
可选地,本发明基于开放通道固态盘的数据存储装置的数据存储模块30,还用于对所述缓存状态进行更新,并根据更新后的缓存状态向所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
本发明基于开放通道固态盘的数据存储装置的各功能模块的具体实施例与上述基于开放通道固态盘的数据存储方法各实施例基本相同,在此不作赘述。
本发明还提供一种计算机存储介质,该计算机存储介质上存储有数据存储程序,所述数据存储程序被处理器执行时实现如以上任一项实施例所述的基于开放通道固态盘的数据存储方法的步骤。
本发明计算机存储介质的具体实施例与上述基于开放通道固态盘的数据存储方法各实施例基本相同,在此不作赘述。
本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如以上任一项实施例所述的基于开放通道固态盘的数据存储方法的步骤。
本发明计算机程序产品的具体实施例与上述基于开放通道固态盘的数据存储方法各实施例基本相同,在此不作赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于开放通道固态盘的数据存储方法,其特征在于,所述开放通道固态盘连接有多个中央处理器,所述开放通道固态盘包括总缓存区和底层存储队列,所述总缓存区包括多个与各所述中央处理器一一对应的固定缓存区;
所述数据存储方法包括:
在接收到所述中央处理器发起的数据存储指令时,检测所述总缓存区的缓存状态,并根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区;
确定各所述待搬移缓存区分别对应的中央处理器各自在所述底层存储队列中关联的数据存储通道,并确定各所述待搬移缓存区中的缓存数据的来源应用程序;
将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上,其中,所述数据块与所述来源应用程序一一对应。
2.如权利要求1所述的数据存储方法,其特征在于,所述缓存状态包括一个或者多个所述固定缓存区各自的缓存容量状态;
所述根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区,包括:
检测各所述缓存容量状态是否均符合预设的容量充足条件;
若否,则根据各所述缓存容量状态对应的缓存区填充容量等级,在各所述固定缓存区中确定待搬移缓存区。
3.如权利要求2所述的数据存储方法,其特征在于,在所述检测所述总缓存区的缓存状态之后,所述方法还包括:
根据所述缓存状态向所述中央处理器对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
4.如权利要求3所述的数据存储方法,其特征在于,所述根据所述缓存状态向所述中央处理器对应的目标固定缓存区写入所述数据存储指令指向的待存储数据,包括:
若检测到各所述缓存容量状态均符合所述容量充足条件,则将所述数据存储指令指向的待存储数据,写入所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区。
5.如权利要求4所述的数据存储方法,其特征在于,所述固定缓存区包括动态内存;
所述将所述数据存储指令指向的待存储数据,写入所述中央处理器在一个或者多个所述固定缓存区中对应的目标固定缓存区,包括:
确定所述中央处理器在一个或者多个所述固定缓存区中对应的目标固定缓存区;
将所述数据存储指令指向的待存储数据,写入所述目标固定缓存区的动态内存进行缓存。
6.如权利要求5所述的数据存储方法,其特征在于,所述固定缓存区还包括非易失性内存;
在所述将所述数据存储指令指向的待存储数据,写入所述目标固定缓存区的动态内存进行缓存之后,所述方法还包括:
在监测到设备掉电事件时,将所述动态内存中的待存储数据转移至所述目标固定缓存区的非易失性内存进行缓存。
7.如权利要求1至6任一项所述的数据存储方法,其特征在于,在所述将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上之后,所述方法还包括:
对所述缓存状态进行更新,并根据更新后的缓存状态向所述中央处理器在多个所述固定缓存区中对应的目标固定缓存区写入所述数据存储指令指向的待存储数据。
8.一种基于开放通道固态盘的数据存储装置,其特征在于,所述开放通道固态盘连接有多个中央处理器,所述开放通道固态盘包括总缓存区和底层存储队列,所述总缓存区包括多个与各所述中央处理器一一对应的固定缓存区;
所述数据存储装置包括:
第一确定模块,用于在接收到所述中央处理器发起的数据存储指令时,检测所述总缓存区的缓存状态,并根据所述缓存状态确定各所述固定缓存区中的待搬移缓存区;
第二确定模块,用于确定各所述待搬移缓存区分别对应的中央处理器各自在所述底层存储队列中关联的数据存储通道,并确定各所述待搬移缓存区中的缓存数据的来源应用程序;
数据存储模块,用于将各所述缓存数据写入各所述数据存储通道,以供各所述数据存储通道按照各所述来源应用程序,分别将各所述缓存数据并行存储在相互隔离的数据块上,其中,所述数据块与所述来源应用程序一一对应。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据存储程序,所述数据存储程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据存储方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有数据存储程序,所述数据存储程序被处理器执行时实现如权利要求1至7中任一项所述的数据存储方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211310527.5A CN117971110A (zh) | 2022-10-25 | 2022-10-25 | 基于开放通道固态盘的数据存储方法、装置、设备及介质 |
PCT/CN2023/125424 WO2024088150A1 (zh) | 2022-10-25 | 2023-10-19 | 基于开放通道固态盘的数据存储方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211310527.5A CN117971110A (zh) | 2022-10-25 | 2022-10-25 | 基于开放通道固态盘的数据存储方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117971110A true CN117971110A (zh) | 2024-05-03 |
Family
ID=90830071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211310527.5A Pending CN117971110A (zh) | 2022-10-25 | 2022-10-25 | 基于开放通道固态盘的数据存储方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117971110A (zh) |
WO (1) | WO2024088150A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457909B2 (en) * | 2005-01-14 | 2008-11-25 | Angelo Di Sena | Controlling operation of flash memories |
CN102262512A (zh) * | 2011-07-21 | 2011-11-30 | 浪潮(北京)电子信息产业有限公司 | 一种实现磁盘阵列缓存分区管理的系统、装置及方法 |
CN111538461B (zh) * | 2020-04-21 | 2023-04-07 | 招商局金融科技有限公司 | 基于固态硬盘缓存的数据读写方法、装置及存储介质 |
CN114489484A (zh) * | 2021-12-27 | 2022-05-13 | 得一微电子股份有限公司 | Ssd的数据存储方法、ssd、终端设备以及存储介质 |
CN114415972B (zh) * | 2022-03-28 | 2022-07-15 | 北京得瑞领新科技有限公司 | Ssd的数据处理方法、装置、存储介质及ssd设备 |
CN115083451A (zh) * | 2022-06-09 | 2022-09-20 | 阿里巴巴(中国)有限公司 | 多通道的数据处理方法、装置、设备及存储介质 |
-
2022
- 2022-10-25 CN CN202211310527.5A patent/CN117971110A/zh active Pending
-
2023
- 2023-10-19 WO PCT/CN2023/125424 patent/WO2024088150A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024088150A1 (zh) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9563382B2 (en) | Methods, systems, and computer readable media for providing flexible host memory buffer | |
US11029853B2 (en) | Dynamic segment allocation for write requests by a storage system | |
US9507722B2 (en) | Methods, systems, and computer readable media for solid state drive caching across a host bus | |
JP5347061B2 (ja) | フラッシュメモリデータストレージデバイスにデータを格納するための方法及び装置 | |
US10282292B2 (en) | Cluster-based migration in a multi-level memory hierarchy | |
US20220066693A1 (en) | System and method of writing to nonvolatile memory using write buffers | |
US20200125487A1 (en) | Memory system and method for controlling nonvolatile memory | |
TWI764265B (zh) | 用於將資料連結至記憶體命名空間的記憶體系統 | |
GB2507410A (en) | Storage class memory having low power, low latency, and high capacity | |
US20210019206A1 (en) | Multi-level caching to deploy local volatile memory, local persistent memory, and remote persistent memory | |
US11907129B2 (en) | Information processing device, access controller, information processing method, and computer program for issuing access requests from a processor to a sub-processor | |
US20200334149A1 (en) | Memory card with volatile and non volatile memory space having multiple usage model configurations | |
US20190004968A1 (en) | Cache management method, storage system and computer program product | |
KR20190054448A (ko) | 호스트 메모리 버퍼를 사용하기 위해 호스트 장치와 속성 정보를 공유하는 스토리지 장치 및 그것을 포함하는 전자 장치 | |
KR20200141212A (ko) | 가비지콜렉션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN112445423A (zh) | 存储器系统、计算机系统及其数据管理方法 | |
US20120317376A1 (en) | Row buffer register file | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
US10318418B2 (en) | Data storage in a mobile device with embedded mass storage device | |
CN108139983B (zh) | 用于在多级系统存储器中固定存储器页面的方法和设备 | |
CN117971110A (zh) | 基于开放通道固态盘的数据存储方法、装置、设备及介质 | |
US11835992B2 (en) | Hybrid memory system interface | |
US20230359578A1 (en) | Computing system including cxl switch, memory device and storage device and operating method thereof | |
US20220004418A1 (en) | Memory system and operating method thereof | |
WO2018067745A1 (en) | Parallel segment writer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |