一种TF卡的制作方法

文档序号:12863735阅读:1565来源:国知局
本发明涉及存储设备领域,特别涉及一种tf卡。
背景技术
::当前tf卡host使用lba对tf卡的数据进行访问,而lba是一维线性增长的;这样的访问方式存在如下几个问题:1、lba是32bit的而lba对应的数据单位是512bytes,那么意味着host最大可以访问2t的数据,但在实际应用中并没有如此大容量的tf卡,这样就导致相当一部分lba是无效的,当host去尝试访问这种lba时,card将返回错误;2、card上的数据是可以预期的,即相同lba读写必定是相同数据,这使得在bus上窃取数据变得简单。同时当tf卡需要拓展功能时,往往需要新增命令;但由于command的长度有限,因此命令的个数是有上限的,那么,面对不同客户的不同要求仅通过增加命令会导致固件复杂度上升,且不易快速开发与固件版本的管理。技术实现要素:针对以上缺陷,本发明目的在于如何方便的实现拓展标准的tf卡的扩展功能命令。为了解决以上问题本发明提出了一种tf卡,其特征在于在tf卡的逻辑地址空间中划分至少一部分地址空间作为拓展功能命令,拓展功能命令按照正常读写命令的格式访问tf卡;在tf卡中增加重映射模块,用于分析正常读写命令是否为扩展功能命令,如果是则按照预先设定的拓展功能命令触发tf卡执行操作命令;如果否则根据命令要求访问tf卡数据空间。所述的tf卡,其特征在于所述重映射模块中至少包括一个采用非易失存储器存储的策略表,所述策略表通过主机进行在线配置或者预先存储,所述策略表至少包括扩展功能命令的信息。所述的tf卡,其特征在于所述重映射模块通过解析状态机分析正常读写命令是否为扩展功能命令,具体为:通过解析状态机将传入的正常读写命令的逻辑地址信息在策略表进行查找匹配,如果匹配上则识别出对应的扩展功能命令,并将该扩展功能命令发送给tf卡的功能处理模块function。所述的tf卡,其特征在于tf卡的控制器controller接收到主机的指令,将指令中符合tf卡标准协议的功能命令直接下发给到功能处理模块function,将可能包含扩展功能命令的指令下发到重映射模块mapping中。所述的tf卡,其特征在于所述控制器controller为通过存软件实现或通过硬件实现;通过硬件实现时通过寄存器组或fifo进行参数传递。所述的tf卡,其特征在于所述解析状态机至少包括:空闲状态idle、调度状态dispatch、切换状态switch、配置状态configure和处理状态process。所述的tf卡,其特征在于所述策略表至少包括:命令索引command,起始逻辑地址startlba、结束逻辑地址endlba、扩展功能命令索引function、切换命令switchcommand。本发明通过增加mapping模块以及两个数据通道的情况下,不仅兼容了原有协议中规定的各项功能,同时提高了数据访问的安全性,更增加了添加新功能的便利性。附图说明图1是tf卡内部组成及数据通路示意图;图2是mapping模块的组成示意图;图3是解析状态机的组成示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1是tf卡内部组成及数据通路示意图,其中controller:处理tf卡外部总线协议相关任务,响应主机host发送命令;收发host请求信息;转译host命令;通过sdbus收发数据。function:用于实现协议中定义的功能以及用户需求,包括符合tf卡标准的功能命令和拓展功能命令。新增加的mapping:实现command+lba与用户数据空间、系统空间、自定义功能、用户需求之间的映射。nandflash:用于存储用户数据。systemspace:系统内部空间,用于存放系统相关数据。tf卡包括5个数据通路:channel1、channel2、channel3、channel4和channel5。其中:channel1:controller转译后的命令以及数据通道。这个通道是兼容标准tf卡协议(也称为sd协议)中定义的lba基本的使用方式的。channel2:controller转译后的命令以及数据通道,这个通道是协议中定义的读写非用户数据的命令数据通道。channel3:mapping后需要交由function模块进行处理的命令数据通道。channel4:mapping后需要访问nandflash的命令数据通道。channel5:function模块需要访问systemspace的命令数据通道。图2是mapping模块的组成示意图;图3是解析状态机的组成示意图。其中命令和逻辑地址commands&lba是controller接收主机指令并解析后的command信息以及相关的lba信息。commandindex命令索引不超出sd协议规定范围,但在约定好的情况下可以自行定义功能;lba范围如sd协议定义。此模块可以使用软件实现也可以使用硬件实现:对于硬件实现的方式可以使用寄存器进行数据传递,也可以使用fifo进行传递。strategytable策略表:其中至少存放一条缺省策略defaultstrategy策略用于用户对策略表进行配置;当不能在策略表中查找到对应表项时按照sd协议规定进行处理。此表应使用非易失存储介质实现,如norflash、nandflash、tcam(ternarycontentaddressablememory是一种三态内容寻址存储器)等。策略表包括但不限于如下内容:命令索引command,起始lbastartlba、结束lbaendlba、功能索引function、切换命令switchcommand。core-logic逻辑分析模块是mapping模块的模块。此模块用于分析commands&lba与strategytable之间的关系,并输出functions&data以及处理和用于与nandflash交互的operation&data信息。此模块需要实现但不限于如下功能:解析状态机,策略表索引逻辑,策略裁决逻辑。解析状态机具体包括但不限于空闲状态idle、调度状态dispatch、切换状态switch、配置状态configure和处理状态process。idle:进入条件:tf卡上电,内部操作:轮询用于传递controller解析的commands&lba的模块,退出条件:获得controller解析的commands&lba,进入dispatch状态;dispatch:进入条件:idle状态&&commands&lba信息,内部操作:调用策略表索引逻辑查找相关策略表项,调用策略裁决逻辑选择使用策略表项,退出条件:无表项匹配,进入configure状态,或者匹配表项需要进行功能切换,进入switch状态,或者匹配表项无需功能切换,进入process状态;switch:进入条件:dispatch状态&function编号,内部操作:根据function编号以及命令携带数据,对相关软硬模块进行配置,退出条件:收到策略表项中定义的command命令;process:进入条件:匹配表项无需功能切换,内部操作:根据命令携带数据以及对应表项描述功能进行相关操作,退出条件:操作完成。策略表索引逻辑根据策略表存储介质的不同,实现包括但不限于如下方式:1.策略表存储介质为norflash或nandflash,那么需要将表项内容部分或全部拷入内存中,之后使用软件方式或硬件方式进行检索查找.2.策略表的存储介质为tcam,tcam本身就可以进行内容匹配查找,无需额为软件算法的开发。策略裁决逻辑的实现包括但不限于如下方式:1、使用首次查找匹配。裁决逻辑总是使用第一次查找得到的表项进行相应处理。2、使用最新配置表项。裁决逻辑总是使用最新配置的表项进行相应处理。3、使用历史表项。裁决逻辑需要记录过去一次或多次的裁决结果,并于查找结果比较,选择过去常用的表现进行相应处理。functions&data:若core-logic解析之后的结果表明需要function模块来进行余下处理,core-logic组织functions&data信息发往function模块。以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1