CN106649131A - 一种固态硬盘及其逻辑地址范围冲突监控方法、系统 - Google Patents

一种固态硬盘及其逻辑地址范围冲突监控方法、系统 Download PDF

Info

Publication number
CN106649131A
CN106649131A CN201611245562.8A CN201611245562A CN106649131A CN 106649131 A CN106649131 A CN 106649131A CN 201611245562 A CN201611245562 A CN 201611245562A CN 106649131 A CN106649131 A CN 106649131A
Authority
CN
China
Prior art keywords
node
binary tree
new node
ranges
new
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
CN201611245562.8A
Other languages
English (en)
Other versions
CN106649131B (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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201611245562.8A priority Critical patent/CN106649131B/zh
Publication of CN106649131A publication Critical patent/CN106649131A/zh
Application granted granted Critical
Publication of CN106649131B publication Critical patent/CN106649131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种固态硬盘及其逻辑地址范围冲突监控方法、系统,该方法包括:获取主机端发送的数据操作命令;提取每个数据操作命令所对应的逻辑地址范围,并将提取到的逻辑地址范围抽象成节点,以得到相应的新节点;按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作,若添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,若添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。本申请提高了逻辑地址访问冲突检测过程中的检测效率。

Description

一种固态硬盘及其逻辑地址范围冲突监控方法、系统
技术领域
本发明涉及存储技术领域,特别涉及一种固态硬盘及其逻辑地址范围冲突监控方法、系统。
背景技术
SSD(即Solid State Disk,固态硬盘)是基于Nand Flash技术的新型存储器件,具有读写速度快,存储密度大,功耗低等特点,目前已得到越来越广泛的应用。SSD主要包括存储单元和控制单元。其中,SSD的存储单元是指Nand Flash芯片,Nand Flash是一种新型的非易失存储介质,每个Nand Flash由多个target构成,每个target由多个LUN组成,每个LUN包含多个block,每个block包含多个page。另外,SSD的控制单元是指Nand Flash控制器芯片,负责对Nand Flash的读写操作和控制。Nand Flash控制器有多个Flash channel,每个Flash channel可以控制多个Nand Flash芯片。
通常来说,SSD固件将主机端发下的读写命令拆分成多个独立的Flash page操作,并发送给Nand Flash控制器,Nand Flash控制器根据磨损均衡算法,将Flash page操作转发到某一个Flash channel的某一个Flash target。
为了提高SSD读写性能,SSD固件支持主机端多个读写命令的并发操作,由于NandFlash控制器会跨多个Flash channel和多个Flash target调度,主机端的并发读写命令会乱序处理。考虑上述情况,假设主机下发一个读命令和一个写命令,并且它们的逻辑地址范围有重叠,如果不做冲突检测处理,读命令返回的数据会混合部分先写入的旧数据和部分后写入的新数据,从而影响SSD的数据正确性。为了保证SSD的数据正确性,需要在Flash控制器上对主机端的读写命令进行逻辑地址范围冲突检测,避免出现混合新旧数据的情况。
目前,不同的SSD厂商有不同的逻辑地址范围冲突检测方法,有采用遍历逻辑地址范围,依次判断的方法;也有采用计算逻辑地址哈希值,构建哈希队列,然后再依次判断的方法。然而,总体来说,上述每种检测方法均需要消耗较长的时间,检测效率较低。
综上所述可以看出,如何提高逻辑地址访问冲突检测过程中的检测效率是目前还有待进一步解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种固态硬盘及其逻辑地址范围冲突监控方法、系统,提高了逻辑地址访问冲突检测过程中的检测效率。其具体方案如下:
一种逻辑地址范围冲突监控方法,应用于固态硬盘,包括:
获取主机端发送的数据操作命令;
提取每个数据操作命令所对应的逻辑地址范围,并将提取到的逻辑地址范围抽象成节点,以得到相应的新节点;
按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作,若添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,若添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
可选的,所述主机端发送的数据操作命令包括读取命令和/或写入命令。
可选的,所述二叉树构造规则包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点;
若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
其中,在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的左分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的右分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
可选的,所述二叉树构造规则包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点;
若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
其中,在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的右分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的左分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
可选的,所述方法,还包括:
若新节点添加失败,则将新节点保存至与冲突节点对应的目标链表中。
可选的,所述方法,还包括:
若新节点添加失败,则对冲突节点对应的数据操作命令进行优先响应;
若冲突节点所对应的数据操作命令已响应完毕,则将该冲突节点从现有二叉树中删除,得到变更后的二叉树,然后按照所述二叉树构造规则,将所述目标链表中保存的节点迁移至变更后的二叉树。
本发明还公开了一种逻辑地址范围冲突监控系统,应用于固态硬盘,包括:
命令获取模块,用于获取主机端发送的数据操作命令;
地址提取模块,用于提取每个数据操作命令所对应的逻辑地址范围;
地址抽象模块,用于将所述地址提取模块提取到的逻辑地址范围抽象成节点,以得到相应的新节点;
二叉树构造模块,用于按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作,若添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,若添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
可选的,所述二叉树构造模块所使用的二叉树构造规则,具体包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点;
若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
其中,在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的左分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的右分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
可选的,所述系统,还包括:
节点保存模块,用于当新节点添加失败,则将新节点保存至与冲突节点对应的目标链表中;
优先响应模块,用于对冲突节点对应的数据操作命令进行优先响应;
节点剔除模块,用于当冲突节点所对应的数据操作命令已响应完毕,则将该冲突节点从现有二叉树中删除,得到变更后的二叉树;
节点迁移模块,用于按照所述二叉树构造规则,将所述目标链表中保存的节点迁移至变更后的二叉树。
本发明进一步公开了一种固态硬盘,包括前述公开的逻辑地址范围冲突监控系统。
本发明中,逻辑地址范围冲突监控方法,包括:获取主机端发送的数据操作命令;提取每个数据操作命令所对应的逻辑地址范围,并将提取到的逻辑地址范围抽象成节点,以得到相应的新节点;按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作,若添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,若添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
可见,本发明在获取到主机端发送的数据操作命令之后,将会提取出每个数据操作命令所对应的逻辑地址范围,然后将提取到的逻辑地址范围抽象成节点,然后按照预先基于逻辑地址大小顺序来设定得到的二叉树构造规则,尝试将上述经过抽象后得到的节点添加至当前现有二叉树中,如果能够添加成功,则可直接判定上述节点与现有二叉树中的节点之间不存在逻辑地址范围冲突,如果添加失败,则可直接判定上述节点与现有二叉树中的节点之间存在逻辑地址范围冲突,由上可见,本发明将数据操作命令所对应的逻辑地址范围抽象成节点,然后根据该节点是否能够按照预设的规则添加至现有二叉树中,便可快速地完成逻辑地址范围冲突检测,也即,本发明提高了逻辑地址访问冲突检测过程中的检测效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种逻辑地址范围冲突监控方法流程图;
图2为本发明实施例公开的一种具体的逻辑地址范围冲突监控方法流程图;
图3为本发明实施例公开的一种现有二叉树结构示意图;
图4为新节点与现有二叉树发生冲突的示意图;
图5为在对冲突节点进行优先响应后得到的二叉树示意图;
图6为在冲突节点删除后新节点的添加示意图;
图7为本发明实施例公开的一种逻辑地址范围冲突监控系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种逻辑地址范围冲突监控方法,应用于固态硬盘,参见图1所示,该方法包括:
步骤S11:获取主机端发送的数据操作命令。
可以理解的是,本实施例中,主机端发送的数据操作命令具体可以包括读取命令和/或写入命令。其中,每个读取命令和每个写入命令均存在各自所对应的逻辑地址范围。
步骤S12:提取每个数据操作命令所对应的逻辑地址范围,并将提取到的逻辑地址范围抽象成节点,以得到相应的新节点。
本实施例中,将提取到的逻辑地址范围抽象成节点是指将提取到的逻辑地址范围抽象成二叉树的节点。
步骤S13:按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作。
步骤S14:若上述新节点添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突。
步骤S15:若上述新节点添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
可见,本发明实施例在获取到主机端发送的数据操作命令之后,将会提取出每个数据操作命令所对应的逻辑地址范围,然后将提取到的逻辑地址范围抽象成节点,然后按照预先基于逻辑地址大小顺序来设定得到的二叉树构造规则,尝试将上述经过抽象后得到的节点添加至当前现有二叉树中,如果能够添加成功,则可直接判定上述节点与现有二叉树中的节点之间不存在逻辑地址范围冲突,如果添加失败,则可直接判定上述节点与现有二叉树中的节点之间存在逻辑地址范围冲突,由上可见,本发明实施例将数据操作命令所对应的逻辑地址范围抽象成节点,然后根据该节点是否能够按照预设的规则添加至现有二叉树中,便可快速地完成逻辑地址范围冲突检测,也即,本发明实施例提高了逻辑地址访问冲突检测过程中的检测效率。
参见图2所示,本发明实施例公开了一种具体的逻辑地址范围冲突监控方法,包括下面步骤:
步骤S21:获取主机端发送的数据操作命令。
步骤S22:提取每个数据操作命令所对应的逻辑地址范围,并将提取到的逻辑地址范围抽象成节点,以得到相应的新节点。
步骤S23:按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作。
本实施例中,上述二叉树构造规则具体可以包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点,若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
具体的,本实施例在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的左分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的右分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
步骤S24:若上述新节点添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
步骤S25:若上述新节点添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,然后进入步骤S26。
步骤S26:将新节点保存至与冲突节点对应的目标链表中。
步骤S27:对冲突节点对应的数据操作命令进行优先响应。
步骤S28:若冲突节点所对应的数据操作命令已响应完毕,则将该冲突节点从现有二叉树中删除,得到变更后的二叉树,然后按照二叉树构造规则,将上述目标链表中保存的节点迁移至变更后的二叉树。
例如,假设现有二叉树的具体构造如图3所示,如果此时获取到一个新的数据操作命令,该命令对应的逻辑地址范围从1200至1280,则将该逻辑地址范围抽象成一个新节点“1200-1280”,按照上述二叉树构造规则,可以检测出上述新节点“1200-1280”与现有二叉树中的已有节点“1200-1300”之间存在逻辑地址范围冲突,参见图4所示,此时可以把上述新节点“1200-1280”保存至已有节点“1200-1300”对应的目标链表中。接着可以对上述已有节点“1200-1300”对应的数据操作命令进行优先响应,也即提高其处理优先级,当响应结束后,便可将上述已有节点“1200-1300”从现有二叉树中删除,并按照二叉树构造规则重新构造二叉树,得到如图5所示的变更后的二叉树。紧接着,按照上述二叉树构造规则,将上述目标链表中保存的新节点“1200-1280”迁移至上述变更后的二叉树,得到如图6所示的二叉树。
本发明实施例公开了另一种具体的逻辑地址范围冲突监控方法,包括下面步骤:
步骤S31:获取主机端发送的数据操作命令。
步骤S32:提取每个数据操作命令所对应的逻辑地址范围,并将提取到的逻辑地址范围抽象成节点,以得到相应的新节点。
步骤S33:按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作。
本实施例中,上述二叉树构造规则具体可以包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点,若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
其中,在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的右分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的左分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
步骤S34:若上述新节点添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
步骤S35:若上述新节点添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,然后进入步骤S36。
步骤S36:将新节点保存至与冲突节点对应的目标链表中。
步骤S37:对冲突节点对应的数据操作命令进行优先响应。
步骤S38:冲突节点所对应的数据操作命令已响应完毕,则将该冲突节点从现有二叉树中删除,得到变更后的二叉树,然后按照二叉树构造规则,将上述目标链表中保存的节点迁移至变更后的二叉树。
相应的,本发明实施例还公开了一种逻辑地址范围冲突监控系统,应用于固态硬盘,参见图7所示,该系统包括:
命令获取模块11,用于获取主机端发送的数据操作命令;
地址提取模块12,用于提取每个数据操作命令所对应的逻辑地址范围;
地址抽象模块13,用于将地址提取模块13提取到的逻辑地址范围抽象成节点,以得到相应的新节点;
二叉树构造模块14,用于按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作,若添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,若添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
具体的,上述二叉树构造模块所使用的二叉树构造规则,可以包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点;若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
其中,在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的左分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的右分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
进一步的,本发明实施例中的逻辑地址范围冲突监控系统,还可以包括节点保存模块、优先响应模块、节点剔除模块和节点迁移模块;其中,
节点保存模块,用于当新节点添加失败,则将新节点保存至与冲突节点对应的目标链表中;
优先响应模块,用于对冲突节点对应的数据操作命令进行优先响应;
节点剔除模块,用于当冲突节点所对应的数据操作命令已响应完毕,则将该冲突节点从现有二叉树中删除,得到变更后的二叉树;
节点迁移模块,用于按照二叉树构造规则,将目标链表中保存的节点迁移至变更后的二叉树。
另外,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本发明实施例在获取到主机端发送的数据操作命令之后,将会提取出每个数据操作命令所对应的逻辑地址范围,然后将提取到的逻辑地址范围抽象成节点,然后按照预先基于逻辑地址大小顺序来设定得到的二叉树构造规则,尝试将上述经过抽象后得到的节点添加至当前现有二叉树中,如果能够添加成功,则可直接判定上述节点与现有二叉树中的节点之间不存在逻辑地址范围冲突,如果添加失败,则可直接判定上述节点与现有二叉树中的节点之间存在逻辑地址范围冲突,由上可见,本发明实施例将数据操作命令所对应的逻辑地址范围抽象成节点,然后根据该节点是否能够按照预设的规则添加至现有二叉树中,便可快速地完成逻辑地址范围冲突检测,也即,本发明实施例提高了逻辑地址访问冲突检测过程中的检测效率。
进一步的,本发明还公开了一种固态硬盘,包括前述公开的逻辑地址范围冲突监控系统。关于该系统的具体构造可以参考前述实施例中公开的相应内容,在此不再进行赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种固态硬盘及其逻辑地址范围冲突监控方法、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种逻辑地址范围冲突监控方法,其特征在于,应用于固态硬盘,包括:
获取主机端发送的数据操作命令;
提取每个数据操作命令所对应的逻辑地址范围,并将提取到的逻辑地址范围抽象成节点,以得到相应的新节点;
按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作,若添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,若添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
2.根据权利要求1所述的逻辑地址范围冲突监控方法,其特征在于,所述主机端发送的数据操作命令包括读取命令和/或写入命令。
3.根据权利要求1所述的逻辑地址范围冲突监控方法,其特征在于,所述二叉树构造规则包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点;
若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
其中,在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的左分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的右分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
4.根据权利要求1所述的逻辑地址范围冲突监控方法,其特征在于,所述二叉树构造规则包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点;
若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
其中,在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的右分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的左分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
5.根据权利要求3或4所述的逻辑地址范围冲突监控方法,其特征在于,还包括:
若新节点添加失败,则将新节点保存至与冲突节点对应的目标链表中。
6.根据权利要求5所述的逻辑地址范围冲突监控方法,其特征在于,还包括:
若新节点添加失败,则对冲突节点对应的数据操作命令进行优先响应;
若冲突节点所对应的数据操作命令已响应完毕,则将该冲突节点从现有二叉树中删除,得到变更后的二叉树,然后按照所述二叉树构造规则,将所述目标链表中保存的节点迁移至变更后的二叉树。
7.一种逻辑地址范围冲突监控系统,其特征在于,应用于固态硬盘,包括:
命令获取模块,用于获取主机端发送的数据操作命令;
地址提取模块,用于提取每个数据操作命令所对应的逻辑地址范围;
地址抽象模块,用于将所述地址提取模块提取到的逻辑地址范围抽象成节点,以得到相应的新节点;
二叉树构造模块,用于按照预先基于逻辑地址大小顺序设定的二叉树构造规则,将新节点向当前的现有二叉树中进行添加操作,若添加失败,则判定该新节点与现有二叉树中的节点之间存在逻辑地址范围冲突,若添加成功,则判定该新节点与现有二叉树中的节点之间不存在逻辑地址范围冲突。
8.根据权利要求7所述的逻辑地址范围冲突监控系统,其特征在于,所述二叉树构造模块所使用的二叉树构造规则,具体包括:
若现有二叉树中的根节点还未存在,则将新节点确定为根节点;
若现有二叉树中的根节点已经存在,则按照节点深度由浅至深的顺序,将新节点分别与现有二叉树中的节点进行依次比较,以试图从现有二叉树中确定出适合新节点的添加位置;
其中,在将新节点与现有二叉树中的任一节点进行比较的过程中,若新节点的逻辑结束地址小于该节点的逻辑起始地址,则判定该节点的左分支为新节点的潜在添加区域,若新节点的逻辑起始地址大于该节点的逻辑结束地址,则判定该节点的右分支为新节点的潜在添加区域,否则,将该节点确定为新节点对应的冲突节点,并判定新节点添加失败。
9.根据权利要求8所述的逻辑地址范围冲突监控系统,其特征在于,还包括:
节点保存模块,用于当新节点添加失败,则将新节点保存至与冲突节点对应的目标链表中;
优先响应模块,用于对冲突节点对应的数据操作命令进行优先响应;
节点剔除模块,用于当冲突节点所对应的数据操作命令已响应完毕,则将该冲突节点从现有二叉树中删除,得到变更后的二叉树;
节点迁移模块,用于按照所述二叉树构造规则,将所述目标链表中保存的节点迁移至变更后的二叉树。
10.一种固态硬盘,其特征在于,包括如权利要求7至9任一项所述的逻辑地址范围冲突监控系统。
CN201611245562.8A 2016-12-29 2016-12-29 一种固态硬盘及其逻辑地址范围冲突监控方法、系统 Active CN106649131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611245562.8A CN106649131B (zh) 2016-12-29 2016-12-29 一种固态硬盘及其逻辑地址范围冲突监控方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611245562.8A CN106649131B (zh) 2016-12-29 2016-12-29 一种固态硬盘及其逻辑地址范围冲突监控方法、系统

Publications (2)

Publication Number Publication Date
CN106649131A true CN106649131A (zh) 2017-05-10
CN106649131B CN106649131B (zh) 2019-12-31

Family

ID=58835889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611245562.8A Active CN106649131B (zh) 2016-12-29 2016-12-29 一种固态硬盘及其逻辑地址范围冲突监控方法、系统

Country Status (1)

Country Link
CN (1) CN106649131B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831575A (zh) * 2019-04-16 2020-10-27 武汉海康存储技术有限公司 逻辑地址范围的存储方法、装置及存储设备
CN112527196A (zh) * 2020-12-07 2021-03-19 成都佰维存储科技有限公司 Cache读写方法、装置、计算机可读存储介质及电子设备
CN113138719A (zh) * 2021-04-29 2021-07-20 山东华芯半导体有限公司 一种实现ssd快速随机写并避免写重复的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039844A1 (en) * 1999-12-07 2004-02-26 Bonn David Wayne Automatically identifying subnetworks in a network
CN101452517A (zh) * 2008-12-29 2009-06-10 浙江大学 无线无源射频传感系统的防冲突数据传输方法
CN101452422A (zh) * 2007-11-29 2009-06-10 大唐移动通信设备有限公司 一种芯片的数据读写方法、相应装置和系统
CN102811227A (zh) * 2012-08-30 2012-12-05 重庆大学 IPsec协议下标准方式ACL规则的一种管理机制
CN103345472A (zh) * 2013-06-04 2013-10-09 北京航空航天大学 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法
CN104240747A (zh) * 2013-06-07 2014-12-24 炬力集成电路设计有限公司 一种多媒体数据获取的方法及装置
CN105808155A (zh) * 2014-12-31 2016-07-27 北京神州云科数据技术有限公司 基于双控制器的读写锁方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039844A1 (en) * 1999-12-07 2004-02-26 Bonn David Wayne Automatically identifying subnetworks in a network
CN101452422A (zh) * 2007-11-29 2009-06-10 大唐移动通信设备有限公司 一种芯片的数据读写方法、相应装置和系统
CN101452517A (zh) * 2008-12-29 2009-06-10 浙江大学 无线无源射频传感系统的防冲突数据传输方法
CN102811227A (zh) * 2012-08-30 2012-12-05 重庆大学 IPsec协议下标准方式ACL规则的一种管理机制
CN103345472A (zh) * 2013-06-04 2013-10-09 北京航空航天大学 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法
CN104240747A (zh) * 2013-06-07 2014-12-24 炬力集成电路设计有限公司 一种多媒体数据获取的方法及装置
CN105808155A (zh) * 2014-12-31 2016-07-27 北京神州云科数据技术有限公司 基于双控制器的读写锁方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831575A (zh) * 2019-04-16 2020-10-27 武汉海康存储技术有限公司 逻辑地址范围的存储方法、装置及存储设备
CN112527196A (zh) * 2020-12-07 2021-03-19 成都佰维存储科技有限公司 Cache读写方法、装置、计算机可读存储介质及电子设备
CN112527196B (zh) * 2020-12-07 2023-02-14 成都佰维存储科技有限公司 Cache读写方法、装置、计算机可读存储介质及电子设备
CN113138719A (zh) * 2021-04-29 2021-07-20 山东华芯半导体有限公司 一种实现ssd快速随机写并避免写重复的方法
CN113138719B (zh) * 2021-04-29 2022-11-01 山东华芯半导体有限公司 一种实现ssd快速随机写并避免写重复的方法

Also Published As

Publication number Publication date
CN106649131B (zh) 2019-12-31

Similar Documents

Publication Publication Date Title
KR102541458B1 (ko) 불휘발성 메모리 장치에서의 데이터 특성 기반 데이터 배치
US9292217B2 (en) Logical volume space sharing
CN105677258A (zh) 一种日志数据管理方法及系统
WO2017113888A1 (zh) 数据写入装置及方法
CN107784108A (zh) 一种数据存储管理方法、装置及设备
US8832492B1 (en) Systems and methods for managing applications
CN106649131A (zh) 一种固态硬盘及其逻辑地址范围冲突监控方法、系统
CN108431783A (zh) 访问请求处理方法、装置及计算机系统
CN104423894A (zh) 数据储存装置以及快闪存储器控制方法
US10901621B2 (en) Dual-level storage device reservation
CN103744875B (zh) 基于文件系统的数据快速迁移方法及系统
CN108241632A (zh) 一种面向数据库数据迁移的数据验证方法
CN103500146A (zh) 虚拟机磁盘存储数据迁移方法和系统
US20170160940A1 (en) Data processing method and apparatus of solid state disk
CN106897119B (zh) 一种虚拟化平台中磁盘树优化方法及系统
CN107957852A (zh) 一种提升固态硬盘性能一致性的方法
CN111414228B (zh) 基于Kubernetes的管理存储空间的方法和相关装置
CN103605617A (zh) 一种记录存储数据发生变化的方法及装置
CN104461384A (zh) 一种数据写入方法及存储设备
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
CN108431784A (zh) 访问请求处理方法、装置及计算机系统
KR20210076828A (ko) 키-값 장치 및 이의 블록 인터페이스 에뮬레이션 방법
CN103942301A (zh) 一种面向多数据类型访问应用的分布式文件系统
CN102841894A (zh) 一种文件分配表的数据存储方法
CN107430546A (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
TA01 Transfer of patent application right

Effective date of registration: 20191125

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: Suzhou Wave Intelligent Technology Co., Ltd.

Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: Zhengzhou Yunhai Information Technology Co. Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant