WO2023092446A1 - 数据同步方法及相关设备 - Google Patents

数据同步方法及相关设备 Download PDF

Info

Publication number
WO2023092446A1
WO2023092446A1 PCT/CN2021/133456 CN2021133456W WO2023092446A1 WO 2023092446 A1 WO2023092446 A1 WO 2023092446A1 CN 2021133456 W CN2021133456 W CN 2021133456W WO 2023092446 A1 WO2023092446 A1 WO 2023092446A1
Authority
WO
WIPO (PCT)
Prior art keywords
version number
storage device
request
mapping data
data
Prior art date
Application number
PCT/CN2021/133456
Other languages
English (en)
French (fr)
Inventor
吕建涛
沈绍锋
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2021/133456 priority Critical patent/WO2023092446A1/zh
Publication of WO2023092446A1 publication Critical patent/WO2023092446A1/zh

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种数据同步方法及相关设备,应用于数据处理领域,该方法中,当存储设备中的第一L2P映射数据发生改变时,先根据第一L2P映射数据的第一版本号和版本号序列确定第二版本号和第三版本号,通过判断第三版本号和请求版本号是否相同,以确定是否允许将第二版本号和第二L2P映射数据同步给主机,确保存储设备通过判断本地的L2P映射数据的版本号和IO读请求中携带的版本号是否相同就能判断L2P映射数据是否相同;而且,本申请实施例的数据同步方法不需要在L2P映射数据同步之前回收在途的读请求,因此,能实现同步L2P映射数据和下发读请求的并行进行,可以有效提高存储设备的IO性能。

Description

数据同步方法及相关设备 技术领域
本申请涉及数据处理领域,具体涉及一种数据同步方法及相关设备。
背景技术
目前的数据存储系统包括主机和存储设备,其中,主机包括双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR);而存储设备包括存储控制器和与非(Not And,NAND)闪存,存储控制器包括静态随机存取存储器(Static Random-Access Memory,SRAM)。存储设备具有一套逻辑地址到物理地址(Logical Address to Physical address,简称L2P)的映射数据,这些L2P映射数据需要在存储设备初始化时加载到存储控制器中的内部SRAM中。当存储设备的存储容量越大,L2P映射数据也需要容量更大的SRAM来存储。由于SRAM容量大小的增加会显著影响存储设备的制造成本和功耗,因此,在低成本或者低功耗的存储设备中,只将部分L2P映射数据加载到存储控制器的SRAM中,其他的L2P映射数据存储在NAND闪存中。由于存储在NAND闪存中的这部分L2P信息未加载到存储控制器的SRAM中,因此,当存储设备有主机的IO访问,而利用存储控制器的SRAM中缓存的L2P映射数据无法命中数据时,需要先将剩余的L2P映射数据从NAND闪存中加载到SRAM中,才能执行IO读写,而这样会导致存储设备的IO性能严重下降。
针对上述问题,一种现有的数据存放方法,利用主机内的DDR来缓存L2P映射数据,从而可以增加L2P映射数据在缓存中的大小,该方法可以减少在IO读之前的读表开销。然而,L2P映射数据会随着前台主机的IO写请求和后台存储设备的操作(如垃圾回收)的进行而发生变化,由于表项是提前缓存在主机的,当存储设备的L2P映射数据的表项发生变化后,就会导致主机所缓存表项和存储设备中的表项的不一致,需要能检测到这种表项不一致的情况从而防止误用以避免主机读到错误的数据。
目前,存储设备是通过一个比特(bit)位图的方式来表示L2P映射数据的表项是否被修改,当表项被修改后,存储设备在处理主机的IO请求时,就不用主机的IO请求中携带下来的L2P映射数据,从而解决误用旧表项的问题。但是,由于L2P映射数据的表项更新和下发IO请求是并行的,存在一种状态:存储设备已经将修改后的表项同步给了主机,由于存储设备在同步后就认为表项已经一致了,就会把bit位图清除以表示表项已同步过。由于表项更新和下发IO请求是并行的,存在存储设备完成表项更新之前就已经在途的IO请求。这些在途的IO请求携带的表项是在同步之前就下发的IO请求,导致存储设备收到的IO请求还是更新前的表项,从而导致存储设备误用更新前的表项而读取到错误的数据。
为了解决表项更新和下发IO请求并行所导致的误用表项问题,目前是在每次表项同步之前,存储设备都会通知主机将在途的IO请求全部清空,但是,这种方法需要等待已经下发的IO请求全部返回主机,在等待IO请求返回主机的过程中,主机不能再下发新的IO请求,从而导致存储设备的IO性能达不到要求。
因此,亟需对上述技术问题进行改进。
发明内容
本申请实施例提供了一种数据同步方法及相关设备,可以实现同步L2P映射数据和下发读请求的并行进行,不再需要在同步之前回收在途的读请求,有效提高存储设备的IO性能。
第一方面,本申请提供一种数据同步方法,应用于存储设备,该存储设备应用于数据存储系统,该数据存储系统还包括主机,上述数据同步方法包括以下步骤:存储设备中的第一逻辑地址到物理地址L2P映射数据发生改变时,存储设备基于第一L2P映射数据对应的第一版本号和版本号序列确定第二版本号和第三版本号,版本号序列为多个版本号循环排列的序列,第二版本号为版本号序列中位于第一版本号之后的第一个版本号、第三版本号为版本号序列中位于第一版本号之后的第二个版本号;第三版本号和存储设备当前存储的请求版本号不相同时,存储设备将第二版本号确定为第二L2P映射数据的版本号,并向主机发送第一同步请求,第一同步请求用于请求将第二L2P映射数据和第二版本号同步给主机,第二L2P映射数据为改变后的第一L2P映射数据,请求版本号为存储设备当前最新接收到的来自主机的第一读请求中携带的版本号,且请求版本号为第一读请求生成时主机中所存储的L2P映射数据的版本号;而第三版本号和请求版本号相同时,存储设备将第二版本号确定为第二L2P映射数据的版本号,并将第二L2P映射数据和第二版本号作为待同步数据,待同步数据为等待同步给主机的数据。
其中,上述L2P映射数据可以为存储设备中全部的表项或部分的表项对应的L2P映射数据。而多个版本号的数目为Y,且Y个版本号中的每个版本号是由N比特数据所确定的,N为大于或等于一的整数,Y为小于或等于2 N的整数。
例如N为2,此时,2个比特数据所确定的版本号有0、1、2和3。此时,Y可以取2、3或4。当Y取2时,可以从0、1、2、3中选择任意两个版本号作为存储设备的L2P映射数据的版本号,例如0和1,0和2,0和3,1和2等等。同理,当Y取4时,将0、1、2和3四个版本号作为存储设备的L2P映射数据的版本号。在选定了Y个版本号之后,对Y个版本号进行循环排列以得到版本号序列。其中,Y个版本号可以按照预设排序规则进行排列,再对排列后的Y个版本号进行循环,以得到版本号序列。预设排序规则可以根据实际情况进行设置,不做特别限定。
需要说明的是,本申请实施例中,依据版本号序列为存储设备中的L2P映射数据在变化前后分配两个不同的版本号,例如,版本号序列为1、2和3,L2P映射数据的初始版本号为1,当该L2P映射数据发生变化时,变化后的L2P映射数据对应的版本号将为2;而当版本号为2的L2P映射数据再次发生变化时,再次变化后的L2P映射数据对应的版本号将为3。
本申请实施例中的数据同步方法,当存储设备中的第一L2P映射数据发生改变时,先根据第一L2P映射数据对应的第一版本号和版本号序列确定一个第二版本号和一个第三版本号。在将第二L2P映射数据和第二版本号同步给主机之前,需要验证第三版本号和存储设备当前存储的请求版本号是否相同。当上述两个版本号相同时,则判断版本号将会发生“回绕”,不能将第二L2P映射数据和第二版本号同步给主机,暂停同步以确保存储设备依据版本号的不同就能判断L2P映射数据的不同,以避免在将第二L2P映射数据和第二版本号同步给主机之后,由于存储设备中的L2P映射数据继续改变,改变后的L2P映射数据的版本号为第三版本号,导致真正出现版本号回绕,进而导致存储设备在处理主机的读请求时读取到错误的数据;并且将第二L2P映射数据和第二版本号作为待同步数据。而在第三版本号和当前的请求版本号不相同时,此时将第二版本号确定为第二L2P映射数据的版本号,且存储设备将向主机发送第一同步请求,以请求将第二L2P映射数据和第二版本号同步给主机。相应地,主机确定 第一同步请求满足同步条件时,则向存储设备发送第一同步指示信息,以使存储设备根据第一同步指示信息将第二L2P映射数据和第二版本号同步给主机。
综上,通过判断第三版本号和请求版本号是否相同,以确定是否允许将第二版本号和第二L2P映射数据同步给主机,确保存储设备通过判断本地的L2P映射数据的版本号和IO读请求中携带的版本号是否相同就能判断L2P映射数据是否相同;而且,本申请实施例的数据同步方法不需要在L2P映射数据同步之前回收在途的读请求,因此,能实现同步L2P映射数据和下发读请求的并行进行,可以有效提高存储设备的IO性能。
在第一方面的一些可能的实施例中,数据同步方法还包括以下步骤:存储设备接收来自主机的第二读请求,第二读请求中携带有第二读请求生成时主机中所存储的L2P映射数据的版本号,第二读请求是存储设备在第一读请求之后接收到的;第二读请求中携带的版本号和第一读请求中携带的版本号不同时,存储设备将请求版本号更新为第二读请求携带的版本号。
其中,上述L2P映射数据的同步处理过程,与主机下发读请求的过程是并行的。
本申请实施例中,主机可以根据自身需求下发第二读请求,该第二读请求中携带有第二读请求生成时主机所存储的L2P映射数据的版本号,当存储设备确定第二读请求中携带的版本号和第一读请求中携带的版本号(即存储设备当前存储的最新的请求版本号)不同时,则将请求版本号更新为第二读请求中携带的版本号,以确保存储设备记录的是最新接收到的来自主机的读请求中携带的版本号。而相反,当第二读请求中携带的版本号和第一读请求中携带的版本号相同时,则不更新请求版本号。
在第一方面的一些可能的实施例中,数据同步方法还包括以下步骤:更新后的请求版本号和第三版本号不相同,且存储设备具有待同步数据时,存储设备向主机发送第二同步请求,第二同步请求用于请求将待同步数据同步给主机。
在本申请实施例中,当暂停同步时,只有在请求版本号更新后,才可解除版本号回绕。判定版本号将会回绕后,在接收到主机新的读请求而引起请求版本号更新后,则更新后的请求版本号和第三版本号不同,此时判定版本号回绕解除;当回绕解除时存储设备具有待同步数据时,存储设备向主机发送第二同步请求,以请求将待同步数据同步给主机。
在第一方面的一些可能的实施例中,将第二L2P映射数据和第二版本号同步给主机,具体包括以下步骤:将主机性能助推器HPB表发送给主机,HPB表包括第二L2P映射数据和第二版本号,其中,HPB表中表项的索引为第二L2P映射数据中的逻辑地址,HPB表中表项的N比特用于存储第二版本号,HPB表中表项的M比特用于存储第二L2P映射数据中的物理地址,M小于或等于第一差值,第一差值为X和N之间的差值,X为HPB表的表项的总比特位数。
进一步地,M小于第一差值时,HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为第一差值和M之间的差值。
其中,利用已有的HPB表来进行L2P映射数据和版本号的同步,可以有效节约主机和存储设备之间的数据同步协议的开发成本。
在第一方面的一些可能的实施例中,数据同步方法还包括以下步骤:第三版本号和请求版本号相同,且第二L2P映射数据发生改变时,存储设备将第二L2P映射数据更新为第三L2P映射数据,第三L2P映射数据为改变后的第二L2P映射数据。
本申请实施例中,当版本号回绕且第二L2P映射数据发生改变时,则存储设备将改变后的第二L2P映射数据(即第三L2P映射数据)的版本号确定为第二版本号,且此时的待同步数据为第三L2P映射数据和第二版本号。简单地说,在版本号回绕时,L2P映射数据发生改 变,则存储设备将改变后的L2P映射数据的版本号依旧确定为第二版本号,并会将更新后的L2P映射数据同时更新到待同步数据中。
第二方面,本申请还提供一种数据同步方法,应用于主机,主机应用于数据存储系统,数据存储系统还包括存储设备,方法包括以下步骤:主机接收存储设备发送的第一同步请求,第一同步请求用于请求同步第二L2P映射数据和第二版本号,其中,第一同步请求是存储设备在确定第三版本号和存储设备当前存储的请求版本号不相同时发送的;第二版本号、第三版本号是存储设备在确定第一L2P映射数据发生改变时,基于第一L2P映射数据对应的第一版本号和版本号序列确定的,版本号序列为多个版本号循环排列的序列,第二版本号为版本号序列中位于第一版本号之后的第一个版本号、第三版本号为版本号序列中位于第一版本号之后的第二个版本号;第二L2P映射数据为改变后的第一L2P映射数据;请求版本号为存储设备当前最新接收到的来自主机的第一读请求中携带的版本号,且请求版本号为第一读请求生成时主机中所存储的L2P映射数据的版本号;第一同步请求满足同步条件时,主机向存储设备发送第一同步指示信息,以使存储设备根据第一同步指示信息将第二L2P映射数据和第二版本号同步给主机。
其中,同步条件可以根据主机的实际情况进行设置,例如,当主机当前的工作状态满足同步条件时,表明第一同步请求满足同步条件,可以允许存储设备进行数据同步。
本申请实施例中,主机接收存储设备发送的第一同步请求,该第一同步请求用于请求同步第二L2P映射数据和第二版本号,其中,第一同步请求是存储设备在确定第三版本号和存储设备当前存储的请求版本号不相同时发送的,这样,存储设备可以根据第三版本号和请求版本号是否相同进而确定是否允许将第二版本号和第二L2P映射数据同步给主机,避免由于版本号回绕,导致存储设备在处理主机的读请求时读取到错误的数据;而且,本申请实施例的数据同步方法不需要在同步之前回收在途的读请求,能实现同步L2P映射数据和下发读请求的并行进行,可以有效提高存储设备的IO性能。
在第二方面的一些可能的实施例中,数据同步方法还包括以下步骤:主机向存储设备发送第二读请求,第二读请求中携带有第二读请求生成时主机中所存储的L2P映射数据的版本号,第二读请求是主机在第一读请求之后发送的,以使存储设备在第二读请求中携带的版本号和第一读请求中携带的版本号不同时,将请求版本号更新为第二读请求携带的版本号。
本申请实施例中,主机可以根据自身需求下发第二读请求,当存储设备确定第二读请求中携带的版本号和第一读请求中携带的版本号(即存储设备当前存储的最新的请求版本号)不同时,则将请求版本号更新为第二读请求中携带的版本号,以确保存储设备记录的是最新接收到的来自主机的读请求中携带的版本号。
在第二方面的一些可能的实施例中,数据同步方法还包括以下步骤:主机接收存储设备发送的第二同步请求,第二同步请求用于请求同步待同步数据,第二同步请求是存储设备确定更新后的请求版本号和第三版本号不相同,且存储设备具有待同步数据时发送的;其中,待同步数据为等待同步给主机的数据,存储设备在确定第三版本号和更新前的请求版本号相同时,将第二L2P映射数据和第二版本号确定为待同步数据;第二同步请求满足同步条件时,主机向存储设备发送第二同步指示信息,以使存储设备根据第二同步指示信息将待同步数据同步给主机。
在本申请实施例中,当更新后的请求版本号和第三版本号不同,且具有待同步数据时,存储设备向主机发送第二同步请求,以请求同步待同步数据;在第二同步请求满足同步条件时,主机向存储设备发送第二同步指示信息,这样,存储设备根据第二同步指示信息可以将 待同步数据同步给主机。
在第二方面的一些可能的实施例中,多个版本号的数目为Y,Y个版本号由N比特数据所确定,其中,N为大于或等于一的整数,Y为小于或等于2 N的整数。
在第二方面的一些可能的实施例中,数据同步方法还包括:接收存储设备响应第一同步指示信息发送的主机性能助推器HPB表,HPB表包括第二L2P映射数据和第二版本号,其中,HPB表中表项的索引为第二L2P映射数据中的逻辑地址,HPB表中表项的N比特用于存储第二版本号,HPB表中表项的M比特用于存储第二L2P映射数据中的物理地址,M小于或等于第一差值,第一差值为X和N之间的差值,X为HPB表的表项的总比特位数。进一步地,M小于第一差值时,HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为第一差值和M之间的差值。
在第二方面的一些可能的实施例中,L2P映射数据为存储设备中全部的表项或部分的表项对应的L2P映射数据。
第三方面,本申请还提供一种存储设备,存储设备应用于数据存储系统,数据存储系统还包括主机,存储设备包括:确定模块,用于存储设备中的第一L2P映射数据发生改变时,基于第一L2P映射数据对应的第一版本号和版本号序列确定第二版本号和第三版本号,版本号序列为多个版本号循环排列的序列,第二版本号为版本号序列中位于第一版本号之后的第一个版本号、第三版本号为版本号序列中位于第一版本号之后的第二个版本号;请求模块,用于第三版本号和存储设备当前存储的请求版本号不相同时,第二版本号确定为第二L2P映射数据的版本号,并向主机发送第一同步请求,第一同步请求用于请求将第二L2P映射数据和第二版本号同步给主机,第二L2P映射数据为改变后的第一L2P映射数据,请求版本号为存储设备当前最新接收到的来自主机的第一读请求中携带的版本号,且请求版本号为第一读请求生成时主机中所存储的L2P映射数据的版本号;处理模块,用于第三版本号和请求版本号相同时,将第二版本号确定为第二L2P映射数据的版本号,并将第二L2P映射数据和第二版本号作为待同步数据,待同步数据为等待同步给主机的数据。
在第三方面的一些可能的实施例中,存储设备还包括:接收模块,用于接收来自主机的第二读请求,第二读请求中携带有第二读请求生成时主机中所存储的L2P映射数据的版本号,第二读请求是存储设备在第一读请求之后接收到的;更新模块,用于第二读请求中携带的版本号和第一读请求中携带的版本号不同时,将请求版本号更新为第二读请求携带的版本号。
在第三方面的一些可能的实施例中,请求模块,还用于更新后的请求版本号和第三版本号不相同,且存储设备具有待同步数据时,向主机发送第二同步请求,第二同步请求用于请求将待同步数据同步给主机。
在第三方面的一些可能的实施例中,多个版本号的数目为Y,Y个版本号由N比特数据所确定,其中,N为大于或等于一的整数,Y为小于或等于2 N的整数。
在第三方面的一些可能的实施例中,在将第二L2P映射数据和第二版本号同步给主机方面,存储设备还包括:发送模块,用于将主机性能助推器HPB表发送给主机,HPB表包括第二L2P映射数据和第二版本号,其中,HPB表中表项的索引为第二L2P映射数据中的逻辑地址,HPB表中表项的N比特用于存储第二版本号,HPB表中表项的M比特用于存储第二L2P映射数据中的物理地址,M小于或等于第一差值,第一差值为X和N之间的差值,X为HPB表的表项的总比特位数。进一步地,M小于第一差值时,HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为第一差值和M之间的差值。
在第三方面的一些可能的实施例中,更新模块,还用于第三版本号和请求版本号相同, 且第二L2P映射数据发生改变时,将第二L2P映射数据更新为第三L2P映射数据,第三L2P映射数据为改变后的第二L2P映射数据。
在第三方面的一些可能的实施例中,L2P映射数据为存储设备中全部或部分L2P映射数据。
第四方面,本申请还提供一种主机,主机应用于数据存储系统,数据存储系统还包括存储设备,主机包括:接收模块,用于接收存储设备发送的第一同步请求,第一同步请求用于请求同步第二L2P映射数据和第二版本号,其中,第一同步请求是存储设备在确定第三版本号和存储设备当前存储的请求版本号不相同时发送的;第二版本号、第三版本号是存储设备在确定第一L2P映射数据发生改变时,基于第一L2P映射数据对应的第一版本号和版本号序列确定的,版本号序列为多个版本号循环排列的序列,第二版本号为版本号序列中位于第一版本号之后的第一个版本号、第三版本号为版本号序列中位于第一版本号之后的第二个版本号;第二L2P映射数据为改变后的第一L2P映射数据;请求版本号为存储设备当前最新接收到的来自主机的第一读请求中携带的版本号,且请求版本号为第一读请求生成时主机中所存储的L2P映射数据的版本号;发送模块,用于第一同步请求满足同步条件时,向存储设备发送第一同步指示信息,以使存储设备根据第一同步指示信息将第二L2P映射数据和第二版本号同步给主机。
在第四方面的一些可能的实施例中,发送模块,还用于向存储设备发送第二读请求,第二读请求中携带有第二读请求生成时主机中所存储的L2P映射数据的版本号,第二读请求是主机在第一读请求之后发送的,以使存储设备在第二读请求中携带的版本号和第一读请求中携带的版本号不同时,将请求版本号更新为第二读请求携带的版本号。
在第四方面的一些可能的实施例中,接收模块,还用于接收存储设备发送的第二同步请求,第二同步请求用于请求同步待同步数据,第二同步请求是存储设备确定更新后的请求版本号和第三版本号不相同,且存储设备具有待同步数据时发送的;其中,待同步数据为等待同步给主机的数据,存储设备在确定第三版本号和更新前的请求版本号相同时,将第二L2P映射数据和第二版本号确定为待同步数据;发送模块,还用于第二同步请求满足同步条件时,向存储设备发送第二同步指示信息,以使存储设备根据第二同步指示信息将待同步数据同步给主机。
在第四方面的一些可能的实施例中,多个版本号的数目为Y,Y个版本号由N比特数据所确定,其中,N为大于或等于一的整数,Y为小于或等于2 N的整数。
在第四方面的一些可能的实施例中,接收模块,还用于接收存储设备响应第一同步指示信息发送的主机性能助推器HPB表,HPB表包括第二L2P映射数据和第二版本号,其中,HPB表中表项的索引为第二L2P映射数据中的逻辑地址,HPB表中表项的N比特用于存储第二版本号,HPB表中表项的M比特用于存储第二L2P映射数据中的物理地址,M小于或等于第一差值,第一差值为X和N之间的差值,X为HPB表的表项的总比特位数。进一步地,M小于第一差值时,HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为第一差值和M之间的差值。
在第四方面的一些可能的实施例中,L2P映射数据为存储设备中全部或部分L2P映射数据。
第五方面,本申请还提供一种数据处理设备,包括:处理器和存储器;所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如第一方面所述的数据同步方法,或者,执行如第二方面所述的数据同步方法。
第六方面,本申请还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如第一方面所述的数据同步方法,或者,执行如第二方面所述的数据同步方法。
第七方面,还提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面所述的数据同步方法,或者,执行如第二方面所述的数据同步方法。
本申请第三至第七方面所提供的技术方案,部分实施方式的有益效果可以参考第一方面、第二方面的技术方案的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据存储系统的示例性示意图;
图2为本申请实施例提供的一种数据存储系统的结构示意图;
图3是本申请实施例提供的一种数据同步方法的流程示意图;
图4a是本申请实施例提供的一种数据同步方法的具体流程示意图;
图4b是本申请实施例提供的一种数据同步方法的具体流程示意图;
图5是本申请实施例提供的一种表项划分方式示意图;
图6是本申请实施例提供的一种存储设备的结构示意图;
图7是本申请实施例提供的一种主机的结构示意图;
图8是本申请实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,以下示例地给出了部分与本申请实施例相关概念的说明以供参考。如下所述:
在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址(Physical Address),又叫实际地址或绝对地址。
逻辑地址,在计算机体系结构中是指应用程序角度看到的内存单元(Memory Cell)、存储单元(Storage Element)、网络主机(Network Host)的地址。逻辑地址往往不同于物理地址(Physical Address),通过地址翻译器(Address Translator)或映射函数可以把逻辑地址转化为物理地址。
L2P(Logical To Physical,逻辑地址到物理地址)映射数据保存了用户数据的地址信息,只有通过L2P映射数据才能准确的找到期望的数据。L2P表又称为FTL(Flash Translation Layer)映射表,是一份以LBA(Logical Block Address,逻辑块地址)为索引,PBA(Physical Block Address,物理块地址)为内容元素,记录LBA与PBA映射关系的顺序表,物理地址与逻辑地 址一一对应。
静态随机存取存储器(Static Random-Access Memory,SRAM)是一种基于触发器逻辑电路的半导体存储器。只要电源不拆除,其写入的信息将不会消失,不需要刷新电路。读出时不破坏储存信息,一经写入可多次读出。
目前,参考图1,图1示出了一种数据存储系统的结构,其中,数据存储系统包括主机(Host)101和存储设备102,主机101包括DDR;而存储设备102包括存储控制器103和NAND闪存104,存储控制器103包括通用闪存存储(Universal Flash Storage)UFS接口和SRAM。存储设备102具有一套L2P映射数据,这些L2P映射数据需要在存储设备102初始化时加载到存储控制器103中的内部SRAM中。当存储设备的存储容量越大,L2P映射数据也需要容量更大的SRAM来存储。由于SRAM容量大小的增加会显著影响存储设备的制造成本和功耗,因此,在低成本或者低功耗的存储设备中,只将部分L2P映射数据加载到存储控制器的SRAM中,其他的L2P映射数据存储在NAND闪存中。由于存储在NAND闪存中的这部分L2P信息未加载到存储控制器的SRAM中,因此,当存储设备102有主机的IO访问,而利用存储控制器的SRAM中缓存的L2P映射数据无法命中数据时,需要先将剩余的L2P映射数据从NAND闪存中加载到SRAM中,才能执行IO读写,而这样会导致存储设备的IO性能严重下降。
针对上述问题,现有方法通过利用主机中的DDR来缓存L2P映射数据,从而可以增加L2P映射数据在缓存中的大小。但是,L2P映射数据会随着前台主机的IO写请求和后台存储设备的操作(如垃圾回收)的进行而发生变化,由于表项是提前缓存在主机的,当存储设备的L2P映射数据的表项发生变化后,就会导致主机所缓存表项和存储设备中的表项的不一致,需要能检测到这种表项不一致的情况从而防止误用以避免主机读到错误的数据。现有的方法是利用bit位图来表示L2P映射数据是否被修改,但是由于L2P映射数据更新和下发IO请求是并行进行的,存在存储设备完成L2P映射数据同步完成之前就已经在途的IO请求。这些在途的IO请求携带的表项是在同步之前就下发的IO请求,导致存储设备收到的IO请求还是更新前的表项,从而导致存储设备误用更新前的表项而读取到错误的数据。
因此,为了解决表项更新和下发IO请求并行进行所导致的误用表项问题,在每次表项同步之前,存储设备都会通知主机将在途的IO请求全部清空,但是,这种方法需要等待已经下发的IO请求全部返回主机,在等待IO请求返回主机的过程中,主机不能再下发新的IO请求,从而导致存储设备的IO性能达不到要求。
针对上述技术问题,本申请提供一种应用于数据存储系统的数据同步方法,可以实现同步L2P映射数据和下发读请求的并行进行,不再需要在同步之前回收在途的读请求,可以有效提高存储设备的IO性能。
本申请实施例中,参考图2,图2为本申请实施例提供的一种数据存储系统的结构示意图,数据存储系统包括主机201和存储设备202,其中:
主机201可包含当前技术已知的任何计算设备,如服务器、台式计算机、平板电脑、个人计算机、手持式计算机、个人数字助理等。
存储设备202可以包括一个以上存储介质204和一个以上存储控制器203,其中,存储介质204为具有L2P映射数据的存储介质,例如NAND闪存等;而存储控制器203用于对存储介质中的数据进行存储调度,维护存储介质204等设备,一般地,存储控制器203包括静态随机存取存储器(Static Random-Access Memory,SRAM),用于缓存存储设备202的部分L2P映射数据。本实施例中的存储设备在访问存储介质时需要经过一次L2P的转换。
另外,由于存储控制器203内部的SRAM不足以存放所有的L2P映射数据,可以通过借用主机的存储空间来保存全部或部分的L2P映射数据。具体地,主机201中包括随机高速存储器(如DDR等),该随机高速存储器用于缓存存储设备202的部分或全部L2P映射数据。
本申请实施例中,存储设备可以内置于主机中,也可以是独立的存储设备,本申请对此不做具体限定。
下面对应用于存储设备的数据同步方法进行具体说明:
参考图3,图3是本申请实施例提供的一种数据同步方法的流程示意图,数据同步方法包括以下步骤:
步骤301、存储设备中的第一L2P映射数据发生改变时,存储设备基于第一L2P映射数据对应的第一版本号和版本号序列确定第二版本号和第三版本号,版本号序列为多个版本号循环排列的序列,第二版本号为版本号序列中位于第一版本号之后的第一个版本号、第三版本号为版本号序列中位于第一版本号之后的第二个版本号。
具体地,本实施例中,存储设备中一种版本的L2P映射数据对应有一个版本号,两个L2P映射数据的版本号不同,表示两个L2P映射数据不同。上述多个版本号的数目为Y,且Y个版本号中的每个版本号是由N比特数据所确定的,N为大于或等于一的整数,Y为小于或等于2 N的整数。例如N为2,此时,2个比特数据所确定的版本号有0、1、2和3。此时,Y可以取2、3或4。当Y取2时,可以从0、1、2、3中选择任意两个版本号作为存储设备的L2P映射数据的版本号,例如0和1,0和2,0和3,1和2等等。同理,当Y取4时,将0、1、2和3四个版本号作为存储设备的L2P映射数据的版本号。在选定了Y个版本号之后,对Y个版本号进行循环排列以得到版本号序列。其中,Y个版本号可以按照预设排序规则进行排列,再对排列后的Y个版本号进行循环,以得到版本号序列。
而预设排序规则可以根据实际情况进行设置,不做特别限定。例如,预设排序规则为将版本号从小到大进行排序,或者,将版本号从大到小进行排序,又或者,预设排序规则为随机遍历的排序规则,示例性地,假设0、1、2和3四个版本号为存储设备的L2P映射数据的版本号,按照从小到大的顺序进行排序,则此时的版本号序列为0-1-2-3-0-1-2-3-0-1……。又示例性地,假设Y个版本号为1、2、3、4和5,按照某一搜索路径进行遍历后得到的多个版本号为3、1、5、4、2,则版本号序列为3-1-5-4-2-3-1-5-4-2-3-……。
需要说明的是,本申请实施例中,依据版本号序列为存储设备中的L2P映射数据在变化前后分配两个不同的版本号,例如,第一序列为1、2和3,L2P映射数据的初始版本号为1,当该L2P映射数据发生变化时,变化后的L2P映射数据对应的版本号将为2;而当版本号为2的L2P映射数据再次发生变化时,再次变化后的L2P映射数据对应的版本号将为3。
因此,本申请实施例中,当确定存储设备中的第一L2P映射数据发生改变时,根据第一L2P映射数据对应的第一版本号和版本号序列确定第二版本号和第三版本号,该第二版本号为版本号序列中位于第一版本号之后的第一个版本号、第三版本号为版本号序列中位于第一版本号之后的第二个版本号。例如,版本号序列为0-1-2-3-0-1-2-3-0-1……,第一版本号为1,则第二版本号为2,第三版本号为3。实际上,参考图2、图4a和图4b,图4a是本申请实施例提供的一种数据同步方法的具体流程示意图,图4b是本申请实施例提供的一种数据同步方法的具体流程示意图;首先,存储设备上电初始化完成后,将会把L2P映射数据的版本号(即存储设备端版本号,也即当前存储设备存储的L2P映射数据对应的版本号,如存储设备存储第一L2P映射数据时,存储设备端版本号为第一版本号,存储设备存储第二L2P映射数据时,存储设备端版本号为第二版本号)以及存储设备存储的请求版本号均初始化为版本号序列中 的首个版本号,假设版本号序列为0-1-2-3-0-1-2-3-0-1……,则一开始,存储设备端版本号和请求版本号均为0。当存储设备中的L2P映射数据(至少一个表项发生改变)发生改变时,此时,先确定版本号增加后的版本号(此处的“增加”应理解为版本号按照版本号序列进行变化),此时,按照版本号序列可以确定增加后的版本号为1,即第二版本号,而第三版本号为2。
步骤302、第三版本号和存储设备当前存储的请求版本号不相同时,存储设备将第二版本号确定为第二L2P映射数据的版本号,并向主机发送第一同步请求,第一同步请求用于请求将第二L2P映射数据和第二版本号同步给主机,第二L2P映射数据为改变后的第一L2P映射数据,请求版本号为存储设备当前最新接收到的来自主机的第一读请求中携带的版本号,且请求版本号为第一读请求生成时主机中所存储的L2P映射数据的版本号;而第三版本号和请求版本号相同时,存储设备将第二版本号确定为第二L2P映射数据的版本号,并将第二L2P映射数据和第二版本号作为待同步数据,待同步数据为等待同步给主机的数据,即下一次同步给主机的数据。
相应地,主机接收存储设备发送的第一同步请求。另外,第一同步请求满足同步条件时,主机向存储设备发送第一同步指示信息,以使存储设备根据第一同步指示信息将第二L2P映射数据和第二版本号同步给主机。而第一同步请求不满足同步条件时,则主机不响应该第一同步请求。
其中,存储设备存储有请求版本号,该请求版本号为存储设备当前最新接收到的来自主机的第一读请求中携带的版本号。参考图2、图4a和图4b,当增加后的版本号,即第二版本号为1,第三版本号为2时,将2和此时存储的请求版本号0比较以判断是否将会发生版本号回绕,此时,2和0不同,表明未发生版本号回绕,则将增加后的版本号1作为改变后的L2P映射数据的版本号,并且允许存储设备将改变后的L2P映射数据和增加后的版本号同步给主机,存储设备向主机发送同步请求以请求将改变后的L2P映射数据和增加后的版本号。相反,假设原先的版本号为2,第二版本号为3,而第三版本号为0,请求版本号仍为0,则此时将判定将会出现版本号回绕,则将修改的L2P映射数据的版本号确定为版本号3,并且需要暂停同步,即将修改后的L2P映射数据和第二版本号作为待同步数据。
本申请实施例中,在将第二L2P映射数据和第二版本号同步给主机之前,需要验证第三版本号和存储设备当前存储的请求版本号是否相同。当上述两个版本号相同时,判定版本号将会发生“回绕”,不能将第二L2P映射数据和第二版本号同步给主机,需要暂停同步以确保存储设备依据版本号的不同就能判断L2P映射数据的不同,以避免在将第二L2P映射数据和第二版本号同步给主机之后,由于存储设备中的L2P映射数据继续改变,改变后的L2P映射数据的版本号为第三版本号,导致真正出现版本号回绕,进而导致存储设备在处理主机的读请求时读取到错误的数据;并且将第二L2P映射数据和第二版本号作为待同步数据。而在第三版本号和当前的请求版本号不相同时,此时将第二版本号确定为第二L2P映射数据的版本号,且存储设备将向主机发送第一同步请求,以请求将第二L2P映射数据和第二版本号同步给主机。相应地,主机确定第一同步请求满足同步条件时,则向存储设备发送第一同步指示信息,以使存储设备根据第一同步指示信息将第二L2P映射数据和第二版本号同步给主机。这种版本号的更新机制,通过延迟同步到主机的方法解决版本号回绕的问题,进而使得同步L2P映射数据和下发读请求可以并行进行。
综上,本申请实施例的数据同步方法,通过判断第三版本号和请求版本号是否相同,以确定是否允许将第二版本号和第二L2P映射数据同步给主机,确保存储设备通过判断本地的 L2P映射数据的版本号和IO读请求中携带的版本号是否相同就能判断L2P映射数据是否相同;而且,本申请实施例的数据同步方法不需要在L2P映射数据同步之前回收在途的读请求,因此,能实现同步L2P映射数据和下发读请求的并行进行,可以有效提高存储设备的IO性能。
需要说明的是,当主机不响应存储设备的第一同步请求,在这之后第二L2P映射数据发生改变时,由于第二版本号并未同步给主机,此时,为了节约版本号,改变后的第二L2P映射数据的版本号可以为第二版本号。另一种选择,版本号也可以跟随L2P映射数据的变化而继续变化,即改变后的第二L2P映射数据的版本号也可以为第三版本号。
在一些可能的实施例中,步骤301中,确定存储设备中的第一L2P映射数据发生改变的方法包括:确定存储设备是否接收到来自主机的写请求(写请求用于向存储设备的存储介质写入数据),或者,确定存储设备是否发生数据搬移操作(如垃圾回收操作,或者存储介质可靠性指标满足一定条件时,进行数据搬移操作等)。其中,垃圾回收是一种自动的存储管理机制。当一些被占用的内存不再需要时,就应该予以释放,以让出空间,这种存储资源管理,称为垃圾回收(Garbage Collection)。当接收到主机的写请求或存储设备发生数据搬移操作时,可以确定存储设备中的L2P映射数据发生了改变。
在一些可能的实施例中,上述同步条件可以根据主机的实际情况进行设置,例如,当接收到第一同步请求时,确定主机当前的工作状态满足同步条件时,表明第一同步请求满足同步条件,可以允许存储设备进行数据同步。举例来说,同步条件为主机的IO处理压力指标不满足压力条件时,表明此时主机的工作状态满足同步条件,主机不繁忙,可以有能力完成与存储设备的数据同步操作。IO处理压力指标可以为主机发出的IO请求(读请求和/或写请求)的数量,或者IO操作的CPU占用率大小等。当IO请求的数量小于数量阈值时,或者IO操作的CPU占用率小于占用率阈值时,表明主机的工作状态满足同步条件。
在一些可能的实施例中,存储设备将L2P映射数据和相应的版本号同步给主机的具体方式,可以为:主机开放自身的随机高速存储器的一部分存储空间的权限给存储设备,以使存储设备可以将L2P映射数据及相应的版本号同步到主机中,例如,将第二L2P映射数据和第二版本号同步到主机中。
在一些可能的实施例中,存储设备将L2P映射数据和相应的版本号(如第二L2P映射数据和第二版本号)同步给主机,具体包括以下步骤:存储设备将主机性能助推器(Host Aware Performance Booster,HPB)表发送给主机,HPB表包括L2P映射数据和相应的版本号,其中,HPB技术是一种在UFS协议里使用主机内存加速器件性能的技术。HPB表中表项的索引为L2P映射数据中的逻辑地址,HPB表中表项的N比特用于存储该L2P映射数据对应的版本号(也可以理解为该表项对应的版本号),HPB表中表项的M比特用于存储该L2P映射数据中的物理地址,M小于或等于第一差值,第一差值为X和N之间的差值,即X-N,X为HPB表的表项的总比特位数。当M等于第一差值时,表明此时HPB表的表项的信息包括物理地址和版本号(表项索引为物理地址对应的逻辑地址)。进一步地,M小于第一差值时,HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为第一差值和M之间的差值,即X-N-M。
示例性地,参考图4b,存储设备在将L2P映射数据和相应的版本号同步给主机时,先取出自身存储的L2P映射数据,再获取当前自身存储的存储设备端版本号,根据二者生成HPB表,再将该HPB表同步给主机。
本申请实施例中,利用已有的HPB表来进行L2P映射数据和版本号的同步,可以有效节约主机和存储设备之间的数据同步协议的开发成本。需要说明的是,本申请实施例中,也可 以采用其他已有类型表或自定义表来同步L2P映射数据和版本号,不做特别限定。
具体地,参考表1,其示出了HPB表项的结构,其中,保留字段可以用于存储表项的完整性校验信息等信息,也可以空着不存储信息。本实施例中保留字段的比特位数可以为0,或者为一个以上。需要说明的是,HPB表的表项结构不限于表1所示结构,表项中的字段的种类和字段的排列顺序可以根据实际情况进行修改。
表1 HPB表的表项结构
版本号 保留字段 物理地址
具体地,已有的HPB表的表项由物理地址和保留字段组成,本申请实施例在保留字段里分配部分比特位用来表示HPB表项的版本号。由于表项的版本号也需要存储在存储设备中,占用SRAM空间,为了减少SRAM空间的占用,本实施例只取HPB表项中除物理地址外的部分比特用来表示表项的版本号,假设HPB表项中,物理地址为32比特,保留字段有32比特,取保留字段中的2比特用于存储版本号,则可以有0(00)、1(01)、2(10)、3(11)共4个版本号,版本号是循环利用的,比如到了3以后会再次回到0。
在一些可能的实施例中,数据同步方法还包括以下步骤:
第三版本号和请求版本号相同,且第二L2P映射数据发生改变时,存储设备将第二L2P映射数据更新为第三L2P映射数据,第三L2P映射数据为改变后的第二L2P映射数据。
本申请实施例中,当版本号回绕且第二L2P映射数据发生改变时,则存储设备将改变后的第二L2P映射数据(即第三L2P映射数据)的版本号确定为第二版本号,且此时的待同步数据为第三L2P映射数据和第二版本号。简单地说,在版本号回绕时,L2P映射数据发生改变,则存储设备将改变后的L2P映射数据的版本号依旧确定为第二版本号,并会将更新后的L2P映射数据同时更新到待同步数据中。也就是说,判定将会发生版本号回绕的期间,存储设备的表项变更而导致的L2P映射数据变化不同步到主机,变化后的L2P映射数据的版本号保持在版本号回绕之前的版本号,确保变化后的L2P映射数据的版本号和曾经同步给主机的版本号绝对不一致。
在一些可能的实施例中,数据同步方法还包括以下步骤:
S1、存储设备接收来自主机的第二读请求,第二读请求中携带有第二读请求生成时主机中所存储的L2P映射数据的版本号,第二读请求是存储设备在第一读请求之后接收到的。
相应地,主机向存储设备发送第二读请求,第二读请求中携带有第二读请求生成时主机中所存储的L2P映射数据的版本号,第二读请求是主机在第一读请求之后发送的。
具体地,参考图4a,上述L2P映射数据的同步处理过程,与主机下发读请求的过程是并行的。本申请实施例中,主机可以根据自身需求下发第二读请求,该第二读请求中携带有第二读请求生成时主机所存储的L2P映射数据的版本号。
S2、第二读请求中携带的版本号和第一读请求中携带的版本号不同时,存储设备将请求版本号更新为第二读请求携带的版本号。
具体地,参考图4a、图4b,存储设备确定接收到主机下发的读请求(读请求携带的主机端版本号为读请求下发时主机端当前存储的L2P映射数据对应的版本号),如第二读请求时,则当存储设备确定第二读请求中携带的版本号和第一读请求中携带的版本号(即存储设备当前存储的最新的请求版本号)不同时,则将请求版本号更新为第二读请求中携带的版本号,以确保存储设备记录的是最新接收到的来自主机的读请求中携带的版本号。而相反,当第二读请求中携带的版本号和第一读请求中携带的版本号相同时,则不更新请求版本号,返回检测是否收到主机的读请求。
需要说明的是,主机下发的第一读请求或第二读请求等读请求中,携带有主机想要读取的数据对应的HPB表项,存储设备接收到读请求后,根据HPB表项中的完整性校验信息对该HPB表项的信息完整性进行检验。例如循环冗余校验(Cyclic Redundancy Check,CRC),CRC是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。
在一些可能的实施例中,数据同步方法还包括以下步骤:
S3、更新后的请求版本号和第三版本号不相同,且存储设备具有待同步数据时,存储设备向主机发送第二同步请求,第二同步请求用于请求将待同步数据同步给主机。
相应地,主机接收存储设备发送的第二同步请求,第二同步请求满足同步条件时,主机向存储设备发送第二同步指示信息,以使存储设备根据第二同步指示信息将待同步数据同步给主机。
在本申请实施例中,当暂停同步时,只有在请求版本号更新后,才可解除版本号回绕。判定版本号将会回绕后,在接收到主机新的读请求而引起请求版本号更新后,则更新后的请求版本号和第三版本号不同,此时版本号回绕解除;当回绕解除时存储设备具有待同步数据时,存储设备将向主机发送第二同步请求,以请求将待同步数据同步给主机。
参考图4a、图4b,如果每次表项修改就修改版本号并同步到主机,由于版本号数量有限,会出现版本号回绕,为了解决版本号回绕的问题,在出现版本号回绕暂停同步时,版本号需要在收到新的请求版本号之后才能复用前一个版本号,在0、1、2、3的版本号例子里,假设当前的请求版本号为0,当存储设备的版本号增加到3(即第二版本号为3)后,由于下一个版本号(即第三版本号)为0,和当前的请求版本号相同,出现了版本号回绕,只有收到了新的请求版本号(如1、2或3,由于主机不一定会一直下发读请求,导致主机端版本号可能会被覆盖,例如,当前的请求版本号为0,主机端版本号原本为1,此时并未下发读请求;主机端版本号从1变到2后,主机在版本号为2时再下发IO读请求,则没有版本号为1的IO读请求,即请求版本号直接由0变为2)的读请求后,才能将版本号3的表项同步到主机,之后再将存储设备端的版本号增加回绕到0,暂停同步期间的存储设备端的表项变更不同步到主机,保持在版本号3,确保修改后的表项版本号和曾经同步给主机的版本号绝对不一致。
在一些可能的实施例中,上述任一实施例中的L2P映射数据(如第一L2P映射数据、第二L2P映射数据等)可以为存储设备中全部的表项或部分的表项对应的L2P映射数据。简单地说,对存储设备中全部的L2P映射数据表项进行划分,可以得到多个L2P映射数据表项集合,可以理解为多个分表,也即把整个表项空间划分为了m个分表,每个分表都有各自的存储设备版本号和对应的下发IO请求携带的最新版本号,相互不影响,简单地说,每个分表各自按照本申请任意实施例所示的数据同步方法进行处理。分表的数量范围在0≤m≤存储设备的表项总数量,每个分表的表项数目可以相同也可以不同。其中,表项划分的方式可以有多种,但任一种划分方式均能够划分L2P表中的表项分布,从而实现基于表项分布划分L2P表的目的。具体的划分方式将在下文进行介绍。
假设以存储设备中全部的表项对应的L2P映射数据作为本申请任一实施例所述的L2P映射数据,则很快会出现版本号回绕,因此,将存储设备的L2P映射数据进行区域划分,区域划分得到每个分表对应按照版本号序列进行变化,可以有效延缓版本号回绕的出现。
示例性地,表项划分方式为顺序划分方式,先预设划分得到的分表个数m,并确定每个 分表的表项个数,接着按照表项顺序依次进行划分,如图5所示,假设m为4,每个分表的表项个数分别为y1、y2、y3和y4,则顺序划分可以得到分表1、分表2、分表3和分表4。
需要说明的是,上述任意实施例中的步骤编号仅为区别不同的方法步骤,不对方法步骤的执行顺序造成限定。
上述内容详细阐述了本申请实施例的方法,下面提供本申请实施例的装置。
本申请还提供一种存储设备,存储设备应用于数据存储系统,数据存储系统还包括主机,参考图6,图6是本申请实施例提供的一种存储设备的结构示意图;存储设备600包括确定模块601、请求模块602和处理模块603:
确定模块601,用于存储设备中的第一L2P映射数据发生改变时,基于第一L2P映射数据对应的第一版本号和版本号序列确定第二版本号和第三版本号,版本号序列为多个版本号循环排列的序列,第二版本号为版本号序列中位于第一版本号之后的第一个版本号、第三版本号为版本号序列中位于第一版本号之后的第二个版本号;
请求模块602,用于第三版本号和存储设备当前存储的请求版本号不相同时,第二版本号确定为第二L2P映射数据的版本号,并向主机发送第一同步请求,第一同步请求用于请求将第二L2P映射数据和第二版本号同步给主机,第二L2P映射数据为改变后的第一L2P映射数据,请求版本号为存储设备当前最新接收到的来自主机的第一读请求中携带的版本号,且请求版本号为第一读请求生成时主机中所存储的L2P映射数据的版本号;
处理模块603,用于第三版本号和请求版本号相同时,将第二版本号确定为第二L2P映射数据的版本号,并将第二L2P映射数据和第二版本号作为待同步数据,待同步数据为等待同步给主机的数据。
在一些可能的实施例中,存储设备600还包括:
接收模块,用于接收来自主机的第二读请求,第二读请求中携带有第二读请求生成时主机中所存储的L2P映射数据的版本号,第二读请求是存储设备在第一读请求之后接收到的;
更新模块,用于第二读请求中携带的版本号和第一读请求中携带的版本号不同时,将请求版本号更新为第二读请求携带的版本号。
在一些可能的实施例中,请求模块602,还用于更新后的请求版本号和第三版本号不相同,且存储设备具有待同步数据时,向主机发送第二同步请求,第二同步请求用于请求将待同步数据同步给主机。
在一些可能的实施例中,多个版本号的数目为Y,Y个版本号由N比特数据所确定,其中,N为大于或等于一的整数,Y为小于或等于2 N的整数。
在一些可能的实施例中,在将第二L2P映射数据和第二版本号同步给主机方面,存储设备还包括:
发送模块,用于将主机性能助推器HPB表发送给主机,HPB表包括第二L2P映射数据和第二版本号,其中,HPB表中表项的索引为第二L2P映射数据中的逻辑地址,HPB表中表项的N比特用于存储第二版本号,HPB表中表项的M比特用于存储第二L2P映射数据中的物理地址,M小于或等于第一差值,第一差值为X和N之间的差值,X为HPB表的表项的总比特位数。进一步地,M小于第一差值时,HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为第一差值和M之间的差值。
在一些可能的实施例中,更新模块,还用于第三版本号和请求版本号相同,且第二L2P映射数据发生改变时,将第二L2P映射数据更新为第三L2P映射数据,第三L2P映射数据为 改变后的第二L2P映射数据。
在一些可能的实施例中,L2P映射数据为存储设备中全部或部分L2P映射数据。
需要说明的是,存储设备600的实施例与前述方法实施例相互对应,具体的描述及有益效果描述可以参照方法实施例,不再赘述。值得注意的是,装置实施例可以与上述方法配合使用,也可以单独使用。
本申请还提供一种主机,主机应用于数据存储系统,数据存储系统还包括存储设备,参考图7,图7是本申请实施例提供的一种主机的结构示意图;主机700包括接收模块701和发送模块702:
接收模块701,用于接收存储设备发送的第一同步请求,第一同步请求用于请求同步第二L2P映射数据和第二版本号,其中,第一同步请求是存储设备在确定第三版本号和存储设备当前存储的请求版本号不相同时发送的;第二版本号、第三版本号是存储设备在确定第一L2P映射数据发生改变时,基于第一L2P映射数据对应的第一版本号和版本号序列确定的,版本号序列为多个版本号循环排列的序列,第二版本号为版本号序列中位于第一版本号之后的第一个版本号、第三版本号为版本号序列中位于第一版本号之后的第二个版本号;第二L2P映射数据为改变后的第一L2P映射数据;请求版本号为存储设备当前最新接收到的来自主机的第一读请求中携带的版本号,且请求版本号为第一读请求生成时主机中所存储的L2P映射数据的版本号;
发送模块702,用于第一同步请求满足同步条件时,向存储设备发送第一同步指示信息,以使存储设备根据第一同步指示信息将第二L2P映射数据和第二版本号同步给主机。
在一些可能的实施例中,发送模块702,还用于向存储设备发送第二读请求,第二读请求中携带有第二读请求生成时主机中所存储的L2P映射数据的版本号,第二读请求是主机在第一读请求之后发送的,以使存储设备在第二读请求中携带的版本号和第一读请求中携带的版本号不同时,将请求版本号更新为第二读请求携带的版本号。
在一些可能的实施例中,接收模块701,还用于接收存储设备发送的第二同步请求,第二同步请求用于请求同步待同步数据,第二同步请求是存储设备确定更新后的请求版本号和第三版本号不相同,且存储设备具有待同步数据时发送的;其中,待同步数据为等待同步给主机的数据,存储设备在确定第三版本号和更新前的请求版本号相同时,将第二L2P映射数据和第二版本号确定为待同步数据;
发送模块702,还用于第二同步请求满足同步条件时,向存储设备发送第二同步指示信息,以使存储设备根据第二同步指示信息将待同步数据同步给主机。
在一些可能的实施例中,多个版本号的数目为Y,Y个版本号由N比特数据所确定,其中,N为大于或等于一的整数,Y为小于或等于2 N的整数。
在一些可能的实施例中,接收模块,还用于接收存储设备响应第一同步指示信息发送的主机性能助推器HPB表,HPB表包括第二L2P映射数据和第二版本号,其中,HPB表中表项的索引为第二L2P映射数据中的逻辑地址,HPB表中表项的N比特用于存储第二版本号,HPB表中表项的M比特用于存储第二L2P映射数据中的物理地址,M小于或等于第一差值,第一差值为X和N之间的差值,X为HPB表的表项的总比特位数。进一步地,M小于第一差值时,HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为第一差值和M之间的差值。
在一些可能的实施例中,L2P映射数据为存储设备中全部或部分L2P映射数据。
需要说明的是,主机700的实施例与前述方法实施例相互对应,具体的描述及有益效果描述可以参照方法实施例,不再赘述。值得注意的是,装置实施例可以与上述方法配合使用,也可以单独使用。
本申请还提供一种数据处理设备,图8是本申请实施例提供的一种数据处理设备的结构示意图,数据处理设备800(该设备800具体可以是一种存储设备或主机等)包括存储器801、处理器802、通信接口804以及总线803。其中,存储器801、处理器802、通信接口804通过总线803实现彼此之间的通信连接。
存储器801可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器801可以存储程序,当存储器801中存储的程序被处理器802执行时,处理器802和通信接口804用于执行本申请任意实施例的数据同步方法的部分或全部步骤,即可以执行存储设备这一侧的部分或全部步骤,或者,执行主机这一侧的部分或全部步骤。
处理器802可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现上述实施例所述的存储设备或主机中的单元所需执行的功能,或者执行任意实施例所述的数据同步方法。
处理器802还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请任意实施例的数据同步方法的各个步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例二所公开的数据同步方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器802读取存储器801中的信息,结合其硬件完成上述实施例所述的存储设备或主机中包括的单元所需执行的功能,或者执行本申请任意方法实施例的数据同步方法。
通信接口804使用例如但不限于收发器一类的收发装置,来实现数据处理设备800与其他设备或通信网络之间的通信。例如,可以通过通信接口804获取训练数据。
总线803可包括在数据处理设备800各个部件(例如,存储器801、处理器802、通信接口804)之间传送信息的通路。
应注意,尽管图8所示的数据处理设备800仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,数据处理设备800还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,数据处理设备800还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,数据处理设备800也可仅仅包括实现本申请实施例所必须的器件,而不必包括图8中所示的全部器件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过 其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以计算机程序产品的形式体现出来,该计算机程序产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中实施例提到的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b、或c中的至少一项(个),可以表示:a、b、c、(a和b)、(a和c)、(b和c)、或(a和b和c),其中a、b、c可以是单个,也可以是多个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、同时存在A和B、单独存在B这三种情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
以及,除非有相反的说明,本申请实施例使用“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一设备和第二设备,只是为了便于描述,而并不是表示这第一设备和第二设备的结构、重要程度等的不同,在某些实施例中,第一设备和第二设备还可以是同样的设备。
上述实施例中所用,根据上下文,术语“当……时”可以被解释为意思是“如果……”或“在……后”或“响应于确定……”或“响应于检测到……”。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (19)

  1. 一种数据同步方法,其特征在于,应用于存储设备,所述存储设备应用于数据存储系统,所述数据存储系统还包括主机,所述方法包括以下步骤:
    所述存储设备中的第一逻辑地址到物理地址L2P映射数据发生改变时,所述存储设备基于所述第一L2P映射数据对应的第一版本号和版本号序列确定第二版本号和第三版本号,所述版本号序列为多个版本号循环排列的序列,所述第二版本号为所述版本号序列中位于所述第一版本号之后的第一个版本号、所述第三版本号为所述版本号序列中位于所述第一版本号之后的第二个版本号;
    所述第三版本号和所述存储设备当前存储的请求版本号不相同时,所述存储设备将所述第二版本号确定为第二L2P映射数据的版本号,并向所述主机发送第一同步请求,所述第一同步请求用于请求将所述第二L2P映射数据和所述第二版本号同步给所述主机,所述第二L2P映射数据为改变后的所述第一L2P映射数据,所述请求版本号为所述存储设备当前最新接收到的来自所述主机的第一读请求中携带的版本号,且所述请求版本号为所述第一读请求生成时所述主机中所存储的L2P映射数据的版本号;
    所述第三版本号和所述请求版本号相同时,所述存储设备将所述第二版本号确定为所述第二L2P映射数据的版本号,并将所述第二L2P映射数据和所述第二版本号作为待同步数据,所述待同步数据为等待同步给所述主机的数据。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
    所述存储设备接收来自所述主机的第二读请求,所述第二读请求中携带有所述第二读请求生成时所述主机中所存储的L2P映射数据的版本号,所述第二读请求是所述存储设备在所述第一读请求之后接收到的;
    所述第二读请求中携带的版本号和所述第一读请求中携带的版本号不同时,所述存储设备将所述请求版本号更新为所述第二读请求携带的版本号。
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括以下步骤:
    更新后的所述请求版本号和所述第三版本号不相同,且所述存储设备具有所述待同步数据时,所述存储设备向所述主机发送第二同步请求,所述第二同步请求用于请求将所述待同步数据同步给所述主机。
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述多个版本号的数目为Y,Y个版本号由N比特数据所确定,其中,N为大于或等于一的整数,Y为小于或等于2 N的整数。
  5. 根据权利要求4所述的方法,其特征在于,将所述第二L2P映射数据和所述第二版本号同步给所述主机,具体包括以下步骤:
    将主机性能助推器HPB表发送给所述主机,所述HPB表包括所述第二L2P映射数据和所述第二版本号,
    其中,所述HPB表中表项的索引为所述第二L2P映射数据中的逻辑地址,所述HPB表中表项的N比特用于存储所述第二版本号,所述HPB表中表项的M比特用于存储所述第二L2P映射数据中的物理地址,所述M小于或等于第一差值,所述第一差值为X和之间的差值, 所述X为所述HPB表的表项的总比特位数。
  6. 根据权利要求5所述的方法,其特征在于,所述M小于所述第一差值时,所述HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为所述第一差值和M之间的差值。
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括以下步骤:
    所述第三版本号和所述请求版本号相同,且所述第二L2P映射数据发生改变时,所述存储设备将所述第二L2P映射数据更新为第三L2P映射数据,所述第三L2P映射数据为改变后的所述第二L2P映射数据。
  8. 根据权利要求1至7任一项所述的方法,其特征在于,所述L2P映射数据为所述存储设备中全部的表项或部分的表项对应的L2P映射数据。
  9. 一种数据同步方法,其特征在于,应用于主机,所述主机应用于数据存储系统,所述数据存储系统还包括存储设备,所述方法包括以下步骤:
    所述主机接收所述存储设备发送的第一同步请求,所述第一同步请求用于请求同步第二L2P映射数据和第二版本号,其中,所述第一同步请求是所述存储设备在确定第三版本号和所述存储设备当前存储的请求版本号不相同时发送的;所述第二版本号、所述第三版本号是所述存储设备在确定第一L2P映射数据发生改变时,基于所述第一L2P映射数据对应的第一版本号和版本号序列确定的,所述版本号序列为多个版本号循环排列的序列,所述第二版本号为所述版本号序列中位于所述第一版本号之后的第一个版本号、所述第三版本号为所述版本号序列中位于所述第一版本号之后的第二个版本号;所述第二L2P映射数据为改变后的所述第一L2P映射数据;所述请求版本号为所述存储设备当前最新接收到的来自所述主机的第一读请求中携带的版本号,且所述请求版本号为所述第一读请求生成时所述主机中所存储的L2P映射数据的版本号;
    所述第一同步请求满足同步条件时,所述主机向所述存储设备发送第一同步指示信息,以使所述存储设备根据所述第一同步指示信息将所述第二L2P映射数据和第二版本号同步给所述主机。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括以下步骤:
    所述主机向所述存储设备发送第二读请求,所述第二读请求中携带有所述第二读请求生成时所述主机中所存储的L2P映射数据的版本号,所述第二读请求是所述主机在所述第一读请求之后发送的,以使所述存储设备在所述第二读请求中携带的版本号和所述第一读请求中携带的版本号不同时,将所述请求版本号更新为所述第二读请求携带的版本号。
  11. 根据权利要求10所述的方法,其特征在于,所述方法还包括以下步骤:
    所述主机接收所述存储设备发送的第二同步请求,所述第二同步请求用于请求同步待同步数据,所述第二同步请求是所述存储设备确定更新后的所述请求版本号和所述第三版本号不相同,且所述存储设备具有所述待同步数据时发送的;其中,所述待同步数据为等待同步给所述主机的数据,所述存储设备在确定所述第三版本号和更新前的所述请求版本号相同时,将所述第二L2P映射数据和所述第二版本号确定为所述待同步数据;
    所述第二同步请求满足所述同步条件时,所述主机向所述存储设备发送第二同步指示信息,以使所述存储设备根据所述第二同步指示信息将所述待同步数据同步给所述主机。
  12. 根据权利要求9至11任一项所述的方法,其特征在于,所述多个版本号的数目为Y,Y个版本号由N比特数据所确定,其中,N为大于或等于一的整数,Y为小于或等于2 N的整数。
  13. 根据权利要求12所述的方法,其特征在于,所述方法还包括:
    接收所述存储设备响应所述第一同步指示信息发送的主机性能助推器HPB表,所述HPB表包括所述第二L2P映射数据和所述第二版本号,其中,所述HPB表中表项的索引为所述第二L2P映射数据中的逻辑地址,所述HPB表中表项的N比特用于存储所述第二版本号,所述HPB表中表项的M比特用于存储所述第二L2P映射数据中的物理地址,所述M小于或等于第一差值,所述第一差值为X和N之间的差值,所述X为所述HPB表的表项的总比特位数。
  14. 根据权利要求13所述的方法,其特征在于,所述M小于所述第一差值时,所述HPB表中表项的Q比特用于存储表项的完整性校验信息,Q为所述第一差值和M之间的差值。
  15. 根据权利要求9至14任一项所述的方法,其特征在于,所述L2P映射数据为所述存储设备中全部的表项或部分的表项对应的L2P映射数据。
  16. 一种存储设备,其特征在于,所述存储设备应用于数据存储系统,所述数据存储系统还包括主机,所述存储设备包括:
    确定模块,用于所述存储设备中的第一L2P映射数据发生改变时,基于所述第一L2P映射数据对应的第一版本号和版本号序列确定第二版本号和第三版本号,所述版本号序列为多个版本号循环排列的序列,所述第二版本号为所述版本号序列中位于所述第一版本号之后的第一个版本号、所述第三版本号为所述版本号序列中位于所述第一版本号之后的第二个版本号;
    请求模块,用于所述第三版本号和所述存储设备当前存储的请求版本号不相同时,所述第二版本号确定为第二L2P映射数据的版本号,并向所述主机发送第一同步请求,所述第一同步请求用于请求将所述第二L2P映射数据和所述第二版本号同步给所述主机,所述第二L2P映射数据为改变后的所述第一L2P映射数据,所述请求版本号为所述存储设备当前最新接收到的来自所述主机的第一读请求中携带的版本号,且所述请求版本号为所述第一读请求生成时所述主机中所存储的L2P映射数据的版本号;
    处理模块,用于所述第三版本号和所述请求版本号相同时,将所述第二版本号确定为所述第二L2P映射数据的版本号,并将所述第二L2P映射数据和所述第二版本号作为待同步数据,所述待同步数据为等待同步给所述主机的数据。
  17. 一种主机,其特征在于,所述主机应用于数据存储系统,所述数据存储系统还包括存储设备,所述主机包括:
    接收模块,用于接收所述存储设备发送的第一同步请求,所述第一同步请求用于请求同 步第二L2P映射数据和第二版本号,其中,所述第一同步请求是所述存储设备在确定第三版本号和所述存储设备当前存储的请求版本号不相同时发送的;所述第二版本号、所述第三版本号是所述存储设备在确定第一L2P映射数据发生改变时,基于所述第一L2P映射数据对应的第一版本号和版本号序列确定的,所述版本号序列为多个版本号循环排列的序列,所述第二版本号为所述版本号序列中位于所述第一版本号之后的第一个版本号、所述第三版本号为所述版本号序列中位于所述第一版本号之后的第二个版本号;所述第二L2P映射数据为改变后的所述第一L2P映射数据;所述请求版本号为所述存储设备当前最新接收到的来自所述主机的第一读请求中携带的版本号,且所述请求版本号为所述第一读请求生成时所述主机中所存储的L2P映射数据的版本号;
    发送模块,用于所述第一同步请求满足同步条件时,向所述存储设备发送第一同步指示信息,以使所述存储设备根据所述第一同步指示信息将所述第二L2P映射数据和第二版本号同步给所述主机。
  18. 一种数据处理设备,其特征在于,包括:处理器和存储器;
    所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1至8任一项所述的数据同步方法,或者,执行如权利要求9至15任一项所述的数据同步方法。
  19. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1至8任一项所述的数据同步方法,或者,执行如权利要求9至15任一项所述的数据同步方法。
PCT/CN2021/133456 2021-11-26 2021-11-26 数据同步方法及相关设备 WO2023092446A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/133456 WO2023092446A1 (zh) 2021-11-26 2021-11-26 数据同步方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/133456 WO2023092446A1 (zh) 2021-11-26 2021-11-26 数据同步方法及相关设备

Publications (1)

Publication Number Publication Date
WO2023092446A1 true WO2023092446A1 (zh) 2023-06-01

Family

ID=86538536

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/133456 WO2023092446A1 (zh) 2021-11-26 2021-11-26 数据同步方法及相关设备

Country Status (1)

Country Link
WO (1) WO2023092446A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160147468A1 (en) * 2014-11-21 2016-05-26 Sandisk Enterprise Ip Llc Data Integrity Enhancement to Protect Against Returning Old Versions of Data
CN111752858A (zh) * 2019-03-27 2020-10-09 爱思开海力士有限公司 控制器、存储器系统及其操作方法
CN111752853A (zh) * 2019-03-27 2020-10-09 爱思开海力士有限公司 控制器、存储器系统及其操作方法
CN112286835A (zh) * 2019-07-22 2021-01-29 爱思开海力士有限公司 管理存储器系统中的元数据的设备和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160147468A1 (en) * 2014-11-21 2016-05-26 Sandisk Enterprise Ip Llc Data Integrity Enhancement to Protect Against Returning Old Versions of Data
CN111752858A (zh) * 2019-03-27 2020-10-09 爱思开海力士有限公司 控制器、存储器系统及其操作方法
CN111752853A (zh) * 2019-03-27 2020-10-09 爱思开海力士有限公司 控制器、存储器系统及其操作方法
CN112286835A (zh) * 2019-07-22 2021-01-29 爱思开海力士有限公司 管理存储器系统中的元数据的设备和方法

Similar Documents

Publication Publication Date Title
US8244969B2 (en) System including a fine-grained memory and a less-fine-grained memory
US9116624B2 (en) Scalable storage devices
US9454319B2 (en) Storage system data hardening
US9195395B1 (en) Flash/DRAM/embedded DRAM-equipped system and method
US9128715B2 (en) Storage system data hardening
US9170744B1 (en) Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system
JP2017151982A (ja) データストレージサブシステムにおけるキャッシングのための方法およびシステム
US9158546B1 (en) Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory
WO2008150927A2 (en) System including a fine-grained memory and a less-fine-grained memory
KR102517685B1 (ko) 메모리 블록 복구 방법 및 디바이스
JP2020030822A (ja) インメモリコンピューティングのための大容量メモリシステム
US11544063B2 (en) Memory system and data processing system including the same
JP2024054306A (ja) ハードウェアベースのメモリ圧縮
WO2023092446A1 (zh) 数据同步方法及相关设备
US20230176966A1 (en) Methods and apparatus for persistent data structures
WO2022252063A1 (zh) 数据存取方法、存储控制器和存储设备
US20220300185A1 (en) Storage device, storage system, and control method
WO2023056687A1 (zh) 一种固态硬盘及其数据操作方法、装置及电子设备
EP4092518A1 (en) Data processing method for memory device, apparatus, and system
US11436150B2 (en) Method for processing page fault by processor
TWI835027B (zh) 更新主機與閃存位址對照表的方法及電腦程式產品及裝置
WO2022109975A1 (zh) 存储芯片、存储设备及其访问方法
TWI749490B (zh) 寫入閃存管理表的電腦程式產品及方法及裝置
WO2023241655A1 (zh) 数据处理方法、装置、电子设备以及计算机可读存储介质
CN113448487A (zh) 写入闪存管理表的计算机可读取存储介质、方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21965180

Country of ref document: EP

Kind code of ref document: A1