实现嵌入式存储器多主接口的方法及装置.pdf

上传人:a2 文档编号:971103 上传时间:2018-03-22 格式:PDF 页数:12 大小:619.43KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910116305.8

申请日:

2009.03.06

公开号:

CN101493844A

公开日:

2009.07.29

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 17/30申请日:20090306授权公告日:20120606终止日期:20160306|||专利权的转移IPC(主分类):G06F17/30变更事项:专利权人变更前权利人:无锡紫芯集成电路系统有限公司变更后权利人:常州新超电子科技有限公司变更事项:地址变更前权利人:214028 江苏省无锡市新区泰山路2号B-6F变更后权利人:213000 江苏省常州市武进高新技术产业开发区常武南路588号C幢450-1-1室登记生效日:20150319|||授权|||实质审查的生效|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

无锡紫芯集成电路系统有限公司

发明人:

张善文; 戴 辉; 佴立峰; 张振辉

地址:

214028江苏省无锡市新区泰山路2号B-6F

优先权:

专利代理机构:

无锡华源专利事务所

代理人:

聂汉钦

PDF下载: PDF下载
内容摘要

一种实现嵌入式存储器多主接口的方法及装置,通过存储器文件系统驱动的文件系统保护层以及主机文件系统驱动的文件系统表更新接口的协同管理,实现了在多个主机对同一个存储设备操作时的文件系统结构的同步。本发明使多媒体播放器同个人电脑通过USB传输线连接,且遵循USB Mass Storage协议时,多媒体播放器同个人电脑主机能够同时操作多媒体播放器上的存储器,而多媒体播放器无需进入USB模式,用户仍可以操作播放器内的存储器,进行图片、音乐、视频播放等需要读取存储器的操作。

权利要求书

1.  一种实现嵌入式存储器多主接口的方法,其特征在于通过记录各个主机对存储器的操作,检测存储器中被更新的文件所涉及的簇,生成各个主机各自的同步簇表,在各个主机操作存储器时,根据同步簇表判断是否需要重新读取文件的簇结构信息,如果文件已被修改,则需要利用新的簇结构读取文件,使各个主机同步操作存储器文件系统。

2.
  根据权利要求1所述的实现嵌入式存储器多主接口的方法,其特征在于一个主机修改了文件系统中的部分数据后,其他主机访问此被修改的数据时都会被拒绝且被告知此数据已被修改。

3.
  根据权利要求1所述的实现嵌入式存储器多主接口的方法,其特征在于有多主机重复访问文件结构资源时,对文件系统内文件结构资源提供锁操作保护,并告知重复访问的主机该文件结构资源不可用。

4.
  根据权利要求1所述的实现嵌入式存储器多主接口的方法,其特征在于对主机间不同步的文件进行读取操作,具体步骤如下:
1)作为主机的多媒体播放器的应用程序调用存储器的文件系统驱动,读取一个文件的内容;
2)文件系统驱动接受了这个文件读取请求之后从文件系统保护层中的文件系统表缓存中得到文件的簇的链表信息,通过向存储器读取相应的簇完成读取文件的操作;
3)存储器的文件系统保护层接收到读取簇的请求后,同保存在文件系统保护层中的此主机的文件系统表缓存比较,判断此文件的簇链接关系已经被其他主机修改,此主机需要重新读取文件的簇信息,文件系统保护层向文件系统表更新接口发出更新信息;
4)文件系统表更新接口接到文件系统保护层的通知之后告知文件系统表缓存需要更新;
5)文件系统表缓存从存储器上读取新的文件的簇链表信息;
6)得到文件的新的簇信息后,文件系统表更新接口通知存储器的文件系统保护层已经更新了文件信息,可以允许读取文件;
7)文件系统驱动根据新的文件簇信息向存储器读取文件;
8)文件系统驱动将得到的文件提交给应用程序。

5.
  一种实现嵌入式存储器多主接口的装置,包括主机文件系统驱动和存储器文件系统驱动;所述主机文件系统驱动,设置于主机系统内,用于通过调用存储器驱动接口完成读写存储器上的文件;存储器文件系统驱动,设置于存储器所在的系统内,负责向上层主机提供操作存储器的驱动接口,同时负责基于文件系统的多主机操作保护;
其特征在于:
所述存储器文件系统驱动包括一个文件系统保护层,用于记录各个主机操作存储器的先后顺序,为每个主机建立文件系统表缓存,存放当前存储器上的文件系统的文件对于各个主机上的文件系统表缓存的同步情况;
所述主机文件系统驱动包括一个文件系统表更新接口,用于接收所述文件系统保护层的同步信息,更新主机文件系统驱动上的文件系统表缓存,并通知存储器文件系统驱动的文件系统保护层更新完成。

说明书

实现嵌入式存储器多主接口的方法及装置
技术领域
本发明涉及实现存储器多主接口的方法及装置,具体是一种实现在嵌入式系统环境下提供多个主机同时操作同一个存储器的方法及装置。
背景技术
现有的嵌入式多媒体播放设备对于NAND Flash(非易失闪存)或者SD/MMC/CF卡等存储设备的操作都仅仅提供了单主机的支持,而不支持多个主机同时操作同一个存储设备。比如当前国内外各大移动多媒体设备厂商生产的设备在同个人电脑进行连接时,一般通过USB传输线连接,且遵循USB MassStorage协议,而在使用个人电脑操作多媒体播放器上的存储器时,多媒体播放器是无法同时操作此存储器从而迫使多媒体播放器进入待机模式。在该模式下,用户除了能够断开同个人电脑的联接外无法操作多媒体播放器,直到中断个人电脑和设备的联接,用户才重新获得对于多媒体播放器的控制权。
所述USB,即Universal Serial Bus(通用串行总线)的缩写,是指一种电子设备间串行通信的标准。
所述USB Mass Storage协议,是指通过USB接口使PC同外设之间进行大数据传输的标准,即USB Implementers Forum组织的《Universal Serial BusMass Storage Class Specification Overview》文件标准。
发明的内容
本发明的申请人为了解决了在多媒体播放器和个人电脑通讯的同时,用户无法操作多媒体播放器的问题,进行了改进研究,提出了一种实现嵌入式存储器多主接口的方法及装置,通过多主存储器接口来支持个人电脑和多媒体播放器同时操作同一个存储器,使得在手持设备同个人电脑通过USB接口遵循Mass Storage协议连接时,播放器无需进入待机模式,用户仍可以操作播放器内的存储器,进行图片、音乐、视频播放等需要读取存储器的操作。
本发明的技术方案如下:
一种实现嵌入式存储器多主接口的方法,通过记录各个主机对存储器的操作,检测存储器中被更新的文件所涉及的簇,生成各个主机各自的同步簇表,在各个主机操作存储器时,根据同步簇表判断是否需要重新读取文件的簇结构信息,如果文件已被修改,则需要利用新的簇结构读取文件,使各个主机同步操作存储器文件系统。
作为进一步的技术方案:
一个主机修改了文件系统中的部分数据后,其他主机访问此被修改的数据时都会被拒绝且被告知此数据已被修改。
有多主机重复访问文件结构资源时,对文件系统内文件结构资源提供锁操作保护,并告知重复访问的主机该文件结构资源不可用。
对主机间不同步的文件进行读取操作,具体步骤如下:
1)作为主机的多媒体播放器的应用程序调用存储器的文件系统驱动,读取一个文件的内容;
2)文件系统驱动接受了这个文件读取请求之后从文件系统保护层中的文件系统表缓存中得到文件的簇的链表信息,通过向存储器读取相应的簇完成读取文件的操作;
3)存储器的文件系统保护层接收到读取簇的请求后,同保存在文件系统保护层中的此主机的文件系统表缓存比较,判断此文件的簇链接关系已经被其他主机修改,此主机需要重新读取文件的簇信息,文件系统保护层向文件系统表更新接口发出更新信息;
4)文件系统表更新接口接到文件系统保护层的通知之后告知文件系统表缓存需要更新;
5)文件系统表缓存从存储器上读取新的文件的簇链表信息;
6)得到文件的新的簇信息后,文件系统表更新接口通知存储器的文件系统保护层已经更新了文件信息,可以允许读取文件;
7)文件系统驱动根据新的文件簇信息向存储器读取文件;
8)文件系统驱动将得到的文件提交给应用程序。
一种实现嵌入式存储器多主接口的装置,包括主机文件系统驱动和存储器文件系统驱动;所述主机文件系统驱动,设置于主机系统内,用于通过调用存储器驱动接口完成读写存储器上的文件;存储器文件系统驱动,设置于存储器所在的系统内,负责向上层主机提供操作存储器的驱动接口,同时负责基于文件系统的多主机操作保护;
所述存储器文件系统驱动包括一个文件系统保护层,用于记录各个主机操作存储器的先后顺序,为每个主机建立文件系统表缓存,存放当前存储器上的文件系统的文件对于各个主机上的文件系统表缓存的同步情况;
所述主机文件系统驱动包括一个文件系统表更新接口,用于接收所述文件系统保护层的同步信息,更新主机文件系统驱动上的文件系统表缓存,并通知存储器文件系统驱动的文件系统保护层更新完成。
上述技术方案中:
所述文件系统是指存储器上存储文件的方法和数据结构,即在存储器上组织文件的方法。
本发明的有益技术效果是:
本发明通过存储器文件系统驱动的文件系统保护层以及主机文件系统驱动的文件系统表更新接口的协同管理,实现了在多个主机对同一个存储设备操作时文件结构的同步。使多媒体播放器同个人电脑通过USB传输线连接且遵循USB Mass Storage协议时,多媒体播放器同个人电脑主机能够同时操作多媒体播放器上的存储器,而多媒体播放器无需进入USB模式(即数据传输模式)。即个人电脑读取、修改、删除存储器上的文件时,多媒体播放器也同时处于工作状态,能够读取存储器上的文件,进行音乐视频播放、图片显示等操作,但多媒体播放器不能修改删除存储器上的文件。
附图说明
图1是实现嵌入式存储器多主接口的装置示意框图。
图2是图1的详细示意框图。
图3是实现嵌入式存储器多主接口的方法的流程示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
在使用存储器时,一般将存储器的存储区划分为一个或者多个分区,每个分区都将其格式化成某个文件系统,通过文件系统管理和使用存储器分区。
在多个主机,本实施例中指嵌入式多媒体播放器和个人电脑,同时操作同一个存储器时,主机会遵从存储器的文件系统的格式使用存储器空间,而各个主机之间是同步操作存储器,保证同时操作且不破坏文件系统。
图1是实现嵌入式存储器多主接口的装置示意框图。
如图1所示,实现嵌入式存储器多主接口的装置,包括主机文件系统驱动和存储器文件系统驱动;主机文件系统驱动,设置于个人电脑或者媒体播放器等主机系统内,用于通过调用存储器驱动接口完成读写存储器上的文件。存储器文件系统驱动,设置于存储器所在的系统内,负责向上层主机提供操作存储器的驱动接口,同时负责基于文件系统的多主机操作保护。
本发明是在多媒体播放器的存储器文件系统驱动的存储器底层驱动层103上层添加一层文件系统保护层101,同时在多媒体播放器的主机文件系统驱动层添加文件系统表更新接口102,由这两部分共同完成支持多主机的接口管理。
图1中的存储器底层驱动层103负责向上层提供基于扇区的存储器读写接口。存储器接口104负责管理各种硬件接口标准,提供给存储器底层驱动层103统一的操作接口。
存储器文件系统驱动的文件系统保护层101的实现方法是通过监视存储器上的文件系统表。文件系统表记录了存储器上的文件簇的链式结构。
文件系统表对于文件的组织关系是这样的,文件系统表中的一个表项代表了一个簇,表项的数值表明了此簇的属性:以FAT16文件系统格式为例,0000代表未分配的簇,0002-FFEF代表已分配的簇,FFF0-FFF6代表系统保留簇,FFF7代表坏簇,FFF8-FFFF代表文件结束簇。文件系统表项内的值为0002-FFEF之间的值表明为被占用的簇,且此值表明文件的下一个簇的位置,最后以FFFF代表文件簇的结尾。因此一个文件的组成是由这个簇链组成的,而文件系统表即保存了所有的文件的簇链接的关系,是文件系统的核心。
所述FAT16是指由美国的微软公司开发的一种磁盘文件系统。
所述簇是指存储器上的相邻的多个扇区(2、4、8、16、32或64个扇区)组成的操作系统管理存储器的最小单元。
所述扇区是指存储器的最小的物理存储单元。
图2是图1的详细示意框图。
如图2所示,其中主机文件系统驱动的文件系统API 201向操作系统提供基于文件的API接口,如文件的读,写等基于文件的一系列操作。而FAT32簇读/写202则负责基于磁盘簇的读写,它首先读取上层欲读取的文件的簇表信息,根据簇表的链式结构通过底层IO接口向磁盘发出读写扇区请求。FAT基本功能203则负责管理FAT规范中所涉及到的各种结构,组织文件簇链接关系。FAT表缓存204则预先读取和保存常用的文件结构(如目录结构)以及最近所读取的文件表信息。底层IO接口205则提供基于扇区的磁盘读写接口。存储器底层驱动层208则负责向上层提供基于扇区的存储器读写接口。存储器接口209负责管理各种硬件接口标准,提供给存储器底层驱动层208统一的操作接口。上述各块均按现有技术编写,其调用过程也与现有技术中的过程相同。
本发明的不同之处在于如下结构。
存储器文件系统驱动包括一个文件系统保护层207,设置在存储器底层驱动层208的上层,用于记录各个主机操作存储器的先后顺序,为每个主机建立文件系统表缓存210,存放当前存储器上的文件系统的文件对于各个主机上的文件系统表缓存210的同步情况。
多媒体播放器的主机文件系统驱动包括一个文件系统表更新接口206,其与底层IO接口205并列于一层,用于接收来自文件系统保护层发送的保护信息,如果多媒体播放器所读取的文件已被其他主机(如个人电脑)修改,则文件系统保护层告知文件系统表更新接口读取失败,需要重新读取文件簇结构,此时多媒体播放器放弃对文件内容的读取,转而读取文件系统表信息,读取完成之后由文件系统表更新层告知文件系统保护层已经完成文件系统表的更新,文件系统保护层此时允许播放器操作先前欲读取的文件。
通过上述装置的协同作用,得到的实现嵌入式存储器多主接口的方法如下:
通过记录各个主机对存储器的操作,检测存储器中被更新的文件所涉及的簇,生成各个主机各自的同步簇表,在各个主机操作存储器时,根据同步簇表判断是否需要重新读取文件的簇结构信息,如果文件已被修改,则需要利用新的簇结构读取文件,使各个主机同步操作存储器文件系统。
一个主机修改了文件系统中的部分数据后,其他主机访问此被修改的数据时都会被拒绝且被告知此数据已被修改。
有多主机重复访问文件结构资源时,对文件系统内文件结构资源提供锁操作保护,并告知重复访问的主机该文件结构资源不可用。
图3是实现嵌入式存储器多主接口的方法的流程示意图。
下面结合图3具体阐述是如何通过存储器的文件系统保护层以及多媒体播放器的文件系统表更新接口来实现多主存储器接口的。
从图中可以看到,我们将一次有文件冲突,即主机间文件不同步的读取操作分为以下8个步骤:
1)多媒体播放器的应用程序301调用存储器的文件系统驱动302,读取一个文件的内容;
2)文件系统驱动302接受了这个文件读取请求之后从文件系统保护层303中的文件系统表缓存304中得到文件的簇的链表信息,通过向存储器读取相应的簇完成读取文件的操作;
3)存储器的文件系统保护层303接收到读取簇的请求后,同保存在文件系统保护层303中的此主机的文件系统表缓存304比较,判断此文件的簇链接关系已经被其他主机修改,此主机需要重新读取文件的簇信息,文件系统保护层303向文件系统表更新接口305发出更新信息;
4)文件系统表更新接口305接到文件系统保护层303的通知之后告知文件系统表缓存304需要更新;
5)文件系统表缓存304从存储器上读取新的文件的簇链接信息;
6)得到文件的新的簇信息后,文件系统表更新接口305通知存储器的文件系统保护层303已经更新了文件信息,可以允许读取文件;
7)文件系统驱动302根据新的文件簇信息向存储器读取文件;
8)文件系统驱动302将得到的文件提交给应用程序301。
通过以上8个步骤完成了一次非同步文件的读取操作。
需要注意的是,尽管此处所述的处理步骤是以顺序的方式描述的,但是这些处理也可以配置成以变幻的次序进行工作。换句话说,描述的任何步骤的顺序或次序都并非必然指示这些步骤应当以该种次序执行。此处所述的处理步骤可以以任何可行的次序来执行。进一步,有些步骤可以同时执行。
在设计中涉及到的个人电脑主机采用USB接口的Mass Storage协议同多媒体播放器进行数据通讯。此种通信方式由于所遵循的协议的限制,无法向主机传达文件系统的同步信息,因此在此类设计中,存储器所在的本地的多媒体播放器对于存储器的操作仅限于读操作,文件系统保护层所作的同步是对本地多媒体播放器的读取同步。而个人电脑作为主机可以读写存储器,而不受其他主机的限制。同时整个系统中仅能有一个这样无视同步保护信息的主机。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

实现嵌入式存储器多主接口的方法及装置.pdf_第1页
第1页 / 共12页
实现嵌入式存储器多主接口的方法及装置.pdf_第2页
第2页 / 共12页
实现嵌入式存储器多主接口的方法及装置.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《实现嵌入式存储器多主接口的方法及装置.pdf》由会员分享,可在线阅读,更多相关《实现嵌入式存储器多主接口的方法及装置.pdf(12页珍藏版)》请在专利查询网上搜索。

一种实现嵌入式存储器多主接口的方法及装置,通过存储器文件系统驱动的文件系统保护层以及主机文件系统驱动的文件系统表更新接口的协同管理,实现了在多个主机对同一个存储设备操作时的文件系统结构的同步。本发明使多媒体播放器同个人电脑通过USB传输线连接,且遵循USB Mass Storage协议时,多媒体播放器同个人电脑主机能够同时操作多媒体播放器上的存储器,而多媒体播放器无需进入USB模式,用户仍可以操作。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1