CN110096228B - 数据存储方法、数据存储装置和数据存储系统 - Google Patents

数据存储方法、数据存储装置和数据存储系统 Download PDF

Info

Publication number
CN110096228B
CN110096228B CN201910256199.7A CN201910256199A CN110096228B CN 110096228 B CN110096228 B CN 110096228B CN 201910256199 A CN201910256199 A CN 201910256199A CN 110096228 B CN110096228 B CN 110096228B
Authority
CN
China
Prior art keywords
read
write
channel
channel group
different
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
CN201910256199.7A
Other languages
English (en)
Other versions
CN110096228A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201910256199.7A priority Critical patent/CN110096228B/zh
Publication of CN110096228A publication Critical patent/CN110096228A/zh
Application granted granted Critical
Publication of CN110096228B publication Critical patent/CN110096228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种数据存储方法,包括响应于获得写入任务,确定被写入的数据块的读/写特征,基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组,其中,不同读/写特征的数据块被分配的通道组不同,将所述数据块写入所确定的通道组。本公开还提供了一种数据存储装置以及一种数据存储系统。

Description

数据存储方法、数据存储装置和数据存储系统
技术领域
本公开涉及一种数据存储方法、数据存储装置和数据存储系统。
背景技术
现有的一些数据存储装置,例如支持NVMe(Non-Volatile Memory express)的固态硬盘,分为多个通道,每个通道上有多个片选(Die)用于存储数据。然而,现有技术通常按照顺序读写或随机读写的方式将待存储的数据写入存储装置中,导致同一通道排队处理各种类型的数据块,影响数据读/写效率。
发明内容
本公开的一个方面提供了一种数据存储方法,包括响应于获得写入任务,确定被写入的数据块的读/写特征,基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组,其中,不同读/写特征的数据块被分配的通道组不同,将所述数据块写入所确定的通道组。
可选地,所述基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组包括基于所述数据块的大小以及所述数据块被读和/或写的频繁程度,从存储装置的多个通道中确定出一个通道组。
可选地,被频繁读和/或写的较小数据块,被分配存储在第一通道组,不被频繁读和/或写的较大数据块,被分配存储在与所述第一通道组不同的第二通道组。
可选地,所述方法还包括动态扫描多个通道组的读/写负荷,基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
本公开的另一个方面提供了一种数据存储系统,包括:第一确定模块、第二确定模块以及写入模块。第一确定模块,用于响应于获得写入任务,确定被写入的数据块的读/写特征。第二确定模块,用于基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组,其中,不同读/写特征的数据块被分配的通道组不同。写入模块,用于将所述数据块写入所确定的通道组。
可选地,所述第二确定模块用于基于所述数据块的大小以及所述数据块被读和/或写的频繁程度,从存储装置的多个通道中确定出一个通道组。
可选地,被频繁读和/或写的较小数据块,被分配存储在第一通道组,不被频繁读和/或写的较大数据块,被分配存储在与所述第一通道组不同的第二通道组。
可选地,所述系统还包括扫描模块和分配模块。扫描模块用于动态扫描多个通道组的读/写负荷。分配模块用于基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
本公开的另一个方面提供了一种数据存储装置,包括被划分为多个通道组的多个通道,其中,每个所述通道包括一个或多个存储单元用于存储数据,不同的通道组用于分别存储不同读/写特征的数据块。
可选地,所述数据块的读/写特征包括所述数据块的大小以及所述数据块被读和/或写的频繁程度。其中,被频繁读和/或写的较小数据块,被分配存储在第一通道组,不被频繁读和/或写的较大数据块,被分配存储在与所述第一通道组不同的第二通道组。
可选地,所述装置还包括控制器,所述控制器的计算资源被分配给所述多个通道组,用于管理读/写任务,其中,向不同通道组分配的计算资源不同。
可选地,所述通道中存储有计算机可执行指令,所述指令在被控制器执行时使得所述控制器动态扫描多个通道组的读/写负荷,基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
可选地,所述数据块的读/写特征包括所述数据块的大小,多个通道组中的第一通道组与第二通道组中存储的数据块大小的范围具有重叠区域,所述第一通道组与所述第二通道组共用同一通道。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的数据存储装置的示意图;
图2示意性示出了根据本公开实施例的数据存储方法的流程图;
图3示意性示出了根据本公开另一实施例的数据存储方法的流程图;
图4示意性示出了根据本公开实施例的数据存储系统的框图;以及
图5示意性示出了根据本公开实施例的数据存储装置的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种数据存储方法,包括响应于获得写入任务,确定被写入的数据块的读/写特征,基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组,其中,不同读/写特征的数据块被分配的通道组不同,将所述数据块写入所确定的通道组。
图1示意性示出了根据本公开实施例的数据存储方法的应用场景的示意图。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,硬盘可以具有多个通道,每个通道上有多个片选,每个通道上的每个片选作为存储单元用于存储数据。顺序读写的方式将按照存储单元的顺序依次写入,写入速度慢,但占用的空间小,随机读写是在一定区域内随机选择位置写入,写入速度快,但占用的空间相对较大。
然而,无论是顺序读写还是随机读写,都存在不同读/写特征的数据块存储在同一通道中的情况,本发明人发现,将具有相同读/写特征的数据块存储在同一通道有助于提高读/写效率。例如,将大小相近的数据块存储在同一通道,这样,有些通道可以用于连续处理较大数据块的读/写,读/写负荷较轻,另一些通道可以用于处理较小数据块的读/写,读/写负荷较重。由于物理上的隔离,较小数据块的读/写不会对较大数据块的读/写造成影响,能够提高较大数据块的读/写效率。读写负荷例如可以用数据块的大小的倒数来表示,数据块越小,读写次数越多,读写负荷越重。频繁程度例如可以用“次/天”来表示。
根据本公开实施例,多个通道可以被分为多个通道组,如图1中虚线所示,相同通道组可以用于处理相同读/写特征的数据块。
图2示意性示出了根据本公开实施例的数据存储方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,响应于获得写入任务,确定被写入的数据块的读/写特征。
在操作S220,基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组,其中,不同读/写特征的数据块被分配的通道组不同。
在操作S230,将所述数据块写入所确定的通道组。
该方法可以将具有相同读/写特征的数据块存储在同一通道组中,避免相同通道处理读/写特征不同的数据块,从而达到提高读/写效率的技术效果。
根据本公开实施例,所述基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组包括基于所述数据块的大小以及所述数据块被读和/或写的频繁程度,从存储装置的多个通道中确定出一个通道组。
根据本公开实施例,被频繁读和/或写的较小数据块,被分配存储在第一通道组,不被频繁读和/或写的较大数据块,被分配存储在与所述第一通道组不同的第二通道组。
根据本公开实施例,也可以仅关注数据块的读/写频率,或者仅关注数据块的数据量大小。例如,可以将较小数据块存储在第一通道组,而较大数据块分配在第二通道组。具体地,可以按照数据量大小将数据块分成多类,例如,1k~10k为A类,11k~32k为B类,33k~128k为C类,129k以上为D类。可以按照分好的类别,将属于不同类别的数据块存储到不同的通道组。
图3示意性示出了根据本公开另一实施例的数据存储方法的流程图。
如图3所示,该方法在前述实施例的基础上还可以包括操作S310和操作S320。
在操作S310,动态扫描多个通道组的读/写负荷。
在操作S320,基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
根据本公开实施例,存储装置中的控制器用于管理读/写任务,控制器的计算资源需要向各个通道组分配,以分别管理各个通道组内的读/写任务。其中,向读/写负荷较重的通道组分配较多的资源,向读写负荷较轻的通道组分配较少的资源。例如,可以向按照多个通道组的读/写负荷的比例向各个通道组分配计算资源。根据本公开实施例,可以确定各个通道组中数据块的平均大小的倒数,按照各个通道组中数据块的平均大小的倒数的比例向各个通道组分配计算资源。
基于同一发明构思,本公开还提供了一种数据存储系统,下面参照图4对本公开实施例的数据存储系统进行说明。
图4示意性示出了根据本公开实施例的数据存储系统400的框图。
如图4所示,数据存储系统400包括第一确定模块410、第二确定模块420以及写入模块430。该数据存储系统400可以执行上文描述的各种方法。
第一确定模块410,例如执行参考上文图2描述的操作S210,用于响应于获得写入任务,确定被写入的数据块的读/写特征。
第二确定模块420,例如执行参考上文图2描述的操作S220,用于基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组,其中,不同读/写特征的数据块被分配的通道组不同。
写入模块430,例如执行参考上文图2描述的操作S230,用于将所述数据块写入所确定的通道组。
根据本公开实施例,所述第二确定模块420用于基于所述数据块的大小以及所述数据块被读和/或写的频繁程度,从存储装置的多个通道中确定出一个通道组。
根据本公开实施例,被频繁读和/或写的较小数据块,被分配存储在第一通道组,不被频繁读和/或写的较大数据块,被分配存储在与所述第一通道组不同的第二通道组。
根据本公开实施例,所述系统还包括扫描模块和分配模块。扫描模块用于动态扫描多个通道组的读/写负荷。分配模块用于基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一确定模块410、第二确定模块420、写入模块430、扫描模块以及分配模块中的多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一确定模块410、第二确定模块420、写入模块430、扫描模块以及分配模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一确定模块410、第二确定模块420、写入模块430、扫描模块以及分配模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的数据存储装置500的框图。图5示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,数据存储装置500包括被划分为多个通道组的多个通道520,其中,每个所述通道(521A、521B……)包括一个或多个存储单元用于存储数据,不同的通道组用于分别存储不同读/写特征的数据块。该数据存储装置500可以执行根据本公开实施例的方法。
根据本公开实施例,所述数据块的读/写特征包括所述数据块的大小以及所述数据块被读和/或写的频繁程度。其中,被频繁读和/或写的较小数据块,被分配存储在第一通道组,不被频繁读和/或写的较大数据块,被分配存储在与所述第一通道组不同的第二通道组。
根据本公开实施例,所述装置还包括控制器510,所述控制器510的计算资源被分配给所述多个通道组520,用于管理读/写任务,其中,向不同通道组分配的计算资源不同。
根据本公开实施例,所述通道中存储有计算机可执行指令,所述指令在被控制器执行时使得所述控制器动态扫描多个通道组的读/写负荷,基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
在本公开的一些实施例中,所述数据块的读/写特征包括所述数据块的大小,多个通道组中的第一通道组与第二通道组中存储的数据块大小的范围具有重叠区域,所述第一通道组与所述第二通道组共用同一通道。例如,第一通道组用于存储10k~36k的数据块,第二通道组用于存储28k~64k的数据块,在这种情况下,两个通道组可以共用一个通道,该通道例如可以允许存储28k~36k的数据块。
具体地,控制器510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。控制器510还可以包括用于缓存用途的板载存储器。控制器510可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
多个通道520,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
多个通道520中可以存储计算机程序,该计算机程序可以包括代码/计算机可执行指令,其在由控制器510执行时使得控制器510执行根据本公开实施例的方法或其任何变形。计算机程序可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序中的代码可以包括一个或多个程序模块。
根据本发明的实施例,第一确定模块410、第二确定模块420、写入模块430、扫描模块以及分配模块中的至少一个可以实现为计算机程序模块,其在被控制器510执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (8)

1.一种数据存储方法,包括:
响应于获得写入任务,确定被写入的数据块的读/写特征;
基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组,其中,不同读/写特征的数据块被分配的通道组不同,将具有相同读/写特征的数据块存储在同一通道组中;
将所述数据块写入所确定的通道组;
动态扫描多个通道组的读/写负荷;
基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
2.根据权利要求1所述的方法,其中,所述基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组包括:
基于所述数据块的大小以及所述数据块被读和/或写的频繁程度,从存储装置的多个通道中确定出一个通道组。
3.根据权利要求2所述的方法,其中,
被频繁读和/或写的较小数据块,被分配存储在第一通道组;
不被频繁读和/或写的较大数据块,被分配存储在与所述第一通道组不同的第二通道组。
4.一种数据存储装置,包括:
被划分为多个通道组的多个通道,其中,每个所述通道包括一个或多个存储单元用于存储数据,不同的通道组用于分别存储不同读/写特征的数据块,具有相同读/写特征的数据块存储在同一通道组中;
控制器,用于动态扫描多个通道组的读/写负荷,并基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
5.根据权利要求4所述的装置,其中,所述数据块的读/写特征包括所述数据块的大小以及所述数据块被读和/或写的频繁程度:
被频繁读和/或写的较小数据块,被分配存储在第一通道组;
不被频繁读和/或写的较大数据块,被分配存储在与所述第一通道组不同的第二通道组。
6.根据权利要求4所述的装置,其中:
所述控制器的计算资源被分配给所述多个通道组,用于管理读/写任务,其中,向不同通道组分配的计算资源不同。
7.根据权利要求4所述的装置,其中,所述数据块的读/写特征包括所述数据块的大小,多个通道组中的第一通道组与第二通道组中存储的数据块大小的范围具有重叠区域,所述第一通道组与所述第二通道组共用同一通道。
8.一种数据存储系统,包括:
第一确定模块,用于响应于获得写入任务,确定被写入的数据块的读/写特征;
第二确定模块,用于基于所述数据块的读/写特征,从存储装置的多个通道中确定出一个通道组,其中,不同读/写特征的数据块被分配的通道组不同,将具有相同读/写特征的数据块存储在同一通道组中;
写入模块,用于将所述数据块写入所确定的通道组;
扫描模块,用于动态扫描多个通道组的读/写负荷;
分配模块,用于基于多个通道组的读/写负荷,动态调整向所述多个通道组分配的计算资源,其中,向读/写负荷不同的通道组分配的计算资源不同。
CN201910256199.7A 2019-03-29 2019-03-29 数据存储方法、数据存储装置和数据存储系统 Active CN110096228B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910256199.7A CN110096228B (zh) 2019-03-29 2019-03-29 数据存储方法、数据存储装置和数据存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910256199.7A CN110096228B (zh) 2019-03-29 2019-03-29 数据存储方法、数据存储装置和数据存储系统

Publications (2)

Publication Number Publication Date
CN110096228A CN110096228A (zh) 2019-08-06
CN110096228B true CN110096228B (zh) 2021-09-14

Family

ID=67444138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910256199.7A Active CN110096228B (zh) 2019-03-29 2019-03-29 数据存储方法、数据存储装置和数据存储系统

Country Status (1)

Country Link
CN (1) CN110096228B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176561B (zh) * 2019-12-20 2024-02-06 北京新忆科技有限公司 存储器的写入方法和装置
CN113138803B (zh) * 2021-05-12 2023-03-24 类人思维(山东)智慧科技有限公司 一种计算机编程用指令集存储系统
CN114115737B (zh) * 2021-11-23 2024-02-02 合肥兆芯电子有限公司 数据存储分配方法、存储器存储装置及控制电路单元

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101101569A (zh) * 2007-06-28 2008-01-09 忆正存储技术(深圳)有限公司 基于多通道闪存设备逻辑条带的自适应控制方法
CN106027413A (zh) * 2015-08-05 2016-10-12 深圳市恒扬数据股份有限公司 报文缓存方法、装置及设备
CN108228105A (zh) * 2017-12-29 2018-06-29 北京联想核芯科技有限公司 一种ssd硬盘的数据处理方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555559B2 (en) * 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
US7386045B2 (en) * 2004-03-09 2008-06-10 New Jersey Institute Of Technology Dynamic differentiated link adaptation for ultra-wideband communication system
US8185787B1 (en) * 2008-04-09 2012-05-22 Link—A—Media Devices Corporation Blind and decision directed multi-level channel estimation
CN101562039A (zh) * 2008-04-14 2009-10-21 威刚科技股份有限公司 多通道内存储存装置及其控制方法
CN102359879B (zh) * 2011-06-21 2014-05-07 北京瑞风协同科技股份有限公司 一种试验网络测控系统及数据采集控制方法
US8789759B2 (en) * 2012-05-18 2014-07-29 Metrologic Instruments, Inc. Laser scanning code symbol reading system employing multi-channel scan data signal processing with synchronized digital gain control (SDGC) for full range scanning
US8949699B1 (en) * 2012-08-29 2015-02-03 Xilinx, Inc. Circuit for forward error correction encoding of data blocks across multiple data lanes
CN105306958B (zh) * 2014-06-30 2018-08-17 惠州市伟乐科技股份有限公司 一种基于ip的传输流码率平滑处理的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101101569A (zh) * 2007-06-28 2008-01-09 忆正存储技术(深圳)有限公司 基于多通道闪存设备逻辑条带的自适应控制方法
CN106027413A (zh) * 2015-08-05 2016-10-12 深圳市恒扬数据股份有限公司 报文缓存方法、装置及设备
CN108228105A (zh) * 2017-12-29 2018-06-29 北京联想核芯科技有限公司 一种ssd硬盘的数据处理方法和装置

Also Published As

Publication number Publication date
CN110096228A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
CN110096228B (zh) 数据存储方法、数据存储装置和数据存储系统
US9501394B2 (en) Method for sharing reference data among application programs executed by a plurality of virtual machines and reference data management apparatus and system thereof
US20090254719A1 (en) Switch apparatus
US8966164B1 (en) Storage processor managing NVME logically addressed solid state disk array
US9317214B2 (en) Operating a memory management controller
US9330737B2 (en) Allocating memory address space between DIMMs using memory controllers
US11429314B2 (en) Storage device, storage system and operating method thereof
JP2017512340A (ja) 修正されたメモリー圧縮
CN110826707B (zh) 应用于卷积神经网络的加速方法和硬件加速器
CN110543279B (zh) 一种数据存储、处理方法、装置及系统
US9189165B2 (en) Method and apparatus for memory management
EP2506135A2 (en) Method and apparatus to allocate area to virtual volume
EP2703994A2 (en) Data processing apparatus and method of processing data
CN110188023B (zh) 资源健康检查方法和资源健康检查装置
US20140373005A1 (en) Requirement based exposure of engines of a graphics processing unit (gpu) to a virtual machine (vm) consolidated on a computing platform
KR20090053487A (ko) 실시간 응답성이 요구되는 코드를 위한 요구 페이징 방법및 단말
CN110286860B (zh) 信息处理方法、信息处理系统和电子设备
US20080170080A1 (en) Method and Apparatus for Processing Object Collision
US20210200695A1 (en) Staging memory access requests
US9286302B2 (en) Inode reuse systems and methods
US10817179B2 (en) Electronic device and page merging method therefor
US20140351298A1 (en) Method and apparatus for distributed processing of file
US20210200694A1 (en) Staging buffer arbitration
CN104252415A (zh) 一种重新分布数据的方法和系统
CN110795045B (zh) 混合内存的数据迁移方法、系统及电子设备

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
GR01 Patent grant
GR01 Patent grant