CN111240601B - 一种分区空间的超级块确定方法、装置、设备及存储介质 - Google Patents
一种分区空间的超级块确定方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111240601B CN111240601B CN202010059008.0A CN202010059008A CN111240601B CN 111240601 B CN111240601 B CN 111240601B CN 202010059008 A CN202010059008 A CN 202010059008A CN 111240601 B CN111240601 B CN 111240601B
- Authority
- CN
- China
- Prior art keywords
- partition
- logic
- host
- logical
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000005192 partition Methods 0.000 claims abstract description 258
- 238000013507 mapping Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分区空间的超级块确定方法,包括:根据写请求中携带的逻辑地址,从主机的主机分区空间中确定与写请求对应的第一逻辑分区;若不存在与第一逻辑分区对应的映射信息,则为第一逻辑分区分配对应的超级块,并存储第一逻辑分区与超级块的映射关系,以根据分配的超级块响应写请求。可见,本方案不需要预先为主机分区空间的每个逻辑分区分配对应的超级块,只需要在接收到写请求后,再向该写请求对应的逻辑分区分配对应的超级块,这样即可保证所有主机分区空间都有对应的超级块,还可以在没有写满主机分区空间的情况下,不浪费超级块。本发明还公开了一种分区空间的超级块确定装置、设备及存储介质,同样能实现上述技术效果。
Description
技术领域
本发明涉及数据存储技术领域,更具体地说,涉及一种分区空间的超级块确定方法、装置、设备及计算机可读存储介质。
背景技术
SSD(Solid State Drive,固态驱动器)内部固件会根据nand的相关特性组织和使用super block(超级块,SSD盘内部一种组织数据的单位数据块单位)。ZNS(ZonedNamespace)是基于逻辑zone(逻辑分区)大小的管理空间的一种NVMe协议的新特性,ZNS下的单位空间为逻辑zone,一般将一个super block大小的空间定义为一个逻辑zone,并将主机空间HOST zone对应的zone大小定义为n个逻辑zone,即:HOST zone由n个不同的逻辑zone组成。开始对某个逻辑zone进行写入之前,需要预先建立逻辑zone和super block的映射关系,挑选super block是固件内部的一种策略机制。当host zone等于一个逻辑zone时,管理相对简单,建立host zone、逻辑zone和super block的一一对应关系即可;但是在hostzone为n个逻辑zone大小时,如果预先建立逻辑zone和super block的一一对应关系而不使用,就会造成super block的浪费。
发明内容
本发明的目的在于提供一种分区空间的超级块确定方法、装置、设备及计算机可读存储介质,以保证所有主机分区空间都有对应的超级块,并在没有写满主机分区空间的情况下,不浪费超级块。
为实现上述目的,本发明提供一种分区空间的超级块确定方法,包括:
若检测到主机的写请求,则根据所述写请求中携带的逻辑地址,从所述主机的主机分区空间中确定与所述写请求对应的第一逻辑分区;
判断是否存在与所述第一逻辑分区对应的映射信息;
若不存在,则为所述第一逻辑分区分配对应的超级块,并存储所述第一逻辑分区与所述超级块的映射关系,以根据分配的所述超级块响应所述写请求。
可选的,本方案还包括:
接收主机发送的读请求;
根据所述读请求携带的逻辑地址,从所述主机分区空间中确定与所述读请求对应的第二逻辑分区;
查找与所述第二逻辑分区对应的分区信息;所述分区信息包括第二逻辑分区与超级块的映射关系,所述超级块的数据已写入逻辑地址,以及所述第二逻辑分区的存储状态;
利用所述分区信息判断所述读请求是否为有效请求;
若是,则响应所述读请求。
可选的,所述利用所述分区信息判断所述读请求是否为有效请求,包括:
判断所述第二逻辑分区的存储状态是否为Empty状态;
若是,则判定所述读请求为无效请求;若否,则判断所述读请求携带的逻辑地址是否不大于所述数据已写入逻辑地址;
若不大于所述数据已写入逻辑地址,则判定所述读请求为有效请求;若大于所述数据已写入逻辑地址,则判定所述读请求为无效请求。
可选的,所述根据所述写请求中携带的逻辑地址,从所述主机的主机分区空间中确定与所述写请求对应的第一逻辑分区,包括:
确定所述主机分区空间中每个逻辑分区的逻辑地址范围;
检测所述写请求的逻辑地址所落入的第一逻辑地址范围,并将与所述第一逻辑地址范围对应的逻辑分区作为第一逻辑分区。
相应的,所述根据所述读请求携带的逻辑地址,从所述主机分区空间中确定与所述读请求对应的第二逻辑分区,包括:
确定所述主机分区空间中每个逻辑分区的逻辑地址范围;
检测所述读请求的逻辑地址所落入的第二逻辑地址范围,并将与所述第二逻辑地址范围对应的逻辑分区作为第二逻辑分区。
可选的,本方案还包括:
若检测到所述主机分区空间的存储状态为Full状态,则判断所述主机分区空间内的逻辑分区是否均已分配对应的超级块;
若否,则将已分配超级块的逻辑分区置为Full状态,将未分配超级块的逻辑分区置为Empty状态;
若是,则将所有逻辑分区均置为Full状态。
为实现上述目的,本发明进一步提供一种分区空间的超级块确定装置,包括:
第一确定模块,用于检测到主机的写请求时,根据所述写请求中携带的逻辑地址,从所述主机的主机分区空间中确定与所述写请求对应的第一逻辑分区;
第一判断模块,用于判断是否存在与所述第一逻辑分区对应的映射信息;
分配模块,用于不存在与所述第一逻辑分区对应的映射信息时,为所述第一逻辑分区分配对应的超级块,并存储所述第一逻辑分区与所述超级块的映射关系,以根据分配的所述超级块响应所述写请求。
可选的,本方案还包括:
接收模块,用于接收主机发送的读请求;
第二确定模块,用于根据所述读请求携带的逻辑地址,从所述主机分区空间中确定与所述读请求对应的第二逻辑分区;
查找模块,用于查找与所述第二逻辑分区对应的分区信息;所述分区信息包括第二逻辑分区与超级块的映射关系,所述超级块的数据已写入逻辑地址,以及所述第二逻辑分区的存储状态;
第二判断模块,用于利用所述分区信息判断所述读请求是否为有效请求;
执行模块,用于利用所述分区信息判断所述读请求为有效请求时,响应所述读请求。
可选的,本方案还包括:
第三判断模块,用于在检测到所述主机分区空间的存储状态为Full状态时,判断所述主机分区空间内的逻辑分区是否均已分配对应的超级块;
第一设置模块,用于在所述主机分区空间内的逻辑分区均已分配对应的超级块时,将已分配超级块的逻辑分区置为Full状态,将未分配超级块的逻辑分区置为Empty状态;
第二设置模块,用于在所述主机分区空间内的逻辑分区未均分配对应的超级块时,将所有逻辑分区均置为Full状态。
为实现上述目的,本发明进一步提供一种分区空间的超级块确定设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述的分区空间的超级块确定方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的分区空间的超级块确定方法的步骤。
通过以上方案可知,本发明实施例提供的一种分区空间的超级块确定方法,包括:若检测到主机的写请求,则根据所述写请求中携带的逻辑地址,从所述主机的主机分区空间中确定与所述写请求对应的第一逻辑分区;判断是否存在与所述第一逻辑分区对应的映射信息;若不存在,则为所述第一逻辑分区分配对应的超级块,并存储所述第一逻辑分区与所述超级块的映射关系,以根据分配的所述超级块响应所述写请求。
可以看出,在本方案中,不需要预先为主机分区空间的每个逻辑分区分配对应的超级块,只需要在接收到写请求后,再向该写请求对应的逻辑分区分配对应的超级块,这样即可保证所有主机分区空间都有对应的超级块,还可以在没有写满主机分区空间的情况下,不浪费超级块。
本发明还公开了一种分区空间的超级块确定装置、设备及计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种分区空间的超级块确定方法流程示意图;
图2为本发明实施例公开的主机分区空间与逻辑分区对应示意图;
图3为本发明实施例公开的一种分区空间的超级块确定装置结构示意图;
图4为本发明实施例公开的一种分区空间的超级块确定设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种分区空间的超级块确定方法、装置、设备及计算机可读存储介质,以保证所有主机分区空间都有对应的超级块,并在没有写满主机分区空间的情况下,不浪费超级块。
参见图1,本发明实施例提供的一种分区空间的超级块确定方法流程示意图;具体来说,该方法可以包括:
S101、若检测到主机的写请求,则根据所述写请求中携带的逻辑地址,从主机的主机分区空间中确定与写请求对应的第一逻辑分区;
可以理解的是,与主机对应的主机分区空间(host zone)可以对应n个逻辑分区(逻辑zone),每个逻辑zone和唯一一个超级块(super block)对应;用户设置主机分区空间host zone的大小后,可以根据host zone的大小确定逻辑zone的数量,Host zone越大,对应分配的逻辑zone就越多,现有方案中,每个逻辑zone都有对应的super block,如果预先建立逻辑zone和super block的一一对应关系而不使用,就是对super block资源的浪费,并且,若为用户分配一个主机分区空间后,如果用户写不满该主机分区空间就关掉,而剩余空间已经分配了对应的super block,那么该super block就会被浪费。
因此在本申请中,在硬盘内部只会记录每个host zone的起始逻辑zone和逻辑zone个数,在主机没有进行写行为时,逻辑zone和super block没有建立联系,即:主机分区空间同样可以对应n个逻辑zone,但是对于逻辑zone,在没有实际写入时,就不分配对应的super block,这样就不会有实际的super block减少,从而避免了super block的浪费。
需要说明的是,本方案接收到写请求后,会根据该写请求中携带的逻辑地址确定与该写请求对应的第一逻辑分区,该过程具体包括:确定主机分区空间中每个逻辑分区的逻辑地址范围;检测写请求的逻辑地址所落入的第一逻辑地址范围,并将与第一逻辑地址范围对应的逻辑分区作为第一逻辑分区。
参见图2,为本申请提供的主机分区空间与逻辑分区对应示意图;通过该图可以看出,存在n个主机分区空间,而每个主机分区空间又与两个逻辑zone相对应,例如:与主机分区空间host zone0对应的两个逻辑分区为:逻辑zone0和逻辑zone1,与主机分区空间hostzone1对应的两个逻辑分区为:逻辑zone2和逻辑zone3。如果接收到主机下发的写请求,该写请求中携带了逻辑地址,根据该逻辑地址以及每个逻辑分区的逻辑地址范围,便可确定该逻辑地址落入了哪个逻辑分区,从而确定该写请求对应的逻辑分区。
例如:假设每个逻辑zone大小为50,host zone由两个逻辑zone大小组成,那么host zone 0代表的Lba(Logical Block Address,逻辑区块地址:主机组织写数据的一种单位空间,在本专利中以4k为一个lba大小)范围为0~99,host zone1的lba范围为100~199,每个host zone内的逻辑zone平分lba,即:host zone 0的lba范围为0~99,则逻辑zone0的逻辑地址范围为0~49,逻辑zone1的逻辑地址范围为50~99,host zone 1的lba范围为100~199,则逻辑zone2的逻辑地址范围为100~149,逻辑zone3的逻辑地址范围为150~199。如果此时下发的写请求中的逻辑地址lba为103,那么根据上述各逻辑地址范围可以看出,写请求中的逻辑地址落入逻辑zone2的逻辑地址范围,也就是说,与该写请求对应的第一逻辑分区为:host zone 1的逻辑zone2。
S102、判断是否存在与第一逻辑分区对应的映射信息;若存在,则执行S103;若不存在,则执行S104;
S103、根据第一逻辑分区的映射信息确定对应的超级块,并响应写请求;
需要说明的是,由于该第一逻辑分区之前可能存在已分配的super block,为避免对同一逻辑zone的重复分配,在本方案中,从主机的主机分区空间中确定与写请求对应的第一逻辑分区之后,还可以包括:判断是否存在与第一逻辑分区对应的映射信息;若不存在,则继续执行S104,若存在,则直接读取与该第一逻辑分区对应的映射信息,确定与该第一逻辑分区具有映射关系的super block,并申请一个物理地址后发起写入,由于响应写请求的方案为现有方案中通用的技术,在此便不对响应写请求的过程具体描述。
S104、为所述第一逻辑分区分配对应的超级块,并存储所述第一逻辑分区与所述超级块的映射关系,以根据分配的所述超级块响应所述写请求。
可以理解的是,当主机下发对任意逻辑地址(如:lba0~(lba0+100))的写行为后,需要计算出该主机的host zone所对应的逻辑zone,在第一次写时,会根据策略挑选一个super block给当前逻辑zone,并将该映射关系zone info信息写入到DDR中,为了下次I/O查询到对应super block;并且,由于ZNS协议只支持顺序写,所以如果没有写完逻辑zone_0的情况下,不会切换到逻辑zone_1,那么逻辑zone_1就不用提前建立和super block的对应关系,那么此时就不会浪费super block资源。
需要说明的是,在本方案中,若检测到主机分区空间的存储状态为Full状态,这时在设置逻辑分区的存储状态时,具体可以通过如下方式设置:判断主机分区空间内的逻辑分区是否均已分配对应的超级块;若否,则将已分配超级块的逻辑分区置为Full状态,将未分配超级块的逻辑分区置为Empty状态;若是,则将逻辑分区均置为Full状态。也就是说,如果此时当前HOST zone被置为full状态,此时仅仅为逻辑zone0分配了超级块,未向逻辑zone1分配超级块,这时,只需要将zone_0置为full即可,无需关心zone_1,因为还没有使用zone_1,当前处于empty状态。
综上可以看出,本发明提出的这种调整host zone大小的方法,只有在对逻辑zone执行写操作时,才会向其分配对应的super block,不但能够减少固件内部super block的使用浪费情况,还为后台数据搬移、垃圾回收等提供了足够的super block,提高了算法处理效率。
基于上述实施例,在本实施例中,如果接收到主机发送的读请求,则本方案还包括如下步骤:
步骤一:根据所述读请求携带的逻辑地址,从所述主机分区空间中确定与所述读请求对应的第二逻辑分区;
其中,在本方案中,根据读请求携带的逻辑地址确定第二逻辑分区的方式与根据写请求携带的逻辑地址确定第一逻辑分区的方式相同,即:确定主机分区空间中每个逻辑分区的逻辑地址范围;检测读请求的逻辑地址所落入的第二逻辑地址范围,并将与第二逻辑地址范围对应的逻辑分区作为第二逻辑分区。
步骤二:查找与所述第二逻辑分区对应的分区信息;所述分区信息包括第二逻辑分区与超级块的映射关系,所述超级块的数据已写入逻辑地址,以及所述第二逻辑分区的存储状态;
步骤三:利用所述分区信息判断所述读请求是否为有效请求;若是,则响应所述读请求。
其中,本方案利用分区信息判断读请求是否为有效请求的过程,具体包括:判断第二逻辑分区的存储状态是否为Empty状态;若是,则判定读请求为无效请求;若否,则判断读请求携带的逻辑地址是否不大于数据已写入逻辑地址;若不大于数据已写入逻辑地址,则判定读请求为有效请求;若大于数据已写入逻辑地址,则判定读请求为无效请求。
需要说明的是,本方案中的每个逻辑分区均有对应的分区信息,该分区信息包括逻辑分区与超级块的映射关系,超级块中数据已写入逻辑地址(可用write point表示),以及逻辑分区的存储状态(Full状态或Empty状态);在发生读请求时,会根据读请求read的逻辑地址lba,计算得到HOST zone对应的逻辑zone,直接读取该逻辑zone的分区信息,检查待读取lba是否为有效地址,具体来说:分区信息中的数据已写入逻辑地址反应了当前zone已写到了哪个lba,该位置可用write point表示,如果待读取lba<=write point,就表示有效,并且,如果若分区信息中记录当前逻辑zone的状态为empty,则直接判定为无效读请求,在判定读请求中的逻辑地址不是有效地址后,需要直接向主机返回读取结果为空,在判定读请求中的逻辑地址为有效地址,则根据待读取lba计算得到物理地址并响应读请求。
综上可以看出,本方案不需要预先为主机分区空间的每个逻辑分区分配对应的超级块,只需要在接收到写请求后,再向该写请求对应的逻辑分区分配对应的超级块,这样即可保证所有主机分区空间都有对应的超级块,还可以在没有写满主机分区空间的情况下,不浪费超级块,而且,本方案能复用一套固件读写处理流程,简化了算法难度。
下面对本发明实施例提供的确定装置进行介绍,下文描述的确定装置与上文描述的确定方法可以相互参照。
参见图3,本发明实施例提供的一种分区空间的超级块确定装置结构示意图;该装置包括:
第一确定模块100,用于检测到主机的写请求时,根据所述写请求中携带的逻辑地址,从所述主机的主机分区空间中确定与所述写请求对应的第一逻辑分区;
第一判断模块200,用于判断是否存在与所述第一逻辑分区对应的映射信息;
分配模块300,用于不存在与所述第一逻辑分区对应的映射信息时,为所述第一逻辑分区分配对应的超级块,并存储所述第一逻辑分区与所述超级块的映射关系,以根据分配的所述超级块响应所述写请求。
其中,本方案还包括:
接收模块,用于接收主机发送的读请求;
第二确定模块,用于根据所述读请求携带的逻辑地址,从所述主机分区空间中确定与所述读请求对应的第二逻辑分区;
查找模块,用于查找与所述第二逻辑分区对应的分区信息;所述分区信息包括第二逻辑分区与超级块的映射关系,所述超级块的数据已写入逻辑地址,以及所述第二逻辑分区的存储状态;
第二判断模块,用于利用所述分区信息判断所述读请求是否为有效请求;
执行模块,用于利用所述分区信息判断所述读请求为有效请求时,响应所述读请求。
其中,本方案还包括:
第三判断模块,用于在检测到所述主机分区空间的存储状态为Full状态时,判断所述主机分区空间内的逻辑分区是否均已分配对应的超级块;
第一设置模块,用于在所述主机分区空间内的逻辑分区均已分配对应的超级块时,将已分配超级块的逻辑分区置为Full状态,将未分配超级块的逻辑分区置为Empty状态;
第二设置模块,用于在所述主机分区空间内的逻辑分区未均分配对应的超级块时,将所有逻辑分区均置为Full状态。
其中,第二判断模块,包括:
第一判断单元,用于判断所述第二逻辑分区的存储状态是否为Empty状态;
第一判定单元,用于在所述第二逻辑分区的存储状态为Empty状态时,判定所述读请求为无效请求;
第二判断单元,用于在所述第二逻辑分区的存储状态不为Empty状态时,判断所述读请求携带的逻辑地址是否不大于所述数据已写入逻辑地址;
第二判定单元,用于在所述读请求携带的逻辑地址不大于所述数据已写入逻辑地址时,判定所述读请求为有效请求;
第三判定单元,用于在所述读请求携带的逻辑地址大于所述数据已写入逻辑地址,则判定所述读请求为无效请求。
其中,所述第一确定模块具体用于:确定所述主机分区空间中每个逻辑分区的逻辑地址范围;检测所述写请求的逻辑地址所落入的第一逻辑地址范围,并将与所述第一逻辑地址范围对应的逻辑分区作为第一逻辑分区。
相应的,所述第二确定模块具体用于:确定所述主机分区空间中每个逻辑分区的逻辑地址范围;检测所述读请求的逻辑地址所落入的第二逻辑地址范围,并将与所述第二逻辑地址范围对应的逻辑分区作为第二逻辑分区。
参见图4,本发明实施例还公开了一种分区空间的超级块确定设备结构示意图;该设备具体包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现如上述任意方法实施例所述的分区空间的超级块确定方法的步骤。
在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行确定方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行确定方法的程序代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-14的设备,本领域技术人员可以理解的是,图4示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意方法实施例所述的分区空间的超级块确定方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种分区空间的超级块确定方法,其特征在于,包括:
若检测到主机的写请求,则根据所述写请求中携带的逻辑地址,从所述主机的主机分区空间中确定与所述写请求对应的第一逻辑分区;
判断是否存在与所述第一逻辑分区对应的映射信息;
若不存在,则为所述第一逻辑分区分配对应的超级块,并存储所述第一逻辑分区与所述超级块的映射关系,以根据分配的所述超级块响应所述写请求;
其中,若检测到所述主机分区空间的存储状态为Full状态,则判断所述主机分区空间内的逻辑分区是否均已分配对应的超级块;
若否,则将已分配超级块的逻辑分区置为Full状态,将未分配超级块的逻辑分区置为Empty状态;
若是,则将所有逻辑分区均置为Full状态。
2.根据权利要求1所述的超级块确定方法,其特征在于,还包括:
接收主机发送的读请求;
根据所述读请求携带的逻辑地址,从所述主机分区空间中确定与所述读请求对应的第二逻辑分区;
查找与所述第二逻辑分区对应的分区信息;所述分区信息包括第二逻辑分区与超级块的映射关系,所述超级块的数据已写入逻辑地址,以及所述第二逻辑分区的存储状态;
利用所述分区信息判断所述读请求是否为有效请求;
若是,则响应所述读请求。
3.根据权利要求2所述的超级块确定方法,其特征在于,所述利用所述分区信息判断所述读请求是否为有效请求,包括:
判断所述第二逻辑分区的存储状态是否为Empty状态;
若是,则判定所述读请求为无效请求;若否,则判断所述读请求携带的逻辑地址是否不大于所述数据已写入逻辑地址;
若不大于所述数据已写入逻辑地址,则判定所述读请求为有效请求;若大于所述数据已写入逻辑地址,则判定所述读请求为无效请求。
4.根据权利要求2所述的超级块确定方法,其特征在于,所述根据所述写请求中携带的逻辑地址,从所述主机的主机分区空间中确定与所述写请求对应的第一逻辑分区,包括:
确定所述主机分区空间中每个逻辑分区的逻辑地址范围;
检测所述写请求的逻辑地址所落入的第一逻辑地址范围,并将与所述第一逻辑地址范围对应的逻辑分区作为第一逻辑分区;
相应的,所述根据所述读请求携带的逻辑地址,从所述主机分区空间中确定与所述读请求对应的第二逻辑分区,包括:
确定所述主机分区空间中每个逻辑分区的逻辑地址范围;
检测所述读请求的逻辑地址所落入的第二逻辑地址范围,并将与所述第二逻辑地址范围对应的逻辑分区作为第二逻辑分区。
5.一种分区空间的超级块确定装置,其特征在于,包括:
第一确定模块,用于检测到主机的写请求时,根据所述写请求中携带的逻辑地址,从所述主机的主机分区空间中确定与所述写请求对应的第一逻辑分区;
第一判断模块,用于判断是否存在与所述第一逻辑分区对应的映射信息;
分配模块,用于不存在与所述第一逻辑分区对应的映射信息时,为所述第一逻辑分区分配对应的超级块,并存储所述第一逻辑分区与所述超级块的映射关系,以根据分配的所述超级块响应所述写请求;
第三判断模块,用于在检测到所述主机分区空间的存储状态为Full状态时,判断所述主机分区空间内的逻辑分区是否均已分配对应的超级块;
第一设置模块,用于在所述主机分区空间内的逻辑分区均已分配对应的超级块时,将已分配超级块的逻辑分区置为Full状态,将未分配超级块的逻辑分区置为Empty状态;
第二设置模块,用于在所述主机分区空间内的逻辑分区未均分配对应的超级块时,将所有逻辑分区均置为Full状态。
6.根据权利要求5所述的超级块确定装置,其特征在于,还包括:
接收模块,用于接收主机发送的读请求;
第二确定模块,用于根据所述读请求携带的逻辑地址,从所述主机分区空间中确定与所述读请求对应的第二逻辑分区;
查找模块,用于查找与所述第二逻辑分区对应的分区信息;所述分区信息包括第二逻辑分区与超级块的映射关系,所述超级块的数据已写入逻辑地址,以及所述第二逻辑分区的存储状态;
第二判断模块,用于利用所述分区信息判断所述读请求是否为有效请求;
执行模块,用于利用所述分区信息判断所述读请求为有效请求时,响应所述读请求。
7.一种分区空间的超级块确定设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的分区空间的超级块确定方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的分区空间的超级块确定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010059008.0A CN111240601B (zh) | 2020-01-19 | 2020-01-19 | 一种分区空间的超级块确定方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010059008.0A CN111240601B (zh) | 2020-01-19 | 2020-01-19 | 一种分区空间的超级块确定方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111240601A CN111240601A (zh) | 2020-06-05 |
CN111240601B true CN111240601B (zh) | 2022-07-22 |
Family
ID=70864080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010059008.0A Active CN111240601B (zh) | 2020-01-19 | 2020-01-19 | 一种分区空间的超级块确定方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111240601B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559193A (zh) * | 2020-12-31 | 2021-03-26 | 山东华芯半导体有限公司 | 一种基于主机内存空间的区域信息表管理方法 |
US11537305B1 (en) | 2021-06-03 | 2022-12-27 | Western Digital Technologies, Inc. | Dissimilar write prioritization in ZNS devices |
US11537303B1 (en) | 2021-06-03 | 2022-12-27 | Western Digital Technologies, Inc. | Dissimilar write prioritization in ZNS devices |
US11853203B1 (en) | 2022-06-23 | 2023-12-26 | Western Digital Technologies, Inc. | Systems and methods with variable size super blocks in zoned namespace devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632944A (zh) * | 2017-09-22 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN110389907A (zh) * | 2018-04-18 | 2019-10-29 | 爱思开海力士有限公司 | 电子装置 |
-
2020
- 2020-01-19 CN CN202010059008.0A patent/CN111240601B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632944A (zh) * | 2017-09-22 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN110389907A (zh) * | 2018-04-18 | 2019-10-29 | 爱思开海力士有限公司 | 电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111240601A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240601B (zh) | 一种分区空间的超级块确定方法、装置、设备及存储介质 | |
JP2021108199A (ja) | メモリ機器のための拡張利用範囲 | |
CN110390979B (zh) | 存储器控制器和具有存储器控制器的存储器*** | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
US9569381B2 (en) | Scheduler for memory | |
TWI710905B (zh) | 資料儲存裝置及邏輯至物理位址映射表之載入方法 | |
CN114840450B (zh) | 一种存储空间整理方法及电子设备 | |
WO2022151985A1 (zh) | 基于虚拟内存的数据存储方法、装置、设备及存储介质 | |
KR102330394B1 (ko) | 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법 | |
US11226738B2 (en) | Electronic device and data compression method thereof | |
US11216383B2 (en) | Storage device providing a virtual memory region, electronic system including the same, and method of operating the same | |
US11144380B2 (en) | Memory controller and storage device including the same | |
CN102543184B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN115934002A (zh) | 固态硬盘的访问方法、固态硬盘、存储***及云服务器 | |
WO2016023276A1 (zh) | 一种存储卡的数据处理方法及装置 | |
CN107203332B (zh) | 数据储存装置、闪存控制器及其操作方法 | |
CN111881065B (zh) | 数据重删操作的物理地址处理方法、装置、设备及介质 | |
CN115543859A (zh) | 多分区ssd的磨损均衡优化方法、装置、设备及介质 | |
CN115469796A (zh) | 数据存储方法、装置、设备及存储介质 | |
TWI486966B (zh) | 快閃記憶體儲存裝置、其控制器與寫入管理方法 | |
CN113448487A (zh) | 写入闪存管理表的计算机可读取存储介质、方法及装置 | |
CN111158582A (zh) | 存储装置和电子装置 | |
US10923178B1 (en) | Data storage with improved write performance for preferred user data | |
CN113625953B (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 |