[go: up one dir, main page]

CN200986701Y - 文件分配表访问装置及芯片 - Google Patents

文件分配表访问装置及芯片 Download PDF

Info

Publication number
CN200986701Y
CN200986701Y CN 200520038195 CN200520038195U CN200986701Y CN 200986701 Y CN200986701 Y CN 200986701Y CN 200520038195 CN200520038195 CN 200520038195 CN 200520038195 U CN200520038195 U CN 200520038195U CN 200986701 Y CN200986701 Y CN 200986701Y
Authority
CN
China
Prior art keywords
fat
storer
sector
cluster
content
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.)
Expired - Fee Related
Application number
CN 200520038195
Other languages
English (en)
Inventor
李晓强
张�浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN 200520038195 priority Critical patent/CN200986701Y/zh
Application granted granted Critical
Publication of CN200986701Y publication Critical patent/CN200986701Y/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本实用新型公开一种文件分配表(FAT)访问装置、包含该访问装置的专用集成电路(ASIC)芯片,所述FAT存储在存储介质中,所述访问装置包括:FAT扇区处理装置,用于将存储介质中包含当前簇所在扇区在内的N个扇区的FAT数据读取到存储器,其中N为自然数;存储器,用于存储所述FAT数据;下一簇处理装置,用于通过读取存储器中FAT数据获得当前簇内容,并根据所述当前簇内容确定下一簇的存储器地址,在下一簇不在所述N个扇区的情况下,向所述FAT扇区处理装置发送读下一簇所在扇区的FAT数据的请求。本实用新型利用极少的RAM,提供了高速的FAT访问性能,从而大大降低了成本。

Description

文件分配表访问装置及芯片
技术领域
本实用新型涉及一种文件访问装置及芯片,特别地,涉及一种文件分配表访问装置、包含该访问装置的专用集成电路芯片。
背景技术
目前,在各种ASIC芯片中,对文件系统的操作主要有两种方法:一种方法是,系统上电时读取整个文件分配表(FAT),在随机存取存储器(RAM)中记录各个文件的相关信息。该方法可以达到比较快的文件访问速度,但有一个明显的缺点,就是支持的文件总数有限。否则,就需要大容量的RAM,而一般内置RAM有很大的限制,若采用外部RAM,则成本上升。所以,应用该方法操作大容量(比如1G字节)的存储卡,就有些不大现实。
另一种方法是,应用内置功能比较强大的微控制器(MCU)来实时读取存储卡上的目录和FAT信息,这种方法基本不需要RAM。但是,受到MCU访问外部存储介质的时序限制,使得访问大文件,尤其是非连续存储的大文件时,速度比较慢,且需要占用大量MCU时间,效率低下。
发明内容
针对现有技术的不足,本实用新型提供一种硬件实现、具有高效FAT读取能力的FAT访问装置,利用较小的内部RAM来达到高速FAT访问的目的。
根据本实用新型的第一方面,提供一种文件分配表(FAT)访问装置,所述FAT存储在存储介质中,所述访问装置包括:FAT扇区处理装置,用于将存储介质中包含当前簇所在扇区在内的N个扇区的FAT数据读取到存储器,其中N为自然数;存储器,用于存储所述FAT数据;下一簇处理装置,用于通过读取存储器中FAT数据获得当前簇内容,并根据所述当前簇内容确定下一簇的存储器地址,在下一簇不在所述N个扇区的情况下,向所述FAT扇区处理装置发送读下一簇所在扇区的FAT数据的请求。
在第一方面中,优选地,所述下一簇处理装置预先获得指定首簇内容,其获得当前簇内容和确定下一簇存储器地址利用两级流水线。
优选地,还包括结果保存装置,用于保存所述下一簇处理装置获得的簇内容。
优选地,所述N为1,所述存储器的容量为FAT的一个扇区大小。
优选地,所述存储器为随机存取存储器。
优选地,所述下一簇处理装置在读取当前簇内容后,将文件删除标志写入存储器中当前簇;在下一簇处理装置向FAT扇区处理装置发送读请求之前,所述FAT扇区处理装置将存储器中FAT数据回写到存储介质的FAT扇区。
优选地,所述下一簇处理装置在读取当前簇内容后,将更新的簇内容写入存储器中当前簇;在下一簇处理装置向FAT扇区处理装置发送读请求之前,所述FAT扇区处理装置将存储器中FAT数据回写到存储介质的FAT扇区。
优选地,所述FAT扇区处理装置通过直接存储器存取方式访问存储介质。
根据第二方面,提供一种文件分配表(FAT)访问装置,所述FAT存储在存储介质中,所述访问装置包括:FAT扇区处理装置,用于将存储介质中包含当前簇所在扇区在内的N个扇区的FAT数据读取到存储器,其中N为自然数;存储器,用于存储所述FAT数据;下一簇处理装置,用于通过读取存储器中FAT数据获得当前簇内容,并根据当前簇的存储器地址,确定下一簇的存储器地址;在下一簇不在所述N个扇区的情况下,向所述FAT扇区处理装置发送读下一簇所在扇区的FAT数据的请求。
根据第三方面,提供一种专用集成电路(ASIC)芯片,其特征在于,包括前述第一方面及第二方面中的文件分配表(FAT)访问装置。
按照本实用新型,利用极少的RAM,提供了高速的FAT访问性能,从而大大降低了成本。且本实用新型提供的FAT访问装置和具体的存储介质无关,可广泛应用于各种场合。
附图说明
为更好地理解本实用新型,下面仅以一个实施例结合附图对本实用新型作进一步说明。附图中:
图1为本实用新型一个实施例的FAT访问装置的结构框图;
图2为本实用新型该实施例中读FAT操作流程图;
图3为本实用新型该实施例中读取指定簇内容的波形图;
图4为本实用新型该实施例中删除文件对应FAT操作的流程图;
图5为本实用新型该实施例中更新FAT操作流程图。
具体实施方式
为结合MCU的灵活和硬件电路的高效,本实用新型采用MCU来提供文件访问接口,而采用硬件FAT访问装置来处理所有的FAT数据。本实用新型的FAT访问装置应用于各种专用集成电路(ASIC)芯片,支持FAT文件系统,提供与文件搜索、文件空间分配、文件删除、文件更新等操作相对应的FAT操作。
参照图1,图1为本实用新型一个实施例的FAT访问装置的结构框图。FAT存储在位于FAT访问装置10外部的存储介质15中,FAT访问装置10包括FAT扇区处理模块11、存储器12和下一簇处理模块13。其中,FAT扇区处理模块11将存储介质15中指定N个扇区的FAT数据读入存储器12,以及将存储器12中的FAT数据写入存储介质中FAT的指定扇区,这里,N为自然数;存储器12用于存储从存储介质15读取的,或者需要向存储介质15写入的N个扇区的FAT数据,存储器12优选采用随机存取存储器RAM;下一簇处理模块13通过读取存储器12中FAT数据获得当前簇内容,并根据当前簇内容确定下一簇的存储器地址,在下一簇不在N个扇区的情况下,向FAT扇区处理模块11发送读下一簇所在扇区的FAT数据的请求,由FAT扇区处理模块11执行读取操作,获得所需簇内容。需要删除文件或更新FAT时,下一簇处理模块13向存储器12写入文件删除标志或需要更改的FAT数据。
优选地,所述N个扇区为一个扇区,相应地,RAM12的容量为FAT的一个扇区大小,比如512字节。这样,通过采用相当少的RAM,降低了成本。
优选地,在存储介质15和FAT访问装置10之间,利用直接存储器存取(DMA)方式提供统一的存储访问接口,以使得该FAT访问装置和具体的存储介质无关,可适用于诸如SD卡、NAND等一系列存储介质。
FAT访问装置10还可包括其他模块14,用于负责各种FAT操作的主要流程。其他模块14可包含一结果保存模块(未图示),用于保存下一簇处理模块13获得的簇内容,这里,结果保存模块也可位于其他模块14之外。
与文件搜索操作相对应的FAT操作为读FAT操作,参照图2,图2为本实用新型该实施例中读FAT操作流程图。首先,在步骤S20,其他模块14启动读簇内容请求;接下来在步骤S21,FAT扇区处理模块11从存储介质15中读取指定簇所在扇区的FAT数据到内部RAM12中,优选地,可同时预先读取指定首簇内容,即预先使下一簇处理模块13获得当前簇内容;在步骤S22,下一簇处理模块13通过读RAM12获得当前簇内容,并根据当前簇内容计算下一簇的RAM地址,在步骤S23,将簇内容即簇链数据传递到其他模块14中的结果保存模块保存;在步骤S24,下一簇处理模块13判断簇链是否结束,如簇链结束,则转至步骤S25,由其他模块14继续处理所获取的数据;如簇链未结束,则执行步骤S26,下一簇处理模块13判断下一簇是否在同一个扇区中,如在同一个扇区中,则在步骤S28,移动当前簇到下一簇,即将当前簇序号更换为当前簇的内容;如不在同一个扇区中,则转至步骤S27,向FAT扇区处理模块11发送读请求,由FAT扇区处理模块11读取下一簇所在扇区的FAT数据到RAM12中,并获得所需簇内容,再执行步骤S28;随后重复执行步骤S22,直到簇链结束。
上述过程中,在步骤S22,下一簇处理模块13可利用以下公式计算内部RAM地址:
Addr = ( FAT start + Index × Len unit 2 × Size sec tor ) mod ( Size RAM ) Len unit = 3 , fat 12 4 , fat 16 8 , fat 32
其中,FATstart是FAT起始扇区号;Sizesector是每扇区大小,一般固定为512,其合法数值有512、1024、2048、4096四种;SizeRAM表示内部RAM的大小;Index为指定的簇序号,即所述当前簇内容;mod(Size)表示除以Size取余数操作。
在步骤S24,下一簇处理模块13可通过检查获得的“簇内容”是否为簇链结束标志,来判断簇链是否结束。例如,FAT16中簇链结束标志为FFFF,FAT32中该标志为0FFFFFFF。
在步骤S26,下一簇处理模块13利用“簇内容有效”信号判断下一簇是否在同一个扇区中,“簇内容有效”信号的计算公式如下:
Valid = [ RAM beg &le; ( FAT start + Index &times; Len unit 2 &times; Size sec tor ) < ( RAM beg + Size RAM ) ]
其中,Valid表示“簇内容有效”,其余参数的含义同上式。
参照图3,图3为本实用新型该实施例中读取指定簇内容的波形图,示出了连续读取两个簇内容的波形。在T1时刻,将“读取簇内容”信号置为1,此时“簇内容”总线上已经有当前簇的内容;“簇内容有效”为高电平;下一簇所对应的“内部RAM地址”也已经通过组合逻辑获得;“内部RAM读信号”由“读取簇内容”产生,在此时刻也已经有效(该信号低电平有效)。
在T2时刻,内部RAM将“簇内容”(下一簇内容)数据放到数据线上;“内部RAM地址”通过组合逻辑由该“簇内容”生成;“簇内容有效”由“簇内容”和当前FAT表项所在扇区的起始和结束地址生成,指明下一簇和当前簇是否在同一扇区中,若在同一扇区中,则“簇内容有效”继续为高电平;“读取簇内容”信号继续保持高电平;“内部RAM读信号”继续保持有效。
在T3时刻,内部RAM将下二簇内容放在数据线上;同时,产生新的“内部RAM地址”、“簇内容有效”、“读取簇内容”和“内部RAM读信号”。接下来,进行下一步操作,直到“簇内容有效”为低电平或者簇链结束。
可见,读取当前簇内容和确定下一簇的内部RAM地址利用了两级流水线(pipeline),因此,在簇链的某部分位于同一个扇区时,这些簇链的读取操作可以做到一个时钟获得一个簇内容,正如图3所示,在T2获得第一簇内容,在T3获得第二簇内容,以此类推。
按照该读取过程,每一个时钟周期可以读取一个簇内容。那么,对于4M左右的FAT32文件,以4k一个簇、内部RAM为512Byte来计算,读取FAT所需要的时间大约为:1024×Tclk+(1024/128)×Tsector,其中,Tclk是时钟周期,Tsector是读取一个扇区FAT数据的时间。
当新建文件分配文件空间时,相应地,FAT操作需实现申请文件空间操作。该操作基本上和读FAT操作相同,唯一的区别是,计算下一簇的内部RAM地址并非由当前簇的内容产生,而是由当前簇的位置增加1来确定。当获得的簇内容为“00”时,表明该簇为可用空间,并传递给其他模块来保存获得的结果;否则,说明该簇已被占用,继续将簇位置加1,直到获得指定大小的可用簇为止。
参照图4,图4为本实用新型该实施例中删除文件对应FAT操作的流程图。该操作读取下一个簇位置的步骤和读FAT操作相同,这里不再赘述。不同点在于,在读取当前簇内容的同时,在步骤S41,下一簇处理模块13将RAM12中该簇内容写为文件删除标志,比如写为0;当判断出下一簇不在同一扇区中时,在步骤S42,下一簇处理模块13将RAM12中的扇区内容回写到存储介质15的FAT区;尔后,再读取新扇区FAT数据到RAM12中。该操作中,由于需要读、写RAM,所以,读写内部RAM12所需时间为前两种操作的两倍。
在文件存储位置或者大小更改之后,需要更新FAT。参照图5,图5为本实用新型该实施例中更新FAT操作流程图。这里,更新FAT操作也需要在下一簇内容不在同扇区时,更新RAM中数据到FAT中。与图4所示操作相同的步骤不再赘述,不同点在于,首先在步骤S50,由其他模块14启动写簇内容请求;在读取当前簇内容的同时,在步骤S51,下一簇处理模块13将RAM12中该簇内容写为需要更改的内容,所述需要更改的内容从其他模块14获得。这里,RAM的写信号以及地址和数据如果用组合逻辑产生,可以节省一个时钟周期,每个簇写操作需要1个时钟;如果时钟频率比较高,可以采用同步设计,每个簇写操作需要2个时钟。
显而易见,在此描述的本实用新型可以有许多变化,这种变化不能认为偏离本实用新型的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。

Claims (10)

1、一种文件分配表(FAT)访问装置,所述FAT存储在存储介质中,所述访问装置包括:FAT扇区处理模块、存储器和下一簇处理模块,其中:
FAT扇区处理模块,与所述存储器连接,用于自存储介质中读取包含当前簇所在扇区在内的N个扇区的FAT数据,并将其存储到存储器中,其中N为自然数;
存储器,其中存储有所述FAT数据;
下一簇处理模块,分别与所述FAT扇区处理模块及存储器连接,其自所述存储器中读取FAT数据以获得当前簇内容,根据所述当前簇内容确定下一簇的存储器地址,并在下一簇不在所述N个扇区的情况下,向所述FAT扇区处理模块发送读下一簇所在扇区的FAT数据的请求。
2、如权利要求1所述的访问装置,其特征在于:所述下一簇处理模块内设置有两级流水线结构。
3、如权利要求1所述的访问装置,其特征在于,还包括结果保存模块,所述结果保存模块与所述下一簇处理模块连接,并用于保存所述下一簇处理模块获得的簇内容。
4、如权利要求1所述的访问装置,其特征在于,所述N为1,所述存储器的容量为FAT的一个扇区大小。
5、如权利要求1所述的访问装置,其特征在于,所述存储器为随机存取存储器。
6、如权利要求1所述的访问装置,其特征在于,所述下一簇处理模块与所述存储器连接,用于在获得当前簇内容后,将文件删除标志写入存储器中当前簇;
所述FAT扇区处理模块分别与所述存储器和存储介质连接,用于在下一簇处理模块向FAT扇区处理模块发送读请求之前,所述FAT扇区处理模块将存储器中FAT数据回写到存储介质的FAT扇区。
7、如权利要求1所述的访问装置,其特征在于,所述下一簇处理模块与所述存储器连接,用于在获得当前簇内容后,将更新的簇内容写入存储器中当前簇;
所述FAT扇区处理模块分别与所述存储器和存储介质连接,用于在下一簇处理模块向FAT扇区处理模块发送读请求之前,所述FAT扇区处理模块将存储器中FAT数据回写到存储介质的FAT扇区。
8、如权利要求1至7中任一项所述的访问装置,其特征在于,所述FAT扇区处理模块和所述存储介质之间设置有直接存储器。
9、一种文件分配表(FAT)访问装置,所述FAT存储在存储介质中,所述访问装置包括:FAT扇区处理模块、存储器和下一簇处理模块,其中
FAT扇区处理模块,连接所述存储器,用于将存储介质中包含当前簇所在扇区在内的N个扇区的FAT数据读取到存储器,其中N为自然数;
存储器,用于存储所述FAT数据;
下一簇处理模块,分别与所述存储器和FAT扇区处理模块连接,用于通过读取存储器中FAT数据获得当前簇内容,并根据当前簇的存储器地址,确定下一簇的存储器地址;在下一簇不在所述N个扇区的情况下,向所述FAT扇区处理模块发送读下一簇所在扇区的FAT数据的请求。
10、一种专用集成电路(ASIC)芯片,其特征在于,其中设置有如权利要求1至9中任一项所述的文件分配表(FAT)访问装置。
CN 200520038195 2005-12-31 2005-12-31 文件分配表访问装置及芯片 Expired - Fee Related CN200986701Y (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200520038195 CN200986701Y (zh) 2005-12-31 2005-12-31 文件分配表访问装置及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200520038195 CN200986701Y (zh) 2005-12-31 2005-12-31 文件分配表访问装置及芯片

Publications (1)

Publication Number Publication Date
CN200986701Y true CN200986701Y (zh) 2007-12-05

Family

ID=38916160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200520038195 Expired - Fee Related CN200986701Y (zh) 2005-12-31 2005-12-31 文件分配表访问装置及芯片

Country Status (1)

Country Link
CN (1) CN200986701Y (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600750A (zh) * 2016-11-21 2017-04-26 建荣半导体(深圳)有限公司 一种循环录像的方法、系统及行车记录仪

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600750A (zh) * 2016-11-21 2017-04-26 建荣半导体(深圳)有限公司 一种循环录像的方法、系统及行车记录仪

Similar Documents

Publication Publication Date Title
CN102411549A (zh) 存储器系统、主机控制器以及dma的控制方法
KR20100126446A (ko) 메모리 장치의 활용 영역 확장
CN109669888A (zh) 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法
TWI841113B (zh) 記憶體定址方法及相關聯的控制器
CN104461750A (zh) 一种NAND flash的访问方法和装置
CN117413247A (zh) 一种数据处理方法、设备及系统
US11126382B2 (en) SD card-based high-speed data storage method
TWI533135B (zh) 記憶體存取方法、記憶體存取控制方法、記憶體裝置與記憶體控制器
US7949818B2 (en) Memory system comprising semiconductor memory having plural different operation modes
CN200986701Y (zh) 文件分配表访问装置及芯片
CN102708075A (zh) 一种sd卡硬件控制装置及控制方法
CN202584143U (zh) 一种多接口只读读卡器
CN101373436A (zh) U盘上数据自动压缩和解压缩的方法
WO2008025238A1 (en) Storage device with large capacity and method based on flash memory
CN101968724A (zh) 针对嵌入式arm处理器对sd卡数据存储和删除方法
CN205983448U (zh) 用于固态硬盘的控制芯片及固态硬盘
CN102117245B (zh) 嵌入式设备及其系统可执行文件分割加载和启动方法
CN1790340A (zh) 文件分配表访问装置、芯片及访问方法
US8510525B2 (en) Method of duplicating segmented data to multiple random accessible storage devices
US9483425B2 (en) Memory including a band width conversion unit, memory system and memory control method using the same
CN115878024B (zh) 写入数据到闪存存储器的方法及装置
CN100477005C (zh) 支持分区的闪存存贮器件
CN201145913Y (zh) 车辆数据采集记录装置
CN101339490A (zh) 闪存的驱动装置及方法
Lu et al. The reading/writing SD card system based on FPGA

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071205

Termination date: 20111231