【技术实现步骤摘要】
一种数据写入方法及装置
本申请涉及存储
,特别涉及一种数据写入方法及装置。
技术介绍
快照是存储设备的一项重要功能。通过快照技术可为逻辑单元号(LogicalUnitNumber,LUN)创建快照时间点,以记录LUN在特定时刻的数据状态,通常将该LUN称为源LUN。利用源LUN的快照时间点,可将源LUN的数据快速恢复到该快照时间点对应时刻的状态。时间点快照LUN是基于源LUN的一个快照时间点建立的可读写的LUN资源,通过时间点快照LUN可读取该快照时间点创建时刻的源LUN的数据,以及写入该时间点快照LUN的数据。时间点快照LUN所存储的数据通常是按照预设粒度对齐的,当需要向时间点快照LUN中写入数据时,若待写入的数据的大小小于预设粒度,且待写入的数据对应的逻辑存储地址未存储数据,则需要从快照时间点对应的源LUN数据中读取数据,以补齐该待写入的数据相比预设粒度缺失的部分,再将补齐后的数据写入到时间点快照LUN中,以使时间点快照LUN最终存储的数据按照预设粒度对齐。而上述向时间点快照LUN写入数据的过程中,从源LUN中读取数据这一操作影响了时间点快照LUN的写入性能。
技术实现思路
本申请提供了数据写入方法及装置,以提高时间点快照LUN的写入性能。本申请提供的技术方案包括:第一方面,本申请提供一种数据写入方法,包括:当接收到写请求时,按照预设粒度对所述写请求待写入的数据进行划分得到至少一个子数据块,并将各子数据块写入时间点快照LUN中对应的逻辑存储地址块; ...
【技术保护点】
1.一种数据写入方法,其特征在于,所述方法包括:/n当接收到写请求时,按照预设粒度对所述写请求待写入的数据进行划分得到至少一个子数据块,并将各子数据块写入时间点快照LUN中对应的逻辑存储地址块;所述子数据块对应的逻辑存储地址块是按照所述预设粒度对待写入的数据对应的逻辑存储地址进行划分得到的其中一个逻辑存储地址块;所述逻辑存储地址块与子数据块的数量相同;/n针对写入至所述时间点快照LUN中的每一子数据块,若该子数据块对应的逻辑存储地址块在写入该子数据块之前未存储数据,且该子数据块的大小小于所述预设粒度,则将该子数据块对应的逻辑存储地址块确定为目标逻辑存储地址块;/n依据所述时间点快照LUN对应的快照时间点查找到已记录的源LUN在所述快照时间点时的数据信息,所述数据信息至少包括数据以及存储数据的逻辑存储地址;从已记录的所述数据信息中读取所述目标逻辑存储地址块存储的目标数据,所述目标逻辑存储地址块中用于存储所述目标数据的目标逻辑存储地址在所述时间点快照LUN中未存储数据;将所述目标数据写入所述时间点快照LUN中的所述目标逻辑存储地址。/n
【技术特征摘要】
1.一种数据写入方法,其特征在于,所述方法包括:
当接收到写请求时,按照预设粒度对所述写请求待写入的数据进行划分得到至少一个子数据块,并将各子数据块写入时间点快照LUN中对应的逻辑存储地址块;所述子数据块对应的逻辑存储地址块是按照所述预设粒度对待写入的数据对应的逻辑存储地址进行划分得到的其中一个逻辑存储地址块;所述逻辑存储地址块与子数据块的数量相同;
针对写入至所述时间点快照LUN中的每一子数据块,若该子数据块对应的逻辑存储地址块在写入该子数据块之前未存储数据,且该子数据块的大小小于所述预设粒度,则将该子数据块对应的逻辑存储地址块确定为目标逻辑存储地址块;
依据所述时间点快照LUN对应的快照时间点查找到已记录的源LUN在所述快照时间点时的数据信息,所述数据信息至少包括数据以及存储数据的逻辑存储地址;从已记录的所述数据信息中读取所述目标逻辑存储地址块存储的目标数据,所述目标逻辑存储地址块中用于存储所述目标数据的目标逻辑存储地址在所述时间点快照LUN中未存储数据;将所述目标数据写入所述时间点快照LUN中的所述目标逻辑存储地址。
2.根据权利要求1所述的方法,其特征在于,时间点快照LUN当前记录有映射表,该映射表用于记录时间点快照LUN中的逻辑存储地址与物理存储地址的映射关系;
所述将各子数据块写入时间点快照LUN中对应的逻辑存储地址块,包括:
对于每一子数据块,检查所述映射表中是否存在与该子数据块对应的逻辑存储地址块具有映射关系的物理存储地址块,若是,则将所述子数据块写入所述物理存储地址块;若否,则为所述子数据块对应的逻辑存储地址块分配一个物理存储地址块,并将所述子数据块写入所述物理存储地址块。
3.根据权利要求2所述的方法,其特征在于,所述子数据块对应的逻辑存储地址块在写入该子数据块之前未存储数据,通过以下步骤确定:
针对每一子数据块,在将该子数据块写入对应的逻辑存储地址块之前,若时间点快照LUN记录的映射表中不存在与该逻辑存储地址块具有映射关系的物理存储地址块,则确定所述子数据块对应的逻辑存储地址块在写入该子数据块之前未存储数据。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
当接收到针对所述时间点快照LUN的读请求时,针对所述读请求携带的逻辑存储地址中的第一地址,第一地址是指与所述目标逻辑存储地址不存在重合的地址,若所述时间点快照LUN中的第一地址存储有数据,则从所述时间点快照LUN中读取所述第一地址存储的数据;若所述时间点快照LUN中的第一地址尚未存储数据,则从已记录的所述数据信息中读取所述第一地址存储的数据;
针对所述读请求携带的逻辑存储地址中的第二地址,第二地址是指与所述目标逻辑存储地址存在重合的地址,若所述时间点快照LUN中所述目标逻辑存储地址尚未存储数据,则从已记录的所述数据信息中读取所述目标逻辑存储地址存储的所述目标数据并写入所述时间点快照LUN中的所述目标逻辑存储地址,之后从所述时间点快照LUN中读取所述重合的地址存储的数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,将所述子数据块对应的逻辑存储地址块确定为目标逻辑存储地址块后,该方法进一步包括:为所述时间点快照LUN中的所述目标逻辑存储地址块设置对应的回读标记;
在将所述目标数据写入所述时间点快照LUN中的目标逻辑存储地址后,该方法进一步包括:清除为所述目标逻辑存储地址块设置的回读标记。
6.一种数据写入装置,其特征在于,所述装置包括:
写入单元,用于当接收到写请求时,按照预设粒...
【专利技术属性】
技术研发人员:龚飞,
申请(专利权)人:杭州宏杉科技股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。