[发明专利]一种存取实时并行处理的固态记录装置及方法有效

专利信息
申请号: 201510188733.7 申请日: 2015-04-20
公开(公告)号: CN104809075B 公开(公告)日: 2017-09-12
发明(设计)人: 孟劲松;高斌;刘群英;任文伟;田贵云 申请(专利权)人: 电子科技大学
主分类号: G06F12/02 分类号: G06F12/02;G06F3/06
代理公司: 成都行之专利代理事务所(普通合伙)51220 代理人: 温利平
地址: 611731 四川省成*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种存取实时并行处理固态记录装置及方法;存取实时并行处理固态记录装置包括存取并行处理固态记录系统控制卡、多个存取并行处理固态存储卡、单板机等单元;系统控制卡通过外设专用通信接口与采集、回放外设相连,通过多通道高速存取通信接口与一个以上的拥有四组独立闪存阵列及其控制器的固态存储卡相连,在采集、回放外设和固态存储卡上的任意2组闪存阵列间建立读、写二条独立数据链路,闪存阵列控制器执行多级流水线读/写操作;存取并行处理固态记录方法,记录、回放操作全硬线并行处理,采用均衡写和地址二次映射策略,加速LBA到PBA的转换;这种存取实时并行处理固态记录装置与方法达到数据记录与回放同时高速进行的目的。
搜索关键词: 一种 存取 实时 并行 处理 固态 记录 装置 方法
【主权项】:
一种利用固态记录装置进行存取实时并行处理的方法,其特征在于,包括以下步骤:(1)、系统参数加载,寄存器初始化上电后,单板机上的管理软件从系统控制卡、固态存储卡的配置存储器获得配置参数,配置到系统控制卡的相应寄存器,初始化系统控制卡的LA/LBA生成器、固态存储卡的四通道写次数寄存器组,如果需要执行坏块检测与块擦除处理,执行步骤(2),如果不需要,执行步骤(4);(2)、固态存储卡进行坏块检测处理2.1)、管理软件对每个固态存储卡进行坏块检测,获得每个固态存储卡的坏块列表,生成坏块列表文件,如果不需要执行擦除操作,执行步骤2.3),如果需要执行擦除操作,执行步骤2.2);2.2)、管理软件对需要擦除的固态存储卡上各晶元的块执行擦除操作,如果某块的擦除操作失败,在该块的第一页的备用区建立坏块标记,如果所有需要执行擦除操作的固态存储卡的擦除操作完成,返回执行步骤2.1);2.3)、根据固态存储卡的坏块列表文件,获得各晶元每个plane中的有效块数,如果单个晶元中的有效块数小于最小标称有效块数Valid Block Number,NVB,则需要更换闪存,操作结束;如果不是,确定出固态存储卡的有效块数,计算固态存储卡的容量,并写入系统控制卡的固态存储卡容量寄存器组,执行步骤(3);(3)、创建固态存储卡块映射表3.1)、同plane的块一次重映射:采用倒序映射策略,将每个通道的闪存阵列各晶元中每个plane的坏块重新映射到同plane的物理好块,获得固态存储卡上全部晶元的块一次映射表,保存为块一次映射表文件;3.2)、面向逻辑区块寻址的块二次映射:根据块一次映射表,将每个逻辑区块映射到包含区块内所有物理块编号的物理区块,形成块映射表,保存为文件;(4)、加载块映射表:管理软件通过管理接口将块映射表写入固态存储卡的块映射表;(5)、采集与回放的存取并行处理5.1)、建立数据分流/聚合的板级链路:对于多个固态记录装置构建的固态记录系统,关闭从系统控制卡的LA/LBA生成器,根据采集回放速率和存储卡读写速率的倍数关系确定RAID0的分流固态存储卡个数,再根据是否需要冗余备份,设定RAID 0、RAID 1或RAID 10的分流/聚合链路,如果是单一记录操作,单板机使能系统控制卡、固态存储卡的数据接收通道,执行步骤5.2),如果是单一回放操作,执行步骤5.6),如果在执行记录任务的同一时刻执行回放操作,则并行执行步骤5.2)和5.6);5.2)、采集数据接收与帧格式化:系统控制卡接收采集外设发送过来的数据,每接收到一个区块的数据,执行LBA=LBA+1,根据RAID模式、固态存储卡容量,确定目标固态存储卡;系统控制卡形成写操作数据帧,通过高速存取通信接口传输给目标固态存储卡;5.3)、固态存储卡接收到系统控制卡发送过来的写指令帧时,对写LBA进行二次地址映射:5.3.1)写LBA映射为LBA_1:固态存储卡从写指令帧中分离出写LBA,并检测四通道的读写忙状态,根据多通道均衡写策略,从空闲通道中确定写通道,将被写通道标记为写忙,得到写LBA的一次映射地址LBA_1,并将其记录到逻辑区块映射表,执行步骤5.3.2);5.3.2)LBA_1映射为PBA:根据LBA一次映射地址LBA_1对块映射表进行二次寻址,获得一个逻辑区块内所有物理块的索引,得到物理区块地址PBA,进行步骤5.4);5.4)、存储卡接收到系统控制卡发送过来的写数据帧,将用户数据放入缓冲区,依次将物理区块地址PBA和用户数据发送到该通道的闪存阵列控制器,对M×N晶元阵列执行M级流水线写操作,当对最后一行晶元发出编程指令后,不论其编程是否完成,将该通道标记为空闲,执行步骤5.5),同时,闪存阵列控制器监控编程状态,编程期间如果发生错误,确认发生错误的块,以中断方式通知单板机,更新坏块列表文件,读写并行处理控制器将LBA_1的最高位作坏块标记;5.5)、系统控制卡检查最新写LBA是否已经达到记录装置的系统容量,如果已经达到,结束记录处理;如果没有达到,再检查是否已接收到停止记录指令,如果没接收到停止记录指令,执行步骤5.2),如果接收到停止记录指令,将最新写LBA更新到配置存储器,结束记录处理;5.6)、单板机预先设置读偏移地址,或系统在执行写操作的过程中,单板机随机设置读逻辑地址LA,读取其长度,将读LA除以LBA的余数来初始化高速缓冲的读指针,当满足读取条件时,启动读操作,执行步骤5.7);5.7)、检查读操作的偏移地址是否小于等于2个逻辑区块的大小:5.7.1)、如果读操作的偏移地址小于等于2个逻辑区块的大小,系统控制卡根据高速缓存读指针,读取高速缓存中的数据发送给回放外设,每读取一个逻辑区块的数据,检查是否达到读取长度或接收到停止读指令,如果不是,继续读取高速缓中的数据存进行回放,如果是,结束回放处理;5.7.2)、如果读操作的偏移地址大于2个逻辑区块的大小,系统控制卡将LBA、读取长度打包为读指令帧,检查写指令帧或写数据帧是否正在发送,如果是,等待其完成,如果不是,则发送读指令帧和数据帧到目标固态存储卡,执行步骤5.8);5.8)、固态存储卡监听接收读指令帧,从中分离出读LBA,初始化读LBA寄存器,执行步骤5.9);5.9)、执行读LBA到PBA的二次映射操作:5.9.1)、使用读LBA对逻辑区块映射表进行寻址,获得一次映射LBA_1,将被读通道标记为读忙,执行步骤5.9.2);5.9.2)、对LBA_1进行二次映射,获得一个逻辑区块内的所有物理块编号,得到PBA,并行地,进行步骤5.10)、5.11);5.10)、使LBA+1,获取LBA+1的一次映射LBA_1,据此确定预读通道,并将其标记为下一次读忙;5.11)、检查被读通道是否空闲,如果被读通道处于写忙,等待,如果被读通道空闲,将PBA发送到被读通道的闪存阵列控制器,对该通道的闪存阵列执行多级流水线读操作;形成读响应帧和读数据帧,通过固态存储卡的高速存取接口发送给系统控制卡;当对最后一行晶元的读操作完成后,将该通道标记为空闲,执行步骤5.12);5.12)、固态存储卡检查是否达到读取长度或接收到停止回放指令,如果是,固态存储卡清空读操作有关的寄存器,结束读取操作,如果不是,固态存储卡将LBA+1推入读LBA寄存器,执行步骤5.9);5.13)、系统控制卡监听接收固态存储卡发送过来的读响应帧和读数据帧,如果是RAID 1或RAID 10模式,检查互为镜像的2个固态存储卡同时发来的读响应帧所标示的区块好坏,选择正确的固态存储卡数据,存入高速缓存;系统控制卡读取高速缓存中的数据,并将数据发送给回放外设,执行步骤5.14);5.14)、系统控制卡检查是否接收到单板机发送过来的停止回放指令,如果没接收到停止回放命令,执行步骤5.13),如果接收到停止回放指令,则向固态存储卡发送停止回放指令,回放处理结束;结束处理;其中,所述的多通道均衡写策略为:在执行以逻辑区块为单位的写操作时,若没有读操作发生,则固态存储卡有四个通道处于空闲状态,如果同时有读操作发生,会有2个通道分别处于读忙、下一次读忙状态,则固态存储卡有二个通道处于空闲状态,从空闲通道选择一个写次数最少的通道,当写次数相同时,选择通道序号最小的通道,作为当前执行写操作的通道,这使得写操作是围绕四个通道轮转的,连续写入同一个通道的情况不会发生,同样,连续两次读取相同通道的情况也不会发生,使得读操作和写操作避开了对临界资源的竞争;面向多通道均衡写策略,固态记录装置的LBA定义为LBA={LB,LP,LCH},其中,LB、LP、LCH,分别为逻辑块索引、逻辑页索引、逻辑通道索引,LBA的低位为逻辑通道索引,体现多通道均衡写;其中,所述的写LBA映射为LBA_1的一次映射为:将一次映射定义为LBA_1={PCH,LB,PP},其中,PCH、LB、PP,分别为物理通道索引、逻辑块索引、物理页索引,{LB,PP}定义为该通道写次数NWR,根据多通道均衡写策略,当空闲通道的写次数相同时,选择通道序号最小的通道,使该通道的写次数NWR+1,得到LBA_1={物理通道索引,通道写次数}={PCH,LB’,PP’},将其存入逻辑区块映射表存储器;其中,所述的LBA_1映射为PBA为:对于步骤5.3.2)、5.9.2),在固态存储卡获得一次映射LBA_1={PCH,LB,PP}后,使用{PCH,LB,Row,Col}对块映射表存储器进行访问,获得通道PCH中闪存阵列的逻辑块索引LB所对应的M×N晶元阵列各物理块索引PB,最终获得物理区块地址PBA={PCH,PB(M×aN),PP},其中,Row≤M,Col≤N分别为区块中晶元的行索引和列索引,a为每个晶元中的plane个数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510188733.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top