CN1818887A - 基于sram的嵌入式文件***的实现方法 - Google Patents
基于sram的嵌入式文件***的实现方法 Download PDFInfo
- Publication number
- CN1818887A CN1818887A CNA2006100498756A CN200610049875A CN1818887A CN 1818887 A CN1818887 A CN 1818887A CN A2006100498756 A CNA2006100498756 A CN A2006100498756A CN 200610049875 A CN200610049875 A CN 200610049875A CN 1818887 A CN1818887 A CN 1818887A
- Authority
- CN
- China
- Prior art keywords
- data
- sram
- file system
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000003068 static effect Effects 0.000 claims description 7
- 230000008901 benefit Effects 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 38
- 238000003860 storage Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于SRAM的嵌入式文件***的实现方法。本发明的方法在充分利用嵌入式***中用做数据高速缓存的SRAM,通过哈希方法在SRAM上建立一个小型文件***,建立对常用数据文件在数据高速缓存中的索引,直接对数据高速缓存进行操作。本发明的方法能够加快嵌入式***中对文件输入输出操作的速度,提高输入输出操作的吞吐率,提高对大容量数据高速缓存的利用率。
Description
技术领域
本发明涉及嵌入式文件***领域,特别是涉及一种基于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至15ns。SDRAM基于双存储体结构,内含两个交错的存储阵列,当CPU从一个存储体或阵列访问数据的同时,另一个已准备好读写数据。通过两个存储阵列的紧密切换,读取效率得到成倍提高。
SDRAM不仅可用作主存,在显示卡专用内存方面也有广泛应用。对显示卡来说,数据带宽越宽,同时处理的数据就越多,显示的信息就越多,显示质量也就越高。
SDRAM也将应用于共享内存结构(UMA),一种集成主存和显示内存的结构。这种结构在很大程度上降低了***成本,因为许多高性能显示卡价格高昂,就是因为其专用显示内存成本极高,而UMA技术将利用主存作显示内存,不再需要增加专门显示内存,因而降低了成本。
SRAM静态随机存储器,按产生时间和工作方式来分,静态随机存储器也分为异步和同步。静态随机存储器多用于高速缓存(Cache)。
现今解决CPU与主内存之间的速度匹配的主要方法是在CPU与内存间加上基于SRAM的二级高速缓存,这种内存***可以承担85%的内存请求,而不需CPU增加额外的等待周期。同时设置较大的缓存更能提高***的性能。
目前的文件***多数建立在外存上,文件访问速度较慢,成为数据流的一个瓶颈,通过将文件***建立在SRAM上,就能够解决这一问题,同时也能够充分利用现在日益增大的SRAM容量。
发明内容
本发明的目的在于提供一种基于SRAM的嵌入式文件***的实现方法。
本发明解决其技术问题采用的技术方案如下:
1)SRAM文件***对数据高速缓存的扫描
静态随机存储器SRAM,Static Random Access Memory,SRAM文件***的在装载前,启动数据高速缓存的扫描,获取当前数据高速缓存可用容量;
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,Static Random Access Memory,SRAM文件***的在装载前,启动数据高速缓存的扫描,获取当前数据高速缓存可用容量;
2)SRAM文件***的装载
装载由SRAM文件***控制块SRAMFSCB的引导开始,从SRAMFSCB数据区间找到最新SRAMFSCB,根据前一步骤的当前数据高速缓存可用容量,进行文件***的装载,初始化文件***数据,从而完成初始化工作;
3)SRAM文件***块分配
SRAM文件***将关联的数据,即在使用顺序或者是所处空间上具有连续性的数据内容,组合成为一个块,分配到一段连续的区域中;
4)SRAM文件***数据替换
在出现***需要的数据暂时不在SRAM文件***中时,采用最近最少使用的替换策略LRU,Least Recently Used,将SRAM文件***中的数据替换出数据高速缓存,并将需要的数据装入。
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 true CN1818887A (zh) | 2006-08-16 |
CN100377118C 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) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833559B (zh) * | 2009-11-05 | 2012-07-04 | 北京炬力北方微电子有限公司 | 一种读取fat磁盘文件的方法和装置 |
CN102902748A (zh) * | 2012-09-18 | 2013-01-30 | 上海移远通信技术有限公司 | 文件***建立方法、管理方法及其ram和通信芯片 |
CN103019955A (zh) * | 2011-09-28 | 2013-04-03 | 中国科学院上海微***与信息技术研究所 | 基于pcram主存应用的内存管理方法 |
CN105094827A (zh) * | 2015-07-24 | 2015-11-25 | 上海新储集成电路有限公司 | 一种处理器启动的方法 |
WO2017107414A1 (zh) * | 2015-12-25 | 2017-06-29 | 百度在线网络技术(北京)有限公司 | 文件操作方法和装置 |
CN108958813A (zh) * | 2018-06-13 | 2018-12-07 | 北京无线电测量研究所 | 文件***构建方法、装置及存储介质 |
CN109857573A (zh) * | 2018-12-29 | 2019-06-07 | 深圳云天励飞技术有限公司 | 一种数据共享方法、装置、设备及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449690B1 (en) * | 1999-06-25 | 2002-09-10 | Hewlett-Packard Company | Caching method using cache data stored in dynamic RAM embedded in logic chip and cache tag stored in static RAM external to logic chip |
US6876557B2 (en) * | 2001-06-12 | 2005-04-05 | Ibm Corporation | Unified SRAM cache system for an embedded DRAM system having a micro-cell architecture |
CN1328662C (zh) * | 2003-09-28 | 2007-07-25 | 中兴通讯股份有限公司 | 嵌入式计算机***中的嵌入式文件***的容错处理方法 |
CN1632745A (zh) * | 2003-12-22 | 2005-06-29 | 中国电子科技集团公司第三十研究所 | 运用ide接口的多个设备的文件***操作方法 |
-
2006
- 2006-03-16 CN CNB2006100498756A patent/CN100377118C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833559B (zh) * | 2009-11-05 | 2012-07-04 | 北京炬力北方微电子有限公司 | 一种读取fat磁盘文件的方法和装置 |
CN103019955A (zh) * | 2011-09-28 | 2013-04-03 | 中国科学院上海微***与信息技术研究所 | 基于pcram主存应用的内存管理方法 |
CN103019955B (zh) * | 2011-09-28 | 2016-06-08 | 中国科学院上海微***与信息技术研究所 | 基于pcram主存应用的内存管理方法 |
CN102902748A (zh) * | 2012-09-18 | 2013-01-30 | 上海移远通信技术有限公司 | 文件***建立方法、管理方法及其ram和通信芯片 |
CN105094827A (zh) * | 2015-07-24 | 2015-11-25 | 上海新储集成电路有限公司 | 一种处理器启动的方法 |
CN105094827B (zh) * | 2015-07-24 | 2018-08-28 | 上海新储集成电路有限公司 | 一种处理器启动的方法 |
WO2017107414A1 (zh) * | 2015-12-25 | 2017-06-29 | 百度在线网络技术(北京)有限公司 | 文件操作方法和装置 |
US11003625B2 (en) | 2015-12-25 | 2021-05-11 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for operating on file |
CN108958813A (zh) * | 2018-06-13 | 2018-12-07 | 北京无线电测量研究所 | 文件***构建方法、装置及存储介质 |
CN109857573A (zh) * | 2018-12-29 | 2019-06-07 | 深圳云天励飞技术有限公司 | 一种数据共享方法、装置、设备及*** |
Also Published As
Publication number | Publication date |
---|---|
CN100377118C (zh) | 2008-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885728B (zh) | 一种基于固态盘的磁盘缓存*** | |
CN1135477C (zh) | 实现动态显示存储器的方法和装置 | |
CN1818887A (zh) | 基于sram的嵌入式文件***的实现方法 | |
JP6920107B2 (ja) | データの取得方法及び格納方法並びに重複除去モジュール | |
CN103019955B (zh) | 基于pcram主存应用的内存管理方法 | |
CN105938458B (zh) | 软件定义的异构混合内存管理方法 | |
CN102012791A (zh) | 基于Flash的数据存储PCIE板卡 | |
CN1831824A (zh) | 缓存数据库数据组织方法 | |
CN108153682B (zh) | 一种利用闪存内部并行性进行闪存转换层地址映射的方法 | |
CN111930316B (zh) | 一种内容分发网络的缓存读写***和方法 | |
CN1195817A (zh) | 在非包含的高速缓存存储器分级体系内使用的实现高速缓存一致性机制的方法和*** | |
CN102663115A (zh) | 基于页面染色技术的内存数据库访问优化方法 | |
CN100549945C (zh) | 嵌入式***中基于spm的指令缓冲的实现方法 | |
US20130007341A1 (en) | Apparatus and method for segmented cache utilization | |
CN1896972A (zh) | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 | |
CN110795213B (zh) | 一种虚拟机迁移过程中活跃内存预测迁移方法 | |
CN110968269A (zh) | 基于scm与ssd的键值存储***及读写请求处理方法 | |
CN101034375A (zh) | 计算机存储*** | |
CN106909323B (zh) | 适用于dram/pram混合主存架构的页缓存方法及混合主存架构*** | |
CN116501249A (zh) | 一种减少gpu内存重复数据读写的方法及相关设备 | |
Ding et al. | TriangleKV: Reducing write stalls and write amplification in LSM-tree based KV stores with triangle container in NVM | |
CN1255732C (zh) | 使用预取缓冲器进行存储器功率管理的***和方法 | |
KR20160121819A (ko) | 이종 메모리 기반 데이터 관리 장치 | |
CN102411543A (zh) | 缓存地址的处理方法和装置 | |
CN1949191A (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 |