[go: up one dir, main page]

CN100377118C - 基于sram的嵌入式文件系统的实现方法 - Google Patents

基于sram的嵌入式文件系统的实现方法 Download PDF

Info

Publication number
CN100377118C
CN100377118C CNB2006100498756A CN200610049875A CN100377118C CN 100377118 C CN100377118 C CN 100377118C CN B2006100498756 A CNB2006100498756 A CN B2006100498756A CN 200610049875 A CN200610049875 A CN 200610049875A CN 100377118 C CN100377118 C CN 100377118C
Authority
CN
China
Prior art keywords
data
file system
sram
loading
speed cache
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
CNB2006100498756A
Other languages
English (en)
Other versions
CN1818887A (zh
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2006100498756A priority Critical patent/CN100377118C/zh
Publication of CN1818887A publication Critical patent/CN1818887A/zh
Application granted granted Critical
Publication of CN100377118C publication Critical patent/CN100377118C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于SRAM的嵌入式文件系统的实现方法。本发明的方法在充分利用嵌入式系统中用做数据高速缓存的SRAM,通过哈希方法在SRAM上建立一个小型文件系统,建立对常用数据文件在数据高速缓存中的索引,直接对数据高速缓存进行操作。本发明的方法能够加快嵌入式系统中对文件输入输出操作的速度,提高输入输出操作的吞吐率,提高对大容量数据高速缓存的利用率。

Description

基于SRAM的嵌入式文件系统的实现方法
技术领域
本发明涉及嵌入式文件系统领域,特别是涉及一种基于SRAM的嵌入式文件系统的实现方法。
背景技术
目前嵌入式环境中,出现了各式各样的,不同容量的,不同存取速度,不同价格的外存介质,特别是出现了大容量Flash存储器并被应用于移动嵌入式领域,集成在CPU内的Cache容量也有明显提高。这些硬件制造技术上的进步,为紧密结合其优点,以提高嵌入式系统的性能提供了可能。
内存,或内存储器,又称为主存储器,是关系到计算机运行性能高低的关键部件之一,无疑是非常重要的。为了加快系统的速度,提高系统的整体性能,我们看到,计算机中配置的内存数量越来越大,而内存的种类也越来越多。
计算机指令的存取时间主要取决于内存。对于现今的大多数计算机系统,内存的存取时间都是一个主要的制约系统性能提高的因素。因此在判断某一系统的性能时,就不能单凭内存数量的大小,还要看其所用内存的种类,工作速度。
DRAM动态随机存储器主要用作主存储器。长期以来,我们所用的动态随机存储器都是PM RAM,稍晚些的为FPM RAM。为了跟上CPU越来越快的速度,一些新类型的主存储器被研制出来。它们是EDO RAM、BEDO RAM、SDRAM等。
DRAM芯片设计得象一个二进制位的矩阵,每一个位有一个行地址一个列地址。内存控制器要给出芯片地址才能从芯片中读出指定位的数据。一个标明为70ns的芯片要用70ns的时间读出一个位的数据。并且还要用额外的时间从CPU得到地址信息设置下一条指令。芯片制作技术的不断进步使这种处理效率越来越高。
FPM RAM快速页模式随机存储器,这里的所谓“页”,指的是DRAM芯片中存储阵列上的2048位片断。FPM RAM是最早的随机存储器,60ns的FPMRAM可用于总线速度为66MHz(兆赫兹)的奔腾系统(CPU主频为100,133,166和200MHz)。
快速页模式的内存常用于视频卡,通常称为“DRAM”。其中一种经过特殊设计的内存的存取时间仅为48ns,即VRAM。这种经过特殊设计的内存具有“双口”,其中一个端口可直接被CCPU存取,而另一个端口可独立地被RAM“直接存取通道”存取,这样存储器的“直接存取通道”不必等待CPU完成存取就可同时工作,从而比一般的DRAM要快些。
EDO RAM扩充数据输出随机存储器。在DRAM 芯片之中,除存储单元之外,还有一些附加逻辑电路,现在,人们已注意到RAM芯片的附加逻辑电路,通过增加少量的额外逻辑电路,可以提高在单位时间内的数据流量,即所谓的增加带宽。EDO正是在这个方面作出的尝试。EDO的工作方式颇类似于FPMDRAM,EDO还具有比FPM DRAM更快的理想化突发式读周期时钟安排。这使得在66MHz总线上从DRAM中读取一组由四个元素组成的数据块时能节省3个时钟周期。
BEDO RAM突发扩充数据输出随机存储器,是在一个“突发动作”中读取数据,这就是说在提供了内存地址后,CPU假定其后的数据地址,并自动把它们预取出来。这样,在读下三个数据中的每一个数据时,只用仅仅一个时钟周期,CPU能够以突发模式读数据(采用52ns BEDO和66MHz总线),这种方式下指令的传送速度就大大提高,处理器的指令队列就能有效地填满。现今这种RAM只被VIA 芯片组580VP,590VP,860VP支持。这种真正快速的BEDO RAM也是有缺陷,这就是它无法与频率高于66MHz的总线相匹配。
SDRAM同步动态随机存储器SDRAM与系统时钟同步,采用管管道处理方式,当指定一个特定的地址,SDRAM就可读出多个数据,即实现突发传送。具体来说,第一步,指定地址;第二步,把数据从存储地址传到输出电路;第三步,输出数据到外部。关键是以上三个步骤是各自独立进行的,且与CPU同步,而以往的内存只有从头到尾执行完这三个步骤才能输出数据。这就是SDRAM高速的秘诀。SDRAM的读写周期为10至5ns。SDRAM基于双存储体结构,内含两个交错的存储阵列,当CPU从一个存储体或阵列访问数据的同时,另一个已准备好读写数据。通过两个存储阵列的紧密切换,读取效率得到成倍提高。
SDRAM不仅可用作主存,在显示卡专用内存方面也有广泛应用。对显示卡来说,数据带宽越宽,同时处理的数据就越多,显示的信息就越多,显示质量也就越高。
SDRAM也将应用于共享内存结构(UMA),一种集成主存和显示内存的结构。这种结构在很大程度上降低了系统成本,因为许多高性能显示卡价格高昂,就是因为其专用显示内存成本极高,而UMA技术将利用主存作显示内存,不再需要增加专门显示内存,因而降低了成本。
SRAM静态随机存储器,按产生时间和工作方式来分,静态随机存储器也分为异步和同步。静态随机存储器多用于高速缓存(Cache)。
现今解决CPU与主内存之间的速度匹配的主要方法是在CPU与内存间加上基于SRAM的二级高速缓存,这种内存系统可以承担85%的内存请求,而不需CPU增加额外的等待周期。同时设置较大的缓存更能提高系统的性能。
目前的文件系统多数建立在外存上,文件访问速度较慢,成为数据流的一个瓶颈,通过将文件系统建立在SRAM上,就能够解决这一问题,同时也能够充分利用现在日益增大的SRAM容量。
发明内容
本发明的目的在于提供一种基于SRAM的嵌入式文件系统的实现方法。
本发明解决其技术问题采用的技术方案是,该方法的步骤如下:
1)SRAM文件系统对数据高速缓存的扫描:
静态随机存储器SRAM(Static Random Access Memory),文件系统在装载前,启动数据高速缓存的扫描,获取当前数据高速缓存可用容量;
2)SRAM文件系统的装载:
装载由SRAM文件系统控制块SRAMFSCB的引导开始,从SRAMFSCB数据区间找到最新SRAMFSCB,根据前一步骤的当前数据高速缓存可用容量,进行文件系统的装载,初始化文件系统数据,从而完成初始化工作;
3)SRAM文件系统块分配:
SRAM文件系统将关联的数据,即在使用顺序或者是所处空间上具有连续性的数据内容,组合成为一个块,分配到一段连续的区域中;
4)SRAM文件系统数据替换:
在出现系统需要的数据暂时不在SRAM文件系统中时,采用最近最少使用的替换策略LRU(Least Recently Used),将SRAM文件系统中的数据替换出数据高速缓存,并将需要的数据装入。
本发明与背景技术相比,具有的有益的效果是:
本发明是一种基于SRAM的嵌入式文件系统的实现方法,这种方法充分利用嵌入式系统中用做数据高速缓存的SRAM,通过哈希方法在SRAM上建立一个小型文件系统,建立对常用数据文件在数据高速缓存中的索引,直接对数据高速缓存进行操作。
(1)高效性。本方法加快嵌入式系统中对文件输入输出操作的速度,提高输入输出操作的吞吐率。
(2)实用性。SRAM的容量在嵌入式系统中得到了提升,本方法充分利用了这一特点,使得系统在CPU速度与文件系统的输入输出速度匹配上有了明显的改善,经过使用具有很好的实用性。
附图说明
附图是本发明过程的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
一种基于SRAM的嵌入式文件系统的实现方法,其具体实施方法如下:
1)SRAM文件系统对数据高速缓存的扫描
在SRAM的数据高速缓存中,为了能够很好的进行数据的存取,由嵌入式操作系统提供了标识位,以支持对数据高速缓存使用状态的扫描,如下表所示:
  标识   用途
  Block address   标识块地址
  Tag   标识是否被使用
  Index   标识索引位
  Block offset   标识块偏移
在SRAM文件系统启动时,对数据高速缓存进行扫描。通过检查存在于上表标识中的Tag位,SRAM文件系统能够获得数据高速缓存使用情况的有效数据,从而获取当前数据高速缓存可用容量。
如果当前数据高速缓存有足够的容量可以提供给SRAM文件系统使用,则该数据被保存起来;否则,表示系统正处于繁忙阶段,停止SRAM文件系统的装载过程。
2)SRAM文件系统的装载
装载由SRAM文件系统控制块SRAMFSCB的引导开始。SRAMFSCB驻留在片内存储器上,SRAM文件系统启动时,从SRAMFSCB数据区间找到最新SRAMFSCB,根据前一步骤的当前数据高速缓存可用容量,进行文件系统的装载,初始化文件系统数据,从而完成初始化工作。
SRAM文件系统目录结构比较简单、文件数目有限,将文件和目录作为一种对象统一管理。访问文件时,通过对文件路径的直接哈稀,计算出文件的索引号,再访问索引节点。这样明显加快了路径查找。
同时,在加载的过程中,利用索引进行初始化,由此,SRAM文件系统不需要通过扫描所有的文件来进行加载,从而简化了建立文件结构的过程,缩短了装载的时间。
3)SRAM文件系统块分配
计算机指令的局部性原理表明,在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时间上集中分布的倾向。
数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性。
根据程序的局部性原理,SRAM文件系统将关联的数据,即在使用顺序或者是所处空间上具有连续性的数据内容,组合成为一个块,分配到一段连续的区域中;把正在执行的指令地址附近的一部分数据文件从主存调入SRAM高速缓存,供CPU在一段时间内使用。这对提高程序的运行速度有很大的作用。从而使得系统的文件访问速度大大加快,提高了输入输出操作的吞吐率。
4)SRAM文件系统数据替换
在出现系统需要的数据暂时不在SRAM文件系统中时,采用最近最少使用的替换策略LRU,从SRAM数据高速缓存中找出最近使用最少的数据文件,将SRAM文件系统中的数据替换出数据高速缓存,同时从存储器中将将需要的数据读取出来,并装入到数据高速缓存。
最近最少用调度算法是一种通用的有效算法,被操作系统、数据库管理系统和专用文件系统广泛采用。该算法淘汰的页面是在最近一段时间里较久未被访问的那一页。它是根据程序执行时所具有的局部属性来考虑的,即那些刚被使用过的页面,可能马上还要被使用,而那些在较长时间里未被使用的页面,一般说可能不会马上使用到。
为了能比较准确地淘汰最近最少使用的页,必须维护一个特殊的队列(本书中称它为页面淘汰序列)。该队列中存放当前在主存中的页号,每当访问一页时就调整一次,使队列尾总指向最近访问的页,队列头就是最近最少用的页。显然,发生缺页中断时总淘汰队列头所指示的页;而执行一次页面访问后,需要从队列中把该页调整到队列尾。
例:给某进程分配了三块主存,该作业依次访问的页号为:4,3,0,4,1,1,2,3,2。于是当访问这些页时,页面淘汰序列的变化情况如下:
  访问页号   页面淘汰序列   被淘汰页面
  4   4
  3   4,3
  0   4,3,0
  4   3,0,4
  1   0,4,1 3
  1   0,4,1
  2   4,1,2   0
  3   1,2,3   4
  2   1,3,2
从实现角度来看,LRU算法的操作复杂,代价极高,因此在实现时往往采用模拟的方法。
第一种模拟方法可以通过设置标志位来实现。给每一页设置一个引用标志位R,每次访问某一页时,由硬件将该页的标志R置1,隔一定的时间t将所有页的标志R均清0。在发生缺页中断时,从标志位R为0的那些页中挑选一页淘汰。在挑选到要淘汰的页后,也将所有页的标志R清0。这种实现方法开销小,但t的大小不易确定而使精确性差。t大了,缺页中断时所有页的标志R值均为1;t小了,缺页中断时,可能所有页的R值均为“0”,同样很难挑选出应该淘汰的页面。
第二种模拟方法则是为每个页设置一个多位的寄存器r。当页面被访问时,对应的寄存器的最左边位置1;每隔时间t,将r寄存器右移一位;在发生缺页中断时,找最小数值的r寄存器对应的页面淘汰。
该算法是一种公开算法,可以用一般的程序设计语言实现,例如C,C++,Java等。

Claims (1)

1.一种基于SRAM的嵌入式文件系统的实现方法,其特征在于:
1)SRAM文件系统对数据高速缓存的扫描:
静态随机存储器SRAM文件系统在装载前,启动数据高速缓存的扫描,获取当前数据高速缓存可用容量;
2)SRAM文件系统的装载:
装载由SRAM文件系统控制块SRAMFSCB的引导开始,从SRAMFSCB数据区间找到最新SRAMFSCB,根据前一步骤的当前数据高速缓存可用容量,进行文件系统的装载,初始化文件系统数据,从而完成初始化工作;
3)SRAM文件系统块分配:
SRAM文件系统将关联的数据,即在使用顺序或者是所处空间上具有连续性的数据内容,组合成为一个块,分配到一段连续的区域中;
4)SRAM文件系统数据替换:
在出现系统需要的数据暂时不在SRAM文件系统中时,采用最近最少使用的替换策略LRU,将SRAM文件系统中的数据替换出数据高速缓存,并将需要的数据装入。
CNB2006100498756A 2006-03-16 2006-03-16 基于sram的嵌入式文件系统的实现方法 Expired - Fee Related CN100377118C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100498756A CN100377118C (zh) 2006-03-16 2006-03-16 基于sram的嵌入式文件系统的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100498756A CN100377118C (zh) 2006-03-16 2006-03-16 基于sram的嵌入式文件系统的实现方法

Publications (2)

Publication Number Publication Date
CN1818887A CN1818887A (zh) 2006-08-16
CN100377118C true CN100377118C (zh) 2008-03-26

Family

ID=36918906

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100498756A Expired - Fee Related CN100377118C (zh) 2006-03-16 2006-03-16 基于sram的嵌入式文件系统的实现方法

Country Status (1)

Country Link
CN (1) CN100377118C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833559B (zh) * 2009-11-05 2012-07-04 北京炬力北方微电子有限公司 一种读取fat磁盘文件的方法和装置
CN103019955B (zh) * 2011-09-28 2016-06-08 中国科学院上海微系统与信息技术研究所 基于pcram主存应用的内存管理方法
CN102902748A (zh) * 2012-09-18 2013-01-30 上海移远通信技术有限公司 文件系统建立方法、管理方法及其ram和通信芯片
CN105094827B (zh) * 2015-07-24 2018-08-28 上海新储集成电路有限公司 一种处理器启动的方法
CN105550345B (zh) 2015-12-25 2019-03-26 百度在线网络技术(北京)有限公司 文件操作方法和装置
CN108958813A (zh) * 2018-06-13 2018-12-07 北京无线电测量研究所 文件系统构建方法、装置及存储介质
CN109857573B (zh) * 2018-12-29 2021-03-05 深圳云天励飞技术有限公司 一种数据共享方法、装置、设备及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069325A1 (en) * 1999-06-25 2002-06-06 Fong Pong Caching method using cache data stored in dynamic ram embedded in logic chip and cache tag stored in static ram external to logic chip
US20020188797A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Unified SRAM cache system for an embedded DRAM system having a micro-cell architecture
CN1529239A (zh) * 2003-09-28 2004-09-15 中兴通讯股份有限公司 嵌入式设备文件系统的容错处理方法
CN1632745A (zh) * 2003-12-22 2005-06-29 中国电子科技集团公司第三十研究所 运用ide接口的多个设备的文件系统操作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069325A1 (en) * 1999-06-25 2002-06-06 Fong Pong Caching method using cache data stored in dynamic ram embedded in logic chip and cache tag stored in static ram external to logic chip
US20020188797A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Unified SRAM cache system for an embedded DRAM system having a micro-cell architecture
CN1529239A (zh) * 2003-09-28 2004-09-15 中兴通讯股份有限公司 嵌入式设备文件系统的容错处理方法
CN1632745A (zh) * 2003-12-22 2005-06-29 中国电子科技集团公司第三十研究所 运用ide接口的多个设备的文件系统操作方法

Also Published As

Publication number Publication date
CN1818887A (zh) 2006-08-16

Similar Documents

Publication Publication Date Title
CN100377118C (zh) 基于sram的嵌入式文件系统的实现方法
US6389507B1 (en) Memory device search system and method
US20160085585A1 (en) Memory System, Method for Processing Memory Access Request and Computer System
CN103019955B (zh) 基于pcram主存应用的内存管理方法
US9280464B2 (en) System and method for simultaneously storing and reading data from a memory system
CN105938458B (zh) 软件定义的异构混合内存管理方法
CN100383792C (zh) 缓存数据库数据组织方法
CN103885728A (zh) 一种基于固态盘的磁盘缓存系统
EP4060505A1 (en) Techniques for near data acceleration for a multi-core architecture
CN100549945C (zh) 嵌入式系统中基于spm的指令缓冲的实现方法
US20130191587A1 (en) Memory control device, control method, and information processing apparatus
CN106909323A (zh) 适用于dram/pram混合主存架构的页缓存方法及混合主存架构系统
CN103488582B (zh) 写高速缓冲存储器的方法及装置
KR20160121819A (ko) 이종 메모리 기반 데이터 관리 장치
CN101021783A (zh) 面向流数据的重排序访存缓冲方法及装置
US7787311B2 (en) Memory with programmable address strides for accessing and precharging during the same access cycle
US20040236921A1 (en) Method to improve bandwidth on a cache data bus
Liu et al. Efficient wear leveling for PCM/DRAM-based hybrid memory
Jing et al. Retention-aware hybrid main memory (rahmm): Big dram and little scm
US20190095122A1 (en) Memory management system, computing system, and methods thereof
CN103365787B (zh) Nand闪存存储设备及加速应用程序启动的方法
CN108121671A (zh) 集成电路
Chang et al. Enabling efficient dynamic resizing of large DRAM caches via a hardware consistent hashing mechanism
CN105608021B (zh) 一种利用内容寻址mram存储装置和方法
TWI721660B (zh) 控制資料讀寫裝置與方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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: 20080326

Termination date: 20120316