CN113778906A - 请求读取方法、装置、可读存储介质及电子设备 - Google Patents

请求读取方法、装置、可读存储介质及电子设备 Download PDF

Info

Publication number
CN113778906A
CN113778906A CN202110870838.6A CN202110870838A CN113778906A CN 113778906 A CN113778906 A CN 113778906A CN 202110870838 A CN202110870838 A CN 202110870838A CN 113778906 A CN113778906 A CN 113778906A
Authority
CN
China
Prior art keywords
aligned
request
read request
read
reading
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.)
Granted
Application number
CN202110870838.6A
Other languages
English (en)
Other versions
CN113778906B (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.)
Chengdu Baiwei Storage Technology Co ltd
Original Assignee
Chengdu Baiwei Storage 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 Chengdu Baiwei Storage Technology Co ltd filed Critical Chengdu Baiwei Storage Technology Co ltd
Priority to CN202110870838.6A priority Critical patent/CN113778906B/zh
Publication of CN113778906A publication Critical patent/CN113778906A/zh
Application granted granted Critical
Publication of CN113778906B publication Critical patent/CN113778906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开一种请求读取方法、装置、可读存储介质及电子设备,通过确定读请求的非对齐部分,并将非对齐部分依次预取至读缓存中,然后再从读缓存中对非对齐部分进行读取并传输,对于连续的非对齐请求而言,两个连续请求相邻的非对齐部分,就能够存储在同一个读取单元中,不需要像现有技术通过重复读两次,并且需要消耗两个传输单元进行传输,能够在同一个读取单元中同时读取到两个连续的非对齐请求的相邻非对齐部分并进行传输,从而避免了对相邻非对齐部分的重复读取和重复传输,提高读请求读取效率的同时降低了存储空间的消耗,从而提高了对非对齐请求的读取性能。

Description

请求读取方法、装置、可读存储介质及电子设备
技术领域
本发明涉及存储器技术领域,特别是涉及一种请求读取方法、装置、可读存储介质及电子设备。
背景技术
目前针对请求顺序读性能优化的手段主要包括预取机制和流处理机制等。在DRAMless(Dynamic Random Access Memory-less,动态随机存取存储器-内存降低)的SSD(Solid State Disk,固态硬盘)的应用场景中,由于DRAMless SSD的读缓存空间比较小,当请求的大小达到或者超过128KB的带宽时,预取策略便无法有效的适用。而流处理机制采用硬件来实现数据的小粒度(例如4kB)快速传输,恰好可以弥补读缓存空间不足的影响。
然而,对于连续的非对齐请求顺序读场景下,由于两个连续请求相邻的不对齐部分需要重复读两次,导致一份不对齐的4K数据需要消耗两个4K传输单元,极大的影响着流处理机制的效率。
发明内容
本发明所要解决的技术问题是:提供一种请求读取方法、装置、可读存储介质及电子设备,提高非对齐请求读取性能。
为了解决上述技术问题,本发明采用的技术方案为:
一种请求读取方法,包括步骤:
接收读请求;
确定所述读请求的非对齐部分;
将所述非对齐部分依次预取到读缓存中;
从所述读缓存中读取并传输所述非对齐部分。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种请求读取装置,包括:
接收模块,用于接收读请求;
确定模块,用于确定所述读请求的非对齐部分;
预取模块,用于将所述非对齐部分依次预取到读缓存中;
读取传输模块,用于从所述读缓存中读取并传输所述非对齐部分。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述请求读取方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述请求读取方法中的各个步骤。
本发明的有益效果在于:确定读请求的非对齐部分,并将非对齐部分依次预取至读缓存中,然后再从读缓存中对非对齐部分进行读取并传输,对于连续的非对齐请求而言,两个连续请求相邻的非对齐部分,就能够存储在同一个读取单元中,不需要像现有技术通过重复读两次,并且需要消耗两个传输单元进行传输,能够在同一个读取单元中同时读取到两个连续的非对齐请求的相邻非对齐部分并进行传输,从而避免了对相邻非对齐部分的重复读取和重复传输,提高读请求读取效率的同时降低了存储空间的消耗,从而提高了对非对齐请求的读取性能。
附图说明
图1为本发明实施例的一种请求读取方法的步骤流程图;
图2为本发明实施例的一种请求读取方法的分解示意图;
图3为本发明实施例的一种请求读取方法的逻辑地址和映射地址的关系示意图;
图4为本发明实施例的一种请求读取方法的结构示意图;
图5本发明实施例的一种电子设备的结构示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明一实施例提供一种请求读取方法,包括步骤:
接收读请求;
确定所述读请求的非对齐部分;
将所述非对齐部分依次预取到读缓存中;
从所述读缓存中读取并传输所述非对齐部分。
由上述描述可知,本发明的有益效果在于:确定读请求的非对齐部分,并将非对齐部分依次预取至读缓存中,然后再从读缓存中对非对齐部分进行读取并传输,对于连续的非对齐请求而言,两个连续请求相邻的非对齐部分,就能够存储在同一个读取单元中,不需要像现有技术通过重复读两次,并且需要消耗两个传输单元进行传输,能够在同一个读取单元中同时读取到两个连续的非对齐请求的相邻非对齐部分并进行传输,从而避免了对相邻非对齐部分的重复读取和重复传输,提高读请求读取效率的同时降低了存储空间的消耗,从而提高了对非对齐请求的读取性能。
进一步地,所述确定所述读请求的非对齐部分包括:
将所述读请求分解为头部、主体部和尾部;
将所述读请求的所述头部和尾部确定为所述读请求的非对齐部分。
由上述描述可知,通过将读请求分解为头部、主体部和尾部,并将读请求的头部和尾部标识为非对齐部分,从而当接收读请求后能够快速的将请求的头部和尾部确认为请求中的非对齐部分,并将请求的头部和尾部预取到读缓存中,从而提高了读取效率。
进一步地,所述将所述读请求分解为头部、主体部和尾部包括:
将所述读请求对应的逻辑地址以预设映射单元为单位进行分解;
将分解后的读请求中能够完整映射到对应的映射单元的部分确定为所述读请求的主体部;
将分解后的读请求中不能够完整映射到对应的映射单元并且逻辑地址较小的部分确定为所述读请求的头部;
将分解后的读请求中不能够完整映射到对应的映射单元并且逻辑地址较大的部分确定为所述读请求的尾部。
由上述描述可知,将读请求对应的逻辑地址以预设映射单元为单位进行分解,并根据分解后的请求是否能够完整映射到对应的映射单元确定逻辑地址中请求的对齐部分和非对齐部分,并且通过逻辑地址的大小判断非对齐部分中的头部和尾部,从而能够快速的判断出当前请求中的对齐部分和非对齐部分以及头部、尾部和主体部对应的逻辑地址,提高对请求中非对齐部分的判断效率,进而提高读取效率。
进一步地,还包括:
将所述主体部确定为所述读请求的对齐部分;
将所述对齐部分存储至闪存中;
通过流处理机制读取并传输所述闪存中的所述对齐部分。
由上述描述可知,通过将对齐部分和非对齐部分进行分别存储,从而能够采用不同的读取方式对待读取请求的非对齐部分和对齐部分进行读取,并且采用流处理机制的方式进行读取,能够更快速的将缓存中的数据存储至主机中;同时,流处理机制能够支持多笔度请求并发执行,进一步提高读取请求的效率。
进一步地,所述传输所述非对齐部分包括:
由固件传输所述非对齐部分;
所述传输所述闪存中的所述对齐部分包括:
由硬件传输所述对齐部分。
由上述描述可知,通过固件对请求的非对齐部分进行传输,而由硬件对请求的对齐部分进行传输,采用不同的读取方式对读请求的非对齐部分和对齐部分进行分别读取,从而大大提高了对读取请求的读取效率。
进一步地,所述确定所述读请求的非对齐部分之前还包括:
判断所述读请求是否为连续的非对齐请求,若是,则执行所述确定所述读请求的非对齐部分的步骤;若否,则进行常规读取。
由上述描述可知,通过对读请求的连续性和对齐性进行判断,只有当待读取的请求为多条连续的非对齐请求时才启动预读取模式,避免当只有一条读请求或连续的对齐请求时仍然启动预读取模式,从而减少了系统不必要的耗能。
进一步地,所述判断所述读请求是否为连续的非对齐请求包括:
判断所述读请求的逻辑地址是否与映射单元的映射地址对齐,并且判断所述读请求的尾地址与下一个读请求的首地址是否连续,若不对齐并且连续,则所述读请求为连续的非对齐请求。
由上述描述可知,通过判断读请求的逻辑地址是否与映射单元的映射地址对齐,以及判断读请求的尾地址与下一个读请求的首地址是否连续来判断当前读请求与下一个读请求的连续性以及对齐性,不仅能够快速地判断待读取请求的连续性以及对齐性,且判断方式简单,从而提高读取效率。
请参照图4,本发明另一实施例提供了一种请求读取装置,包括:
接收模块,用于接收读请求;
确定模块,用于确定所述读请求的非对齐部分;
预取模块,用于将所述非对齐部分依次预取到读缓存中;
读取传输模块,用于从所述读缓存中读取并传输所述非对齐部分。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述请求读取方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
请参照图5,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述请求读取方法中的各个步骤。
本发明上述请求读取方法、装置、计算机可读存储介质及电子设备能够适用于DRAMless类型的SSD,以下通过具体实施方式进行说明:
实施例一
请参照图1,一种请求读取方法,包括步骤:
S1、接收读请求;
S2、确定所述读请求的非对齐部分;
具体的,将所述读请求分解为头部、主体部和尾部,如在程序命令中,可将所述头部、主体部和尾部分别标记为head、body和tail;将所述读请求的所述头部和尾部确定为所述读请求的非对齐部分,即所述head和所述tail为非对齐部分;将所述主体部确定为所述读请求的对齐部分,即所述body为对齐部分;
S3、将所述非对齐部分依次预取到读缓存中;
S4、从所述读缓存中读取并传输所述非对齐部分;
其中,将所述非对齐部分依次预取到读缓存中时,将所述对齐部分依次存储至闪存中;并且通过流处理机制读取所述闪存中的所述对齐部分后,由硬件传输所述对齐部分;而通过固件传输所述非对齐部分;
请参照图2,以请求大小为128K对上述的流程步骤进行具体说明:
预设第一条请求为Req0,第二条请求为Req1,第三条请求为Req2,且所述请求Req0、所述请求Req1和所述请求Req2为连续的不对齐请求;当接收所述请求Req0时,对所述请求Req0进行常规读取,并将所述请求Req0拆分为head0、body0和tail0;具体的,确定所述请求Req0的非对齐部分,由于为第一条请求,因此请求Req0的head0部分不需要进行缓存读取,因此非对齐部分只有tail0;将所述请求Req0的tail0储存至所述读缓存中的第一个4K单元中;读取所述请求Req0的同时,对所述请求Req1和所述请求Req2进行预读取;确定所述请求Req1和所述请求Req2中的非对齐部分;对所述请求Req1和所述请求Req2进行分解,将所述请求Req1和所述请求Req2对应的逻辑区块地址(Logical Block Address,LBA)根据映射单元的大小4K进行对齐分解,所述head的大小为2K,所述body的大小为124K,所述tail的大小为2K,分别得到:
所述请求Req1包括:head1、body1和tail1;
所述请求Req2包括:head2、body2和tail2;
再依次将所述请求Req1中的head1和tail2以及所述请求Req2中的head2和tail2储存至读缓存中;对每个所述head或tail以4K大小进行预取;以4K大小将所述请求Req1中的head1储存至所述读缓存中的第一个4K单元中,与所述请求Req0的tail0共用一个所述读缓存的4K;即前一条请求的tail与当前请求的head放置在同一个所述读缓存的4K中;再次以4K大小对所述请求Req1中的tail1进行预取时,由于所述请求Req1中的tail1与所述请求Req2中的head2为连续的不对齐部分,两个不对齐的部分构正好成一个4K,因此预取所述请求Req1中的tail1时,同时将所述请求Req2中的head2也储存至同一个所述缓存的4K中,则在需要读取Req2时只需要直接从缓存中获取;最后再以4K大小对所述请求Req2中的tail2进行预取,储存在所述读缓存的另一个4K单元内;
当预取到所述请求Req1中的body1时,将所述请求Req1中的body1储存至NAND(计算机闪存设备)中;当预取到所述请求Req2中的body2时,将所述请求Req2中的body2也储存至NAND中,并与所述请求Req1中的body1有序排列;
当对请求进行读取时,对于命中到的所读缓存中的head或tail,由固件启动数据传输;对于命中的到NAND中的body采用流处理机制进行处理,读取完成后由硬件进行数据传输;其主要原理为:硬件内部包含一定的buffer例如128K,在处理所述读请求的时候,将所述读请求拆分为4K粒度进行处理,将NAND中读到的每个4K快速传输至host(主机)缓存,完成后立即释放对应的4K buffer,同时支持多笔所述读请求并发执行,来达到高效的缓存利用率;
若所述读缓存的大小为256K,则可以满足接近64个128K不对齐请求的head和tail,缓存效果比较好,命中的数据可以直接返回;
其中,步骤S1之前还包括步骤S0、判断所述读请求是否为连续的非对齐请求:
判断所述读请求的逻辑地址是否与映射单元的映射地址对齐,并且判断所述读请求的尾地址与下一个读请求的首地址是否连续,若不对齐并且连续,则所述读请求为连续的非对齐请求,执行所述确定所述读请求的非对齐部分的步骤;若所述请求不连续或为对齐的连续请求,则进行常规读取。
实施例二
本实施例与实施一的不同在于,限定了分解所述请求的方法;
所述将所述读请求分解为头部、主体部和尾部包括:
将所述读请求对应的逻辑地址以预设映射单元为单位进行分解;将分解后的读请求中能够完整映射到对应的映射单元的部分确定为所述读请求的主体部;将分解后的读请求中不能够完整映射到对应的映射单元并且逻辑地址较小的部分确定为所述读请求的头部;将分解后的读请求中不能够完整映射到对应的映射单元并且逻辑地址较大的部分确定为所述读请求的尾部;
请参照图3,将所述请求Req1和所述请求Req2对应的LBA进行4K对齐分解;如所述请求Req1的LBA的sector(扇区)范围为4-259,而每一映射单元包括8位,如映射单元中0-7为一个单元,7-15为另一个映射单元;以此类推所述请求Req1对应的最后一个映射单元为256-263;其中,head1部分对应的LBA范围为4-7,body1部分对应的LBA范围为8-255,tail1部分对应的LBA范围为256-259;所述请求Req2的LBA的sector范围为260-515;映射;其中,head2部分对应的LBA范围为260-263,body2部分对应的LBA范围为264-511,tail1部分对应的LBA范围为512-515;由于所述请求Req1在映射单元0上的映射位置为4-7,并未将所述映射单元0中的映射地址填满,因此所述请求Req1未完全映射在所述映射单元0上,因此逻辑地址4-7对应的部分为所述请求Req1的非对齐部分;同时,由于所述请求Req1在映射单元32上的映射位置为256-259,并未将所述映射单元32中的映射地址填满,因此所述请求Req1的逻辑地址未完全映射在所述映射单元32上,因此逻辑地址256-259对应的部分为所述请求Req1的非对齐部分;并且,由于逻辑地址4-7的大小小于逻辑地址256-259的大小,因此可知,逻辑地址4-7为所述请求Req1的head1,逻辑地址256-259为所述请求Req1的tail1;以此类推,得到所述请求Req2的非对齐部分的逻辑地址为260-263和512-515,且逻辑地址260-263为所述请求Req2的head2,逻辑地址512-515为所述请求Req2的tail2。
实施例三
请参照图4,一种请求读取装置,包括:
接收模块,用于接收读请求;
确定模块,用于确定所述读请求的非对齐部分;
预取模块,用于将所述非对齐部分依次预取到读缓存中;
读取传输模块,用于从所述读缓存中读取并传输所述非对齐部分。
实施例四
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一或二中任一个中的请求读取方法中的各个步骤。
实施例五
请参照图5,一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一或二中任一个中的请求读取方法中的各个步骤。
综上所述,本发明提供的请求读取方法、装置、可读存储介质及电子设备,通过读请求对应的逻辑地址和映射地址之间的关系将读请求分解为头部、尾部和主体部,并确定头部和尾部为非对齐部分,确定主体部为对齐部分,再将非对齐部分依次预取至读缓存中而将对齐部分依次储存至闪存设备中,读取非对齐部分时,从读缓存中对非对齐部分进行读取并通过固件进行传输,对于连续的非对齐请求而言,两个连续请求相邻的非对齐部分,就能够存储在同一个读取单元中,不需要像现有技术通过重复读两次,并且需要消耗两个传输单元进行传输,能够在同一个读取单元中同时读取到两个连续的非对齐请求的相邻非对齐部分并进行传输,从而避免了对相邻非对齐部分的重复读取和重复传输,而读取对齐部分时则通过流处理机制进行读取并采用硬件进行传输,通过对读请求的对齐部分和非对齐部分分别采用不同读取和传输方式,提高了读请求读取效率的同时降低了存储空间的消耗,不仅可以减少DRAMless的SDD对非对齐请求的读数据量,而且还可以进一步提升DRAMless的SDD对非对齐请求的读取效率,从而达到提高了DRAMless的SDD读取性能。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种请求读取方法,其特征在于,包括步骤:
接收读请求;
确定所述读请求的非对齐部分;
将所述非对齐部分依次预取到读缓存中;
从所述读缓存中读取并传输所述非对齐部分。
2.根据权利要求1所述的一种请求读取方法,其特征在于,所述确定所述读请求的非对齐部分包括:
将所述读请求分解为头部、主体部和尾部;
将所述读请求的所述头部和尾部确定为所述读请求的非对齐部分。
3.根据权利要求2所述的一种请求读取方法,其特征在于,所述将所述读请求分解为头部、主体部和尾部包括:
将所述读请求对应的逻辑地址以预设映射单元为单位进行分解;
将分解后的读请求中能够完整映射到对应的映射单元的部分确定为所述读请求的主体部;
将分解后的读请求中不能够完整映射到对应的映射单元并且逻辑地址较小的部分确定为所述读请求的头部;
将分解后的读请求中不能够完整映射到对应的映射单元并且逻辑地址较大的部分确定为所述读请求的尾部。
4.根据权利要求2或3所述的一种请求读取方法,其特征在于,还包括:
将所述主体部确定为所述读请求的对齐部分;
将所述对齐部分存储至闪存中;
通过流处理机制读取并传输所述闪存中的所述对齐部分。
5.根据权利要求4所述的一种请求读取方法,其特征在于,所述传输所述非对齐部分包括:
由固件传输所述非对齐部分;
所述传输所述闪存中的所述对齐部分包括:
由硬件传输所述对齐部分。
6.根据权利要求1所述的一种请求读取方法,其特征在于,所述确定所述读请求的非对齐部分之前还包括:
判断所述读请求是否为连续的非对齐请求,若是,则执行所述确定所述读请求的非对齐部分的步骤;若否,则进行常规读取。
7.根据权利要求6所述的一种请求读取方法,其特征在于,所述判断所述读请求是否为连续的非对齐请求包括:
判断所述读请求的逻辑地址是否与映射单元的映射地址对齐,并且判断所述读请求的尾地址与下一个读请求的首地址是否连续,若不对齐并且连续,则所述读请求为连续的非对齐请求。
8.一种请求读取装置,其特征在于,包括:
接收模块,用于接收读请求;
确定模块,用于确定所述读请求的非对齐部分;
预取模块,用于将所述非对齐部分依次预取到读缓存中;
读取传输模块,用于从所述读缓存中读取并传输所述非对齐部分。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述的一种请求读取方法中的各个步骤。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任意一项所述的一种请求读取方法中的各个步骤。
CN202110870838.6A 2021-07-30 2021-07-30 请求读取方法、装置、可读存储介质及电子设备 Active CN113778906B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110870838.6A CN113778906B (zh) 2021-07-30 2021-07-30 请求读取方法、装置、可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110870838.6A CN113778906B (zh) 2021-07-30 2021-07-30 请求读取方法、装置、可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN113778906A true CN113778906A (zh) 2021-12-10
CN113778906B CN113778906B (zh) 2023-11-21

Family

ID=78836400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110870838.6A Active CN113778906B (zh) 2021-07-30 2021-07-30 请求读取方法、装置、可读存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN113778906B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321325B1 (en) * 1998-12-03 2001-11-20 Sun Microsystems, Inc. Dual in-line buffers for an instruction fetch unit
CN102214160A (zh) * 2011-07-08 2011-10-12 中国科学技术大学 一种基于龙芯3a的单精度矩阵乘法优化方法
US20200371939A1 (en) * 2019-05-24 2020-11-26 Texas Instruments Incorporated Methods and apparatus to facilitate fully pipelined read-modify-write support in level 1 data cache using store queue and data forwarding
CN113031876A (zh) * 2021-03-31 2021-06-25 深信服科技股份有限公司 一种数据处理方法、装置、设备及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321325B1 (en) * 1998-12-03 2001-11-20 Sun Microsystems, Inc. Dual in-line buffers for an instruction fetch unit
CN102214160A (zh) * 2011-07-08 2011-10-12 中国科学技术大学 一种基于龙芯3a的单精度矩阵乘法优化方法
US20200371939A1 (en) * 2019-05-24 2020-11-26 Texas Instruments Incorporated Methods and apparatus to facilitate fully pipelined read-modify-write support in level 1 data cache using store queue and data forwarding
CN113031876A (zh) * 2021-03-31 2021-06-25 深信服科技股份有限公司 一种数据处理方法、装置、设备及可读存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
J.-W. VAN DE WAERDT: "The TM3270 media-processor", 《IEEE》, pages 1 - 12 *
刘波;肖建;曹鹏;杨苗苗;: "面向媒体处理可重构系统中数据缓存结构和缓存管理策略优化", 东南大学学报(自然科学版), no. 06, pages 55 - 60 *
张倬;陆宇凡;沈文枫;徐炜民;郑衍衡;: "Blocking optimized SIMD tree search on modern processors", JOURNAL OF SHANGHAI UNIVERSITY(ENGLISH EDITION), no. 05, pages 95 - 102 *
黙客: "转载—浅谈CPU内存访问要求对齐的原因", Retrieved from the Internet <URL:《https://blog.csdn.net/weixin_44453062/article/details/115762605》> *

Also Published As

Publication number Publication date
CN113778906B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
KR102518095B1 (ko) 스토리지 장치 및 시스템
US10572378B2 (en) Dynamic memory expansion by data compression
US8984225B2 (en) Method to improve the performance of a read ahead cache process in a storage array
US11188256B2 (en) Enhanced read-ahead capability for storage devices
CN101630303B (zh) 请求信息的处理方法、装置以及多处理器存储系统
US10997078B2 (en) Method, apparatus, and non-transitory readable medium for accessing non-volatile memory
CN112632069B (zh) 哈希表数据存储管理方法、装置、介质和电子设备
CN111143234A (zh) 存储设备、包括这种存储设备的系统及其操作方法
JP2017527877A (ja) フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器
CN115811509A (zh) 一种总线通信方法及相关设备
CN110780806B (zh) 促进元数据和数据捆绑存储的原子性保证的方法和系统
CN113778906B (zh) 请求读取方法、装置、可读存储介质及电子设备
US11960419B2 (en) Systems and methods for data prefetching for low latency data read from a remote server
US11449428B2 (en) Enhanced read-ahead capability for storage devices
KR100737741B1 (ko) 다차원 데이터 선인출 캐쉬를 이용한 메모리 장치 및 그제어 방법
JP2022046413A (ja) 記憶デバイスのための改良された先読み能力
CN116340203A (zh) 数据预读取方法、装置、处理器及预取器
CN113254363A (zh) 具有部分逻辑到物理地址转换表的非易失性存储控制器
CN112084121B (zh) 硬盘预读方法、装置、计算机可读存储介质及电子设备
CN108762666B (zh) 一种存储系统的访问方法、系统、介质及设备
CN117032595B (zh) 顺序流检测方法及存储设备
US20170192690A1 (en) Method, electronic device and computer program product for data processing
US11409665B1 (en) Partial logical-to-physical (L2P) address translation table for multiple namespaces
CN117032594B (zh) 一种读命令调度方法、处理方法、装置及存储设备
CN117806570B (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