CN112948281A - 数据处理方法、装置、设备及存储介质 - Google Patents

数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112948281A
CN112948281A CN202110209214.XA CN202110209214A CN112948281A CN 112948281 A CN112948281 A CN 112948281A CN 202110209214 A CN202110209214 A CN 202110209214A CN 112948281 A CN112948281 A CN 112948281A
Authority
CN
China
Prior art keywords
data
length
logic block
basic logic
written
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
Application number
CN202110209214.XA
Other languages
English (en)
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.)
Shanghai Sensetime Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Intelligent Technology Co 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 Shanghai Sensetime Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Intelligent Technology Co Ltd
Priority to CN202110209214.XA priority Critical patent/CN112948281A/zh
Publication of CN112948281A publication Critical patent/CN112948281A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供一种数据处理方法、装置、设备及存储介质,其中方法包括:接收第一数据方发送的数据处理请求;对所述数据处理请求进行解析,得到所述基础逻辑块的块地址、所述基础逻辑块中的偏移量和待处理数据长度;根据所述块地址和所述偏移量,在所述基础逻辑块中确定数据处理操作的起始操作位置;在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作。

Description

数据处理方法、装置、设备及存储介质
技术领域
本公开涉及数据存储技术领域,具体涉及一种数据处理方法、装置、设备及存储介质。
背景技术
在深度学习的模型训练过程中,需要给GPU或AI(Artificial Intelligence,人工智能)芯片提供高速的数据输入/输出,以便于GPU或AI芯片快速获取用于模型训练的数据集中的数据。相关技术中,通常借助MemCache(一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发)一类的内存缓存软件,在内存中实现对数据集的缓存。由于数据集的数据量通常较大,所以该方式会消耗大量的内存,较高的内存成本给大规模的模型训练带来了大量的成本消耗。
发明内容
本公开提供了一种数据处理方法、装置、设备及存储介质。
根据本公开实施例的第一方面,提供一种数据处理方法,应用于数据存储设备,所述数据存储设备运行基于固态硬盘实现的文件系统,所述文件系统中包括至少一个基础逻辑块,所述方法包括:接收第一数据方发送的数据处理请求;对所述数据处理请求进行解析,得到所述基础逻辑块的块地址、所述基础逻辑块中的偏移量和待处理数据长度;根据所述块地址和所述偏移量,在所述基础逻辑块中确定数据处理操作的起始操作位置;在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作。
在一些可选实施例中,所述第一数据方包括:GPU、AI芯片或CPU。
在一些可选实施例中,在所述数据处理请求包括数据读取请求的情况下,所述待处理数据长度包括待读取数据长度;所述在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作,包括:基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可读取数据长度;在所述可读取数据长度小于等于所述待读取数据长度的情况下,对所述基础逻辑块中对应所述可读取数据长度的数据进行读取操作;或者,在所述可读取数据长度大于待读取数据长度的情况下,对所述基础逻辑块中对应所述待读取数据长度的数据进行读取操作。
在一些可选实施例中,在所述数据处理请求包括数据写入请求的情况下,所述数据写入请求中包括待写入数据,所述待处理数据长度包括所述待写入数据的待写入数据长度;所述在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作,包括:基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可写入数据长度;在所述可写入数据长度小于等于所述待写入数据长度的情况下,将所述待写入数据中对应所述可写入数据长度的数据写入所述基础逻辑块中;或者,在所述可写入数据长度大于所述待写入数据长度的情况下,将所述待写入数据中对应所述待写入数据长度的数据写入所述基础逻辑块中。
在一些可选实施例中,所述对所述数据处理请求进行解析,得到所述基础逻辑块的块地址之后,还包括:将所述块地址对应的基础逻辑块,确定为目标逻辑块,并在所述目标逻辑块中的设备标识不属于所述数据存储设备的情况下,将所述数据处理请求丢弃。
在一些可选实施例中,所述方法还包括:在所述基础逻辑块中写入数据时,根据写入的数据处理得到第一校验值;在对所述基础逻辑块中的数据进行读取时,根据读取的数据处理得到第二校验值;在所述第一校验值与所述第二校验值相同的情况下,确定读取成功。
根据本公开实施例的第二方面,提供一种数据处理装置,应用于数据存储设备,所述数据存储设备运行基于固态硬盘实现的文件系统,所述文件系统中包括至少一个基础逻辑块,所述装置包括:请求接收模块,用于接收第一数据方发送的数据处理请求;解析模块,用于对所述数据处理请求进行解析,得到所述基础逻辑块的块地址、所述基础逻辑块中的偏移量和待处理数据长度;起始位置确定模块,用于根据所述块地址和所述偏移量,在所述基础逻辑块中确定数据处理操作的起始操作位置;处理模块,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作。
在一些可选实施例中,所述第一数据方包括:GPU、AI芯片或CPU。
在一些可选实施例中,在所述数据处理请求包括数据读取请求的情况下,所述待处理数据长度包括待读取数据长度;所述处理模块,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作时,包括:基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可读取数据长度;在所述可读取数据长度小于等于所述待读取数据长度的情况下,对所述基础逻辑块中对应所述可读取数据长度的数据进行读取操作;或者,在所述可读取数据长度大于待读取数据长度的情况下,对所述基础逻辑块中对应所述待读取数据长度的数据进行读取操作。
在一些可选实施例中,在所述数据处理请求包括数据写入请求的情况下,所述数据写入请求中包括待写入数据,所述待处理数据长度包括所述待写入数据的待写入数据长度;所述处理模块,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作时,包括:基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可写入数据长度;在所述可写入数据长度小于等于所述待写入数据长度的情况下,将所述待写入数据中对应所述可写入数据长度的数据写入所述基础逻辑块中;或者,在所述可写入数据长度大于所述待写入数据长度的情况下,将所述待写入数据中对应所述待写入数据长度的数据写入所述基础逻辑块中。
在一些可选实施例中,所述装置还包括:请求丢弃模块,用于将所述块地址对应的基础逻辑块,确定为目标逻辑块,并在所述目标逻辑块中的设备标识不属于所述数据存储设备的情况下,将所述数据处理请求丢弃。
在一些可选实施例中,所述装置还包括:第一校验值模块,用于在所述基础逻辑块中写入数据时,根据写入的数据处理得到第一校验值;第二校验值模块,用于在对所述基础逻辑块中的数据进行读取时,根据读取的数据处理得到第二校验值;校验模块,用于在所述第一校验值与所述第二校验值相同的情况下,确定读取成功。
根据本公开实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中任一项所述的数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面中任一所述的数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现第一方面中任一所述的数据处理方法。
本公开实施例中,可以将模型训练需要的数据集直接存储在固态硬盘中,基于数据存储设备运行的文件系统实现GPU或AI芯片对固态硬盘中存储的数据集的读取。该方式中不需要将数据集存储在内存中,减少了对内存的消耗、节省大量训练成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种数据处理方法流程图;
图2是根据一示例性实施例示出的一种读取操作流程图;
图3是根据一示例性实施例示出的一种写入操作流程图;
图4是根据一示例性实施例示出的一种数据处理装置示意图;
图5是根据一示例性实施例示出的又一种数据处理装置示意图;
图6是根据一示例性实施例示出的又一种数据处理装置示意图;
图7是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的具体方式并不代表与本公开相一致的所有方案。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在深度学习的模型训练过程中,GPU或AI芯片计算需要的数据集中的数据,通常被存储于一个单独的设备中。本公开实施例中,将存储数据集中数据的设备称为数据存储设备。该数据存储设备可以通过运行基于固态硬盘(Solid State Drives,SSD)实现的文件系统实现对数据集中数据的管理。其中,固态硬盘是使用固态电子存储芯片阵列制成的硬盘,采用NAND(与非)FLAAH(闪存)作为存储介质。文件系统是数据存储设备用于明确所存储文件的方法和数据结构,即在存储中组织文件的方法。
本公开实施例提供的数据处理方法,可以将模型训练需要的数据集直接存储在固态硬盘中,基于数据存储设备运行的文件系统实现GPU或AI芯片对固态硬盘中存储的数据集的读取。该方式中不需要将数据集存储在内存中,减少了对内存的消耗、节省大量训练成本。
为了使本领域技术人员更好地理解本公开提供的技术方案,下面先对本公开中的基于固态硬盘实现的文件系统的方法和数据结构进行简单说明。
本公开实施例中,可以预先将SSD划分为一个或多个磁盘,即得到一个或多个磁盘逻辑块。可选的,每个磁盘逻辑块的大小可以根据实际存储数据的需求进行设置。例如,可以设置每个磁盘逻辑块的大小为4G、8G或16G等。由于SSD的存储空间通常较大,所以划分得到的磁盘逻辑块相较于内存也更大。
对于任一个磁盘逻辑块,其中可以包括一个或多个线程逻辑块。其中,每个线程逻辑块对应一个专属的输入/输出线程。所以,不同的线程逻辑块可以基于不同的输入/输出线程并行对数据进行输入/输出。
对于任一个线程逻辑块,其中可以包括一个或多个基础逻辑块。其中,基础逻辑块是预先将SSD划分得到的基本处理单元。每个基础逻辑块的空间均是4k的整数倍。例如,一个基础逻辑块的大小可以是4k、8k、12k等,而不会出现13k这样的基础逻辑块。具体基础逻辑块的大小,可以根据实际存储数据的特性进行设置。例如,数据集中包括的数据通常为6-8k大小的数据,可以将基础逻辑块的大小设置为4k。
在一些可选实施例中,磁盘逻辑块中包括磁盘描述信息。其中,磁盘描述信息用于描述当前磁盘逻辑块的实际使用信息。示例性的,磁盘描述信息可以包括但不局限于当前磁盘逻辑块的读取次数、写入次数、基础逻辑块的总个数、已用空间大小、未用空间大小等。
由于一个磁盘逻辑块包括一个或多个线程逻辑块,为便于查找不同的线程逻辑块,在一些可选实施例中,磁盘逻辑块中可以包括线程逻辑块列表。在需要查找磁盘逻辑块中的线程逻辑块时,可以基于线程逻辑块列表在磁盘逻辑块中进行快速查找。在一种可能的实现方式中,可以将线程逻辑块列表作为查找该磁盘逻辑块中线程逻辑块的起始地址,在每次需要查询磁盘逻辑块中的线程逻辑块时可以从该起始地址进行查询。
在一些可选实施例中,线程逻辑块中包括线程逻辑块描述信息。其中,线程逻辑块描述信息用于描述当前线程逻辑块的相关使用信息。示例性的,线程逻辑块描述信息可以用于描述当前线程逻辑块是否可用。例如,可以通过统计当前线程逻辑块的读写错误,并在当前线程逻辑块的读写错误过多的情况下,利用线程逻辑块描述信息记录当前线程逻辑块不可用。示例性的,线程逻辑块描述信息可以用于描述当前线程逻辑块是否被停止使用。例如,用户可以通过主动的修改配置文件以停止使用当前线程逻辑块,即可以利用线程逻辑块描述信息记录当前线程逻辑块被停止使用。
在一些可选实施例中,线程逻辑块中包括线程逻辑块设备信息。其中,线程逻辑块设备信息用于描述与当前线程逻辑块相关联的物理设备的信息。示例性的,可以利用线程逻辑块设备信息记录当前线程逻辑块所属的磁盘的编号或ID。由于固态硬盘通常依托一定的物理设备,所以本实施例中还可以利用线程逻辑块设备信息记录当前线程逻辑块所属的物理设备的编号或ID。
在一些可选实施例中,线程逻辑块中包括线程逻辑块统计信息。其中,线程逻辑块统计信息用于描述当前线程逻辑块被使用的统计信息。示例性的,可以利用线程逻辑块统计信息记录当前线程逻辑块的空间容量、记录当前线程逻辑块已使用空间大小、记录当前线程逻辑块中异常基础逻辑块的个数或记录当前线程逻辑块读写失败的次数。
在一些可选实施例中,线程逻辑块中包括空闲逻辑块列表。其中,空闲逻辑块列表用于描述当前线程逻辑块中处于空闲状态的基础逻辑块的列表信息。由于线程逻辑块中通常包括大量基础逻辑块,并且不同的基础逻辑块可能处于不同的状态。例如,有的基础逻辑块可能处于空闲状态,有的基础逻辑块可能处于使用状态。本公开实施例中,可以通过空闲逻辑块列表将当前线程逻辑块中处于空闲状态的基础逻辑块以列表的形式进行展现。通过该空闲逻辑块列表可以更加快速直接的确定当前线程逻辑块中处于空闲状态的基础逻辑块,从而可以更加快速的将当前线程逻辑块中处于空闲状态的基础逻辑块进行分配使用。
在一些可选实施例中,线程逻辑块中包括逻辑块顺序列表。其中,逻辑块顺序列表可以将当前线程逻辑块中的基础逻辑块按照不同的状态以列表形式展现。线程逻辑块中通常包括大量基础逻辑块,基础逻辑块可能处于使用状态、空闲状态或异常状态。在一种可能的实现方式中,可以通过逻辑块顺序列表将当前线程逻辑块中的基础逻辑块按处于使用状态、空闲状态和异常状态的顺序,以列表的形式进行展示。该方式可以从基础逻辑块所处的状态对当前线程逻辑块中的基础逻辑块以列表形式展现,从而可以根据所需基础逻辑块的状态快速确定对应的基础逻辑块。
在一些可选实施例中,线程逻辑块中包括最近使用逻辑块列表。其中,最近使用逻辑块列表包括按照当前线程逻辑块中不同基础逻辑块的使用次数从高到低进行排序得到的列表。在一种可能的实现方式中,可以预先设置最近使用逻辑块列表中基础逻辑块的总数。例如,可以预先设置最近使用逻辑块列表中基础逻辑块的数量为100,则可以进一步根据当前线程逻辑块中不同基础逻辑块的使用次数从高到低进行排序。其中,处于列表末端的基础逻辑块的排序如果超过100则可以认为被淘汰,从而可以实现对最近使用逻辑块列表中基础逻辑块的更新。在需要对当前线程逻辑块中的基础逻辑块进行查找时,可以优先从该最近使用逻辑块列表中查找基础逻辑块,可以更大概率的命中需要的基础逻辑块,从而提高对基础逻辑块的命中效率。
在一些可选实施例中,线程逻辑块中包括输入/输出线程信息。其中,输入/输出线程信息用于表示当前线程逻辑块专属的输入/输出线程的相关信息。任一个线程逻辑块对应一个专属的输入/输出线程,通过专属的输入/输出线程可以实现与工作者线程的交互,实现对当前线程逻辑块的数据输入/输出。
在一些可选实施例中,基础逻辑块中包括第一哈希值。其中,第一哈希值用于表示当前基础逻辑块的位置。例如,数据存储设备在接收到数据处理请求后可以解析得到第一哈希值,根据第一哈希值快速定位到对应的基础逻辑块。
在一些可选实施例中,基础逻辑块中包括设备标识。其中,设备标识用于表示当前基础逻辑块所属的数据存储设备。例如,数据存储设备在根据第一哈希值定位至对应的基础逻辑块后,可以进一步查验当前基础逻辑块中的设备标识,如果设备标识表示当前数据存储设备,则说明当前数据处理请求属于该数据存储设备,可以进一步对该数据处理请求进行处理。如果设备标识表示不属于当前数据存储设备,则说明当前数据处理请求不属于该数据存储设备,进一步的可以将该数据处理请求丢弃。该方式可以实现对数据处理请求的筛选。
在一些可选实施例中,基础逻辑块中包括第一校验值。其中,第一校验值是在当前基础逻辑块中写入数据时,根据写入的数据处理得到的校验值。例如,在当前基础逻辑块中写入数据时,可以基于写入的数据利用循环冗余校验(Cyclic Redundancy Check,CRC)处理得到第一校验值。在需要对当前基础逻辑块中的数据进行读取或处理时,可以基于当前存储的数据处理得到第二校验值。例如,可以基于当前存储的数据利用CRC处理得到第二校验值。如果第一校验值与第二校验值相同,则可以确定写入当前基础逻辑块的数据与当前基础逻辑块中存储的数据保持一致,即可以确定当前基础逻辑块中存储的数据在存储过程中并未发生改变。
在一种可能的实现方式中,在基础逻辑块中写入数据时,可以根据写入的数据处理得到第一校验值;在对基础逻辑块中的数据进行读取时,根据读取的数据处理得到第二校验值;在第一校验值与所述第二校验值相同的情况下,确定读取成功;否则,确定读取失败。
在一些可选实施例中,基础逻辑块中包括当前读取数量。其中,当前读取数量用于表示当前基础逻辑块被客户端读取的数量。如果当前读取数量大于零,说明当前基础逻辑块正在被读取,如果当前读取数量等于零则说明当前基础逻辑块并未被读取。在对基础逻辑块中的数据进行删除的过程中,可以根据基础逻辑块中的当前读取数量进行删除。例如,对于当前读取数量等于零的基础逻辑块中的数据可以直接删除,而不会影响对当前基础逻辑块中数据的读取。例如,对于当前读取数量大于零的基础逻辑块中的数据并不能直接删除,以免影响对当前基础逻辑块中数据的读取。
为了使本公开提供的数据处理方法更加清楚,下面结合附图和具体实施例对本公开提供的方案执行过程进行详细描述。
参见图1,图1是本公开提供的实施例示出的一种数据处理方法流程图。该数据处理方法应用于数据存储设备。其中,数据存储设备通过运行基于固态硬盘实现的文件系统实现对固态硬盘中数据的管理。本公开实施例中以固态硬盘中存储模型训练所用的数据集为例进行说明,在其他可实现实施例中所存储的数据可包括其他任何用途的数据。如图1所示,该流程包括:
步骤101,接收第一数据方发送的数据处理请求。
本公开实施例中,第一数据方包括可与数据存储设备进行数据交互的数据方。在一种可能的实现方式中,第一数据方可以至少包括但不限制于以下一项:GPU、AI芯片或CPU。其中,第一数据方可以设置于不同于数据存储设备的设备;或者,第一数据方可以设置于同一数据存储设备中。本公开实施例中对第一数据方具体设置位置并不限制。
第一数据方在需要与数据存储设备中固态硬盘进行数据交互时,可以向数据存储设备发送数据处理请求。例如,CPU在需要向数据存储设备的固态硬盘中写入数据集的数据时,可以向数据存储设备发送数据写入请求。例如,GPU在需要从数据存储设备的固态硬盘中读取数据集的数据时,可以向数据存储设备发送数据读取请求。
本步骤中数据存储设备可以接收第一数据方发送的数据处理请求。例如,接收第一数据方发送的数据写入请求,或者接收第一数据方送的数据读取请求。
步骤102,对所述数据处理请求进行解析,得到所述基础逻辑块的块地址、所述基础逻辑块中的偏移量和待处理数据长度。
由于基于固态硬盘实现的文件系统中,固态硬盘由大量基础逻辑块组成。其中,不同的基础逻辑块拥有不同的地址,即本公开实施例中基础逻辑块的块地址。并且由于基础逻辑块存在一定大小,基础逻辑块中内部的具体位置通过偏移量进行衡量,即本公开实施例中基础逻辑块中的偏移量。待处理数据长度是数据处理请求所对应需要进行处理的数据的长度。例如,数据处理请求包括数据读取请求的情况下,待处理数据长度可以包括待读取数据的长度。又例如,数据处理请求包括数据写入请求的情况下,待处理数据长度可以包括待写入数据的长度。
在接收到第一数据方发送的数据处理请求后,本步骤中数据存储设备可以对数据处理请求进行解析,得到该数据处理请求对应的基础逻辑块的块地址、对应的基础逻辑块中的偏移量和待处理数据长度。示例性的,本步骤可以对数据处理请求对应的文件名进行哈希运算,基于运算得到的哈希值可以确定对应的基础逻辑块的块地址、偏移量和待处理数据长度。
步骤103,根据所述块地址和所述偏移量,在所述基础逻辑块中确定数据处理操作的起始操作位置。
在解析得到基础逻辑块的块地址之后,本步骤可以根据块地址从固态硬盘中确定对应该数据处理请求的基础逻辑块。在确定该数据处理请求对应的基础逻辑块之后,可以进一步根据偏移量确定基础逻辑块中的具体偏移位置,作为数据处理操作的起始操作位置。
示例性的,可以预先对固态硬盘中包括的基础逻辑块进行编号,作为对应基础逻辑块的块地址。从而在解析出数据处理请求对应的基础逻辑块的块地址之后,可以根据预先设置的块地址确定对应的基础逻辑块。在确定基础逻辑块后可以在基础逻辑块中进行偏移得到对应的起始操作位置。例如,在基础逻辑块大小为8k的情况下,如果解析到的偏移量为4k,则可以在基础逻辑块中偏移4k的偏移量的位置,作为数据处理操作的起始操作位置。
步骤104,在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作。
在确定数据处理请求对应的基础逻辑块中的起始操作位置后,本步骤可以从起始操作位置开始对待处理数据长度的数据进行数据处理操作。例如,本步骤可以从起始操作位置开始,将需要写入的对应待处理数据长度的数据写入该基础逻辑块中。或者,本步骤可以从起始操作位置开始,从该基础逻辑块中读取待处理数据长度对应的数据。
本公开实施例提供的数据处理方法,可以将模型训练需要的数据集直接存储在固态硬盘中,基于数据存储设备运行的文件系统实现GPU或AI芯片对固态硬盘中存储的数据集的读取。该方式中不需要将数据集存储在内存中,减少了对内存的消耗、节省大量训练成本。
另外,由于内存空间通常在GB级别,而用于模型训练的数据集通常在TB级别,如果利用内存存储完整的数据集通常需要多个内存才能实现,从而GPU或AI芯片在读取数据集中数据时需要跨节点访问内存中的数据集,降低了数据读取效率。本公开实施例中,固态硬盘相比于内存可存储空间更大,从而可以完整存储一个较大的数据集,相比于内存存储数据集GPU或AI芯片读取数据集中的数据更加高效。再者,内存中缓存的数据集在重启或掉电的情况下数据会丢失,本公开实施例中将数据集存储在固态硬盘中,在重启或掉电的情况下可以有效避免数据丢失。
在一些可选实施例中,第一数据方发送的数据处理请求为数据读取请求,则待处理数据长度可以包括待读取数据长度。其中,待读取数据长度是该数据读取请求所需要读取的数据的长度。例如,在第一数据方为GPU或AI芯片时,第一数据方需要大量从固态硬盘中读取数据集中的数据以完成模型训练。在数据处理请求为数据读取请求的情况下,如图2所示,步骤104的具体实现可以包括以下步骤:
步骤201,基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可读取数据长度。
在确定数据处理请求对应的基础逻辑块后,在基础逻辑块中基于解析得到的偏移量进行偏移,可以在基础逻辑块中确定读取的起始位置。从起始位置开始至基础逻辑块结束位置之间的数据,是该基础逻辑块中可被读取的数据,该段可被读取的数据的长度即为本公开实施例中的可读取数据长度。
本步骤可以根据解析得到的偏移量和基础逻辑块的总长度,确定基础逻辑块中可被读取的数据的长度,即确定可读取数据长度。例如,可以用基础逻辑块的总长度减去偏移量,得到可读取数据长度。
步骤202,在所述可读取数据长度小于等于所述待读取数据长度的情况下,对所述基础逻辑块中对应所述可读取数据长度的数据进行读取操作;或者,在所述可读取数据长度大于待读取数据长度的情况下,对所述基础逻辑块中对应所述待读取数据长度的数据进行读取操作。
待读取数据长度是数据读取请求对应需要读取的数据的长度。可读取数据长度是数据读取请求对应的基础逻辑块中可被读取的数据的长度。由于待读取数据长度的数据可能是跨不同基础逻辑块存储的,所以待读取数据可能大于基础逻辑块中的可读取数据长度。本步骤可以通过将可读取数据长度与待读取数据长度进行比较,实现对数据读取请求对应的基础逻辑块中的数据的读取。
在数据读取请求对应的基础逻辑块中的可读取数据长度,小于等于数据读取请求需要读取的待读取数据长度的情况下,可以从基础逻辑块中的起始操作位置(即起始读取位置)开始对对应可读取数据长度的数据进行读取操作。例如,可以将基础逻辑块中对应可读取数据长度的数据返回至第一数据方。对于待读取数据长度剩余长度的数据,可通过下一次数据读取操作从另一个基础逻辑块中继续读取,以最终完成对完整的待读取数据长度对应的数据的读取。
在数据读取请求对应的基础逻辑块中的可读取数据长度,大于数据读取请求需要读取的待读取数据长度的情况下,可以从基础逻辑块中的起始操作位置(即起始读取位置)开始对对应待读取数据长度的数据进行读取操作。
本公开实施例中,通过待读取数据长度与基础逻辑块中可读取数据长度的比较,可以实现对基础逻辑块中数据的读取。从而,可以将固态硬盘中存储的数据读出,以使第一数据方可以实现对固态硬盘中数据集的读取。
在一些可选实施例中,第一数据方发送的数据处理请求为数据写入请求,数据写入请求中可以包括待写入的数据,且待处理数据长度可以包括待写入数据长度。其中,待写入数据长度是该数据写入请求所需要写入的数据的长度。例如,在第一数据方为CPU时,第一数据方需要将数据集中的数据写入到固态硬盘中。在数据处理请求为数据读取请求的情况下,如图3所示,步骤104的具体实现可以包括以下步骤:
步骤301,基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可写入数据长度。
在确定数据写入请求对应的基础逻辑块后,在对应的基础逻辑块中按照偏移量进行偏移后的位置,即为该基础逻辑块中可写入数据的写入起始位置。从该写入起始位置开始至该基础逻辑块的结束位置之间的长度,为该基础逻辑块中可写入数据的长度,即本公开实施例中的可写入数据长度。
本步骤可以基于偏移量和基础逻辑块的总长度,确定数据写入请求对应的基础逻辑块中的可写入数据长度。例如,可以利用数据写入请求对应的基础逻辑块的总长度减去偏移量,得到该基础逻辑块中可写入数据的长度,作为可写入数据长度。
步骤302,在所述可写入数据长度小于等于所述待写入数据长度的情况下,将所述待写入数据中对应所述可写入数据长度的数据写入所述基础逻辑块中;或者,在所述可写入数据长度大于所述待写入数据长度的情况下,将所述待写入数据中对应所述待写入数据长度的数据写入所述基础逻辑块中。
可写入数据长度是数据写入请求对应的基础逻辑块中可写入数据的长度。待写入数据长度是数据写入请求中包括的待写入数据的长度。由于数据写入请求中包括的待写入数据的长度可能大于整个基础逻辑块的大小,即可能需要利用多个基础逻辑块来写入完整的待写入数据。本步骤可以通过将可写入数据长度与待写入数据长度进行比较,实现将待写入数据写入对应的基础逻辑块中。
在数据写入请求对应的基础逻辑块中可写入数据长度,小于等于数据写入请求中包括的待写入数据的待写入数据长度的情况下,可以将数据写入请求中包括的待写入数据中对应可写入数据长度的数据写入该基础逻辑块中。对于待写入数据中剩余部分的数据,可通过下一次的数据写入操作写入另一个基础逻辑块中,最终将待写入数据完整写入固态硬盘中。
在数据写入请求对应的基础逻辑块中可写入数据长度,大于数据写入请求中包括的待写入数据的待写入数据长度的情况下,可以将待写入数据中对应待写入数据长度的数据写入该基础逻辑块中。即,在数据写入请求对应的基础逻辑块中可存储完整的待写入数据的情况下,可以将完整的待写入数据直接写入该基础逻辑块中。
本公开实施例中,通过待写入数据长度与基础逻辑块中可写入数据长度的比较,可以实现将数据写入请求中包括的待写入数据写入对应的基础逻辑块中。从而,可以将数据集中的数据写入固态硬盘中,以在第一数据方需要读取数据集时直接从固态硬盘读取数据集中的数据。
图4所示,本公开提供了一种数据处理装置,该装置可以执行本公开任一实施例的数据处理方法。其中,该装置应用于数据存储设备,所述数据存储设备运行基于固态硬盘实现的文件系统,所述文件系统中包括至少一个基础逻辑块,所述装置包括:请求接收模块401、解析模块402、起始位置确定模块403和处理模块404。其中:
请求接收模块401,用于接收第一数据方发送的数据处理请求;
解析模块402,用于对所述数据处理请求进行解析,得到所述基础逻辑块的块地址、所述基础逻辑块中的偏移量和待处理数据长度;
起始位置确定模块403,用于根据所述块地址和所述偏移量,在所述基础逻辑块中确定数据处理操作的起始操作位置;
处理模块404,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作。
可选地,所述第一数据方包括:GPU、AI芯片或CPU。
可选地,在所述数据处理请求包括数据读取请求的情况下,所述待处理数据长度包括待读取数据长度;
所述处理模块404,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作时,包括:
基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可读取数据长度;
在所述可读取数据长度小于等于所述待读取数据长度的情况下,对所述基础逻辑块中对应所述可读取数据长度的数据进行读取操作;或者,
在所述可读取数据长度大于待读取数据长度的情况下,对所述基础逻辑块中对应所述待读取数据长度的数据进行读取操作。
可选地,在所述数据处理请求包括数据写入请求的情况下,所述数据写入请求中包括待写入数据,所述待处理数据长度包括所述待写入数据的待写入数据长度;
所述处理模块404,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作时,包括:
基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可写入数据长度;
在所述可写入数据长度小于等于所述待写入数据长度的情况下,将所述待写入数据中对应所述可写入数据长度的数据写入所述基础逻辑块中;或者,
在所述可写入数据长度大于所述待写入数据长度的情况下,将所述待写入数据中对应所述待写入数据长度的数据写入所述基础逻辑块中。
可选地,如图5所示,所述装置还包括:
请求丢弃模块501,用于将所述块地址对应的基础逻辑块,确定为目标逻辑块,并在所述目标逻辑块中的设备标识不属于所述数据存储设备的情况下,将所述数据处理请求丢弃。
可选地,如图6所示,所述装置还包括:
第一校验值模块601,用于在所述基础逻辑块中写入数据时,根据写入的数据处理得到第一校验值;
第二校验值模块602,用于在对所述基础逻辑块中的数据进行读取时,根据读取的数据处理得到第二校验值;
校验模块603,用于在所述第一校验值与所述第二校验值相同的情况下,确定读取成功。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开至少一个实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本公开还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时能够实现本公开任一实施例的数据处理方法。
图7示出了本公开实施例所提供的一种更为具体的计算机设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时能够实现本公开任一实施例的数据处理方法。
其中,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等,本公开并不对此进行限制。
在一些可选实施例中,本公开实施例提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的数据处理方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
以上所述仅为本公开的较佳实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

Claims (14)

1.一种数据处理方法,其特征在于,应用于数据存储设备,所述数据存储设备运行基于固态硬盘实现的文件系统,所述文件系统中包括至少一个基础逻辑块,所述方法包括:
接收第一数据方发送的数据处理请求;
对所述数据处理请求进行解析,得到所述基础逻辑块的块地址、所述基础逻辑块中的偏移量和待处理数据长度;
根据所述块地址和所述偏移量,在所述基础逻辑块中确定数据处理操作的起始操作位置;
在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作。
2.根据权利要求1所述的方法,其特征在于,所述第一数据方包括:GPU、AI芯片或CPU。
3.根据权利要求1或2所述的方法,其特征在于,在所述数据处理请求包括数据读取请求的情况下,所述待处理数据长度包括待读取数据长度;
所述在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作,包括:
基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可读取数据长度;
在所述可读取数据长度小于等于所述待读取数据长度的情况下,对所述基础逻辑块中对应所述可读取数据长度的数据进行读取操作;或者,
在所述可读取数据长度大于待读取数据长度的情况下,对所述基础逻辑块中对应所述待读取数据长度的数据进行读取操作。
4.根据权利要求1或2所述的方法,其特征在于,在所述数据处理请求包括数据写入请求的情况下,所述数据写入请求中包括待写入数据,所述待处理数据长度包括所述待写入数据的待写入数据长度;
所述在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作,包括:
基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可写入数据长度;
在所述可写入数据长度小于等于所述待写入数据长度的情况下,将所述待写入数据中对应所述可写入数据长度的数据写入所述基础逻辑块中;或者,
在所述可写入数据长度大于所述待写入数据长度的情况下,将所述待写入数据中对应所述待写入数据长度的数据写入所述基础逻辑块中。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述对所述数据处理请求进行解析,得到所述基础逻辑块的块地址之后,还包括:
将所述块地址对应的基础逻辑块,确定为目标逻辑块,并在所述目标逻辑块中的设备标识不属于所述数据存储设备的情况下,将所述数据处理请求丢弃。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
在所述基础逻辑块中写入数据时,根据写入的数据处理得到第一校验值;
在对所述基础逻辑块中的数据进行读取时,根据读取的数据处理得到第二校验值;
在所述第一校验值与所述第二校验值相同的情况下,确定读取成功。
7.一种数据处理装置,其特征在于,应用于数据存储设备,所述数据存储设备运行基于固态硬盘实现的文件系统,所述文件系统中包括至少一个基础逻辑块,所述装置包括:
请求接收模块,用于接收第一数据方发送的数据处理请求;
解析模块,用于对所述数据处理请求进行解析,得到所述基础逻辑块的块地址、所述基础逻辑块中的偏移量和待处理数据长度;
起始位置确定模块,用于根据所述块地址和所述偏移量,在所述基础逻辑块中确定数据处理操作的起始操作位置;
处理模块,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作。
8.根据权利要求7所述的装置,其特征在于,所述第一数据方包括:GPU、AI芯片或CPU。
9.根据权利要求7或8所述的装置,其特征在于,在所述数据处理请求包括数据读取请求的情况下,所述待处理数据长度包括待读取数据长度;
所述处理模块,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作时,包括:
基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可读取数据长度;
在所述可读取数据长度小于等于所述待读取数据长度的情况下,对所述基础逻辑块中对应所述可读取数据长度的数据进行读取操作;或者,
在所述可读取数据长度大于待读取数据长度的情况下,对所述基础逻辑块中对应所述待读取数据长度的数据进行读取操作。
10.根据权利要求7或8所述的装置,其特征在于,在所述数据处理请求包括数据写入请求的情况下,所述数据写入请求中包括待写入数据,所述待处理数据长度包括所述待写入数据的待写入数据长度;
所述处理模块,用于在所述基础逻辑块中,从所述起始操作位置对所述待处理数据长度的数据进行数据处理操作时,包括:
基于所述偏移量和所述基础逻辑块的总长度,确定所述基础逻辑块中可写入数据长度;
在所述可写入数据长度小于等于所述待写入数据长度的情况下,将所述待写入数据中对应所述可写入数据长度的数据写入所述基础逻辑块中;或者,
在所述可写入数据长度大于所述待写入数据长度的情况下,将所述待写入数据中对应所述待写入数据长度的数据写入所述基础逻辑块中。
11.根据权利要求7至10中任一项所述的装置,其特征在于,所述装置还包括:
请求丢弃模块,用于将所述块地址对应的基础逻辑块,确定为目标逻辑块,并在所述目标逻辑块中的设备标识不属于所述数据存储设备的情况下,将所述数据处理请求丢弃。
12.根据权利要求7至11中任一项所述的装置,其特征在于,所述装置还包括:
第一校验值模块,用于在所述基础逻辑块中写入数据时,根据写入的数据处理得到第一校验值;
第二校验值模块,用于在对所述基础逻辑块中的数据进行读取时,根据读取的数据处理得到第二校验值;
校验模块,用于在所述第一校验值与所述第二校验值相同的情况下,确定读取成功。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至6中任一项所述的方法。
CN202110209214.XA 2021-02-24 2021-02-24 数据处理方法、装置、设备及存储介质 Pending CN112948281A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110209214.XA CN112948281A (zh) 2021-02-24 2021-02-24 数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110209214.XA CN112948281A (zh) 2021-02-24 2021-02-24 数据处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112948281A true CN112948281A (zh) 2021-06-11

Family

ID=76246076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110209214.XA Pending CN112948281A (zh) 2021-02-24 2021-02-24 数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112948281A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591337A (zh) * 2024-01-17 2024-02-23 长春金融高等专科学校 计算机信息数据交互传输管理系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591337A (zh) * 2024-01-17 2024-02-23 长春金融高等专科学校 计算机信息数据交互传输管理系统及方法
CN117591337B (zh) * 2024-01-17 2024-03-29 长春金融高等专科学校 计算机信息数据交互传输管理系统及方法

Similar Documents

Publication Publication Date Title
CN108268219B (zh) 一种处理io请求的方法及装置
US7992061B2 (en) Method for testing reliability of solid-state storage medium
US20160188227A1 (en) Method and apparatus for writing data into solid state disk
US8825946B2 (en) Memory system and data writing method
CN112631950B (zh) 一种l2p表的保存方法、系统、设备以及介质
CN112558868B (zh) 一种配置数据存储的方法和装置及设备
CN116662214B (zh) 基于fio的硬盘垃圾回收方法、装置、系统及介质
KR20100017078A (ko) 데이터 액세스 위반을 검출하기 위한 방법 및 장치
CN112948281A (zh) 数据处理方法、装置、设备及存储介质
CN113760187B (zh) 重删io线程生成方法、系统、终端及存储介质
CN109542341B (zh) 一种读写io监测方法、装置、终端及计算机可读存储介质
WO2017045500A1 (zh) 存储阵列管理方法及装置
CN110990207B (zh) 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质
CN107943415B (zh) 基于fat文件系统的查找空闲簇的方法和系统
CN115934002A (zh) 固态硬盘的访问方法、固态硬盘、存储系统及云服务器
US20230064693A1 (en) Storing data in a log-structured format in a two-tier storage system
CN105573862B (zh) 一种恢复文件系统的方法和设备
CN111399759B (zh) 读数据、写数据的方法、以及对象文件系统
CN114297196A (zh) 元数据存储方法、装置、电子设备及存储介质
Kuntz et al. Probabilistic methods in state space analysis
CN110795297B (zh) 一种电子设备的测试方法及装置
CN107301073B (zh) 一种基于固态硬盘系统的配置信息检索方法及其装置
JP2009157441A (ja) 情報処理装置、ファイル再配置方法およびプログラム
US11789632B1 (en) System and method for data placement in multiple tier storage systems
CN112765170B (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