CN114510198B - 一种提高nvm擦写效率的方法 - Google Patents
一种提高nvm擦写效率的方法 Download PDFInfo
- Publication number
- CN114510198B CN114510198B CN202210140090.9A CN202210140090A CN114510198B CN 114510198 B CN114510198 B CN 114510198B CN 202210140090 A CN202210140090 A CN 202210140090A CN 114510198 B CN114510198 B CN 114510198B
- Authority
- CN
- China
- Prior art keywords
- cache
- page
- nvm
- data
- written
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提出一种提高NVM擦写效率的方法,该方法除使用一般的缓存机制缓存待写入数据之外,还加入了LRU算法用于优化CACHE中的页面置换方法,使得频繁更新的数据能够一直存储在CACHE中,加快写的效率,同时频繁更新的数据在修改时也不用每次都从NVM中读取,进一步加快写的效率。本发明主要解决NVM存储的寿命问题以及更新数据的效率问题,通过间接减少NVM的擦写次数来提高NVM的寿命,同时通过减少NVM的读的次数提高整体写性能与功耗。
Description
技术领域
本发明涉NVM存储与更新技术领域,以及智能卡、SE、MCU等需要用到NVM擦写的所有芯片。PC机端作为对比测试也可以使用本发明中提到的方法。
背景技术
一般芯片中都会有NVM作为存储代码和数据使用,在实际使用当中会有更新数据的需求。但由于目前NVM的技术,擦写次数有限,长时间擦写会使得芯片NVM报废,同时应用层对于指令的执行时间有苛刻的要求,所以需要通过减少NVM的擦写次数来提高寿命,加快指令处理时间。
一般减少NVM擦写次数的方法是定义N页RAM(称之为CACHE,下同),单页大小和NVM的单页大小相同,假如是N=6页(本文的其他描述有关于CACHE页数总大小的都按照6页来描述)。当准备执行写行为时,先根据写入的地址计算待写页号PN,然后从CACHEPN[i](其中0≤i<6,下同)中查找有没有相同的PN,找到相同的直接更新CACHE[i],没找到则查看CACHE中是否存满了用户待写入数据,如果存满了则执行把数据全部进行提交到NVM的行为,然后再把待写入的页的内容从NVM中读取到CACHE中,然后再根据传入的修改数据修改这页CACHE。待这条指令结束时,再把这页CACHE提交到NVM中,并清空CACHE。
这样做虽然可以有效减少擦写NVM的次数,但是如果写入数据比较多,且处于不同页,并且不同页的数量大于6,则依然会出现多次擦写NVM的情况。且每条指令结束后,全部数据提交后,下一条指令执行写操作时,依然需要先把数据读到CACHE再修改。
因此,为了进一步提高擦写性能,减少擦写次数,在CACHE满了之后,此时并不能把所有CACHE都提交到NVM中,而是需要选择一页最久未更新的CACHE页进行提交,然后把新的需要写入的页读到该页CACHE中,然后进行修改。与此同时,在每条指令结束前进行CACHE提交时,提交之后不应该清空CACHE,但是需要每页置一个标记,标明该页数据不需要提交,当下条指令写入的数据正好处于CACHE中时,直接修改CACHE,而不再需要从NVM中读取一整页数据,加快整体性能,降低整体功耗。
发明内容
在具体讲解发明内容之前先介绍一些基本概念,有助于理解整个发明内容。
1、NVM一般指FLASH或E2P,其中E2P可以按字节进行更新,FLASH只能按页更新,且必须先擦再写。本文提到的NVM一般指FLASH。
2、NVM中存储的数据,掉电之后不丢失,RAM中存储的数据掉电之后丢失,更新NVM的时间很长,且只能按页更新;更新RAM的时间很短,可以按字节更新。
3、更新NVM会产生很大的功耗,读NVM也会产生功耗,而读写RAM的功耗很低。
4、NVM擦写有次数限制,一般单页是10W次,当擦写次数超过此限制时,数据将不可写入,如果软件没有做其他处理,芯片将无法继续使用;RAM没有限制,可以写无数次。
5、CACHE是一种RAM缓存,本质是RAM,大小以NVM一页为单位,一页大小必须是2的幂次,一般是512。每一个CACHE页都会对应某一个物理页中的一整页数据,同时附加两个数据,一个是该页对应的物理页号,记做CACHEPN,一个是该页的更新标记,记做CACHEFLAG。
我们执行读写数据的原则是功耗尽量低,速度尽量快,尽可能少的擦写FLASH次数,尽可能少的读FLASH次数。
我们使用CACHE[i]表示某一页CACHE数据,i是CACHE索引代号,0≤i<N,使用CACHEPN[i]表明该页CACHE对应的物理页号,也就是执行提交操作时,需要把该页CACHE数据提交到哪个物理页中;使用CACHEFLAG[i]表明该页CACHE数据是否需要提交到NVM,如果CACHEFLAG[i]为标记A,则表明该页CACHE数据需要提交到NVM中,如果CACHEFLAG[i]为标记B,则表明该页CACHE数据不需要提交到NVM中。
本发明提供一种加速NVM擦写的方法,以通过减少NVM擦写次数来变相降低总擦写时间。
为了实现此目标,我们需要预置一些RAM作为存储待写入数据的CACHE缓存,这里假定CACHE的页数为6,当一条指令中多次出现对同一页的更新时,只需要修改CACHE即可。
当一条指令中写入的不同数据页的页数大于6时,此时需要从当前的CACHE中,选择一页进行提交NVM的操作,选择的原则是根据引用矩阵,依照某个法则,确保选择的页是最久未更新的页,这样留下的页都是后续被更新几率更大的,也就有更大的几率在更新时命中CACHE,进而执行修改RAM的操作,否则如果没命中CACHE,就又要根据引用矩阵,依照某个法则选择一页执行提交NVM的操作,进而降低效率。当提交完该页数据后,立即正向更新引用矩阵。
所有进到CACHE中的数据,都额外需要一个标记,这个标记用于控制该页CACHE是否需要提交,当标记值为标记A时,表示该页CACHE中的数据需要被提交到NVM中;当标记值为标记B时,表明该页不需要被提交到NVM中。在一条指令准备结束之时,需要把CACHE中的所有有效数据提交到NVM中。这里的有效数据指CACHEFLAG[i]为标记A。任何一页CACHE的提交都会触发一次正向更新引用矩阵的行为。
这么做的目的是每次对应页CACHE数据提交到NVM后,并不清空该页CACHE[i]和CACHEPN[i],只把CACHEFLAG[i]写成标记B,这样的好处有两个:
1、当用户执行读行为时,可以通过CACHEPN[i]来命中CACHE,因为针对该页的最后一次NVM提交之后,该页中存储的数据实际上和NVM相同,此时不需要再去读NVM,而是直接读RAM,这样读行为就可以命中CACHE,减少由于读NVM造成的额外功耗。
2、当用户对该页执行写行为时,由于该页一直存储在CACHE中,所以不需要把存储在NVM中的一页数据读到CACHE中,直接修改CACHE即可,减少一个页读行为,降低功耗,提升速度。
当用户期望把某个存储于CACHE中的数据,取消提交时(无论该CACHE页是否被修改过),需要执行反向更新引用矩阵的操作,同时把CACHEPN[i]设成无效页号,并把CACHEFLAG[i]设成标记B。
下面来介绍引用矩阵以及引用矩阵的正向更新和反向更新的方法。
引入引用矩阵的目的,或者说我们要解决的问题是:如果发生“缓存落空”(也就是没找到匹配的CACHEPN),那么为了确保新的待写入的数据进入CACHE,我们应该把哪一块现有缓存进行提交,然后留出空块用于存储待写入数据块。我们无法预知下一次用户会写入哪一页,但最理想的做法是把上一次使用时间距离现在最久的那块CACHE替换掉,也就是LRU策略(least recently used)。
引用矩阵为一个N*N的数组,每个元素为0或者1,该策略的核心是当第i缓存块被使用后,把矩阵中第i行元素设为1,然后将第i列元素设为0。下图依次演示了矩阵初始状态和矩阵后续变化,即第3,0,5,1,4,5,2,3块缓存被使用时的矩阵状态。
在每个矩阵的6行中,有一行含有五个“1”,有一行含有四个“1”,有一行含有三个“1”,有一行含有两个“1”,有一行含有一个“1”,还有一行没有“1”。没有“1”的那行,其行号也就代表上次使用时间距现在最远的那块缓存,“1”的个数越多,表明上次使用时间据现在越近。当发生“缓存落空”时,我们需要找到全是“0”的那一行,并且将该块缓存进行提交,然后存入待写入数据页,把该行元素全设为1.表示此缓存块是刚使用过的,然后将矩阵中该列元素置0。
以上均是引用矩阵的正向更新,也就是期望利用LRU策略把某一页数据剔除CACHE,然后把新数据写进CACHE。但是还有一种情况是用户主动想取消某一个物理页的写行为,且该页数据已经进了CACHE。这时就要用到引用矩阵的反向更新。
反向更新引用矩阵的方法是:根据输入的待取消的PN,到CACHEPN[i]中查找,如果找到了,则先把引用矩阵中第i列元素置1,再把第i行元素置0。我们在图4的基础上取消第二页缓存,得到图5。
附图说明:
图1为本发明用户的写NVM行为示意图;
图2为本发明用户的读NVM行为示意图;
图3用户取消某一个存在于CACHE中的物理页的示意图;
图4为引用矩阵的正向更新示例;
图5为引用矩阵的正向更新和一个反向更新示例。
图6本发明的实施例一之前的数据准备状态。
图7本发明的实施例一执行之后的数据状态。
图8本发明的实施例二执行之后的数据状态。
图9本发明的实施例三执行之后的数据状态。
图10本发明的实施例四执行之后的数据状态。
具体实施方式:
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行实际数据的举例说明。标记A用0x55表示,标记B用0xAA表示,无效页号用0xFFFF表示。
本发明的核心框图如图1、图2所示,其中图1为用户写NVM行为,图2为用户读NVM行为。
图3为当用户取消某一个存在于CACHE中的物理页时的流程示意,避免该页数据后续被提交到NVM中。
图4为引用矩阵的8次正向更新示例图。
图5为引用矩阵的6次正向更新和1次反向更新示例图。。
图6为某个初始状态时,各个数据的状态,包括引用矩阵,CACHEPN[i],CACHE[i]及CACHEFLAG[i],其中0≤i≤5,下同。
图7为用户触发更新CACHE中已有的第四页数据为一整页0x06之后,各个数据的变化及当前状态。
图8为用户触发更新CACHE中没有的第七页数据为一整页0x07之后,各个数据的变化及当前状态。
图9为用户触发取消更新CACHE中已有的第四页数据之后,各个数据的变化及当前状态。
图10为用户把所有数据都提交到NVM之后,各个数据的变化及当前状态。
实施例1:
针对图6的初始状态,执行更新第四页为全0x06的行为,因为CACHEPN[4]=0x0004,故在CACHEPN中直接找到了待更新的页,此时直接更新CACHE[4]中的一页数据为全0x06,同时更新引用矩阵,第四行更新成全1,第四列更新成全0,此时全0行为第二行,即当前最久未更新的页是第二页,第四行1的个数最多,即表明第四行是刚刚更新过的。CACHEFLAG[4]依然为0x55,因为该页最终需要提交到NVM中。最终结果见图7。
实施例2:
针对图7的状态,执行更新物理的第七页为全0x07的行为,因为CACHEPN[i]中不包含0x0007这个页号,所以此时需要通过引用矩阵淘汰掉一页最久未使用的缓存页。通过查找引用矩阵中的全0行,可以知道当前最久未更新的物理页是第二页,那么先把该页写到NVM中,再把CACHEPN[2]赋值成0x0007,最后把CACHE[2]一整页写成全0x07。因为物理的第七页最终也需要写入NVM,所以保持CACHEFLAG[2]为0x55。最终结果见图8。
实施例3:
针对图8的状态,执行取消物理第四页的写入行为,因为CACHEPN[4]=0x0004,故在CACHEPN中找到了待取消更新的页,由于取消该页的更新行为,所以需要后续对物理第四页进行读取或更新时,不能再使用CACHE中的数据,所以需要把CACHEPN[4]赋值为0xFFFF,同时CACHEFLAG[4]应设为0xAA,表明该页数据无效,最终提交CACHE时不需要写入该页。而CACHE[4]中存储的一页数据,此时都是脏数据,不需要额外进行操作。最终结果见图9。
实施例4:
针对图9的状态,执行提交所有CACHE到NVM的操作。提交之后,CACHE中所有页的内容,和NVM中保持一致,后续读取NVM中的内容时,依然可以从CACHE中读取,所以图9和图10的CACHEPN[i]保持一致。但数据已经提交,在没有修改的情况下不需要提交第二次,所以需要把所有的CACHEFLAG[i]设为0xAA,表明该页不需要再次提交,除非有新的写行为。而引用矩阵保持不变,因为数据全部提交与否不影响之前数据的先后使用时间,即在图10中,即使提交了所有数据,后续有新的数据需要写入时,依然要根据引用矩阵把数据装载到CACHE[4]中,以确保更多的有效数据存储于CACHE中,减少NVM页读行为,加快整体读速度。
Claims (1)
1.一种提高NVM擦写效率的方法,其特征在于,措施包括:
1)写入操作:
执行写入操作时,根据写入地址计算待写页号PN,通过比较待写页号PN与CACHE中对应的若干个物理页号CACHEPN,判断当前CACHE缓存中是否存在待写入的页:
CACHE命中:如果PN和第i个CACHEPN相等,0≤i<N,N为大于0的任意整数,则直接在该页CACHE数据CACHE[i]中更新待写入的数据;
CACHE未命中:如果PN不等于任何一个CACHEPN,则根据引用矩阵获取一个CACHE索引i,并把待写入的页号PN对应存储在NVM中的一整页数据读出来存储到CACHE[i]中,然后更新CACHE[i]中的数据,并正向更新引用矩阵,同时设置更新标记CACHEFLAG[i]为标记A,标明该页最终需要提交到NVM中;i是CACHE索引代号,0≤i<N,所述CACHE命中和CACHE未命中里分别描述的i互相之间并无关联;
2)提交操作:
在当前指令全部结束后,执行提交操作,把CACHE中更新标记CACHEFLAG[i]为标记A的有效数据页更新到NVM中,然后设置更新标记CACHEFLAG[i]为标记B,标明该页不再需要提交到NVM中;
3)取消操作:
如需要执行某页的取消写入操作时,根据待取消写入地址计算待写页号PN,通过比较待取消页号PN与CACHE中对应的若干个物理页号CACHEPN,判断当前CACHE缓存中是否存在待写入的页,如果PN和第i个CACHEPN相同,则设置物理页号CACHEPN[i]为无效页号并反向更新引用矩阵,并设置更新标记CACHEFLAG[i]为标记B,所述取消操作和所述写入操作里分别描述的i互相之间并无关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210140090.9A CN114510198B (zh) | 2022-02-16 | 2022-02-16 | 一种提高nvm擦写效率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210140090.9A CN114510198B (zh) | 2022-02-16 | 2022-02-16 | 一种提高nvm擦写效率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114510198A CN114510198A (zh) | 2022-05-17 |
CN114510198B true CN114510198B (zh) | 2023-06-30 |
Family
ID=81552058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210140090.9A Active CN114510198B (zh) | 2022-02-16 | 2022-02-16 | 一种提高nvm擦写效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114510198B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
WO2015185002A1 (zh) * | 2014-06-06 | 2015-12-10 | 华为技术有限公司 | 一种数据写入方法及装置 |
CN105786717A (zh) * | 2016-03-22 | 2016-07-20 | 华中科技大学 | 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统 |
WO2017107161A1 (zh) * | 2015-12-25 | 2017-06-29 | 研祥智能科技股份有限公司 | 基于异构混合内存的nvm内存擦写控制方法和系统 |
CN107291405A (zh) * | 2017-08-17 | 2017-10-24 | 北京中电华大电子设计有限责任公司 | 一种NorFlash的数据管理方法与装置 |
CN107784121A (zh) * | 2017-11-18 | 2018-03-09 | 中国人民解放军国防科技大学 | 一种基于非易失内存的日志文件系统的小写优化方法 |
CN109254878A (zh) * | 2018-09-27 | 2019-01-22 | 北京中电华大电子设计有限责任公司 | 一种基于字写的智能卡掉电备份方法和数据结构 |
CN110427285A (zh) * | 2019-08-06 | 2019-11-08 | 北京中电华大电子设计有限责任公司 | 一种高性能的智能卡镜像保护方法和数据结构 |
CN112231244A (zh) * | 2020-12-21 | 2021-01-15 | 深圳杰睿联科技有限公司 | 应用于SoftSIM的SIM卡文件擦写系统、方法和可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104614B2 (en) * | 2011-09-16 | 2015-08-11 | Apple Inc. | Handling unclean shutdowns for a system having non-volatile memory |
US20170024326A1 (en) * | 2015-07-22 | 2017-01-26 | CNEX-Labs, Inc. | Method and Apparatus for Caching Flash Translation Layer (FTL) Table |
WO2017113213A1 (zh) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | 访问请求处理方法、装置及计算机系统 |
-
2022
- 2022-02-16 CN CN202210140090.9A patent/CN114510198B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
WO2015185002A1 (zh) * | 2014-06-06 | 2015-12-10 | 华为技术有限公司 | 一种数据写入方法及装置 |
WO2017107161A1 (zh) * | 2015-12-25 | 2017-06-29 | 研祥智能科技股份有限公司 | 基于异构混合内存的nvm内存擦写控制方法和系统 |
CN105786717A (zh) * | 2016-03-22 | 2016-07-20 | 华中科技大学 | 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统 |
CN107291405A (zh) * | 2017-08-17 | 2017-10-24 | 北京中电华大电子设计有限责任公司 | 一种NorFlash的数据管理方法与装置 |
CN107784121A (zh) * | 2017-11-18 | 2018-03-09 | 中国人民解放军国防科技大学 | 一种基于非易失内存的日志文件系统的小写优化方法 |
CN109254878A (zh) * | 2018-09-27 | 2019-01-22 | 北京中电华大电子设计有限责任公司 | 一种基于字写的智能卡掉电备份方法和数据结构 |
CN110427285A (zh) * | 2019-08-06 | 2019-11-08 | 北京中电华大电子设计有限责任公司 | 一种高性能的智能卡镜像保护方法和数据结构 |
CN112231244A (zh) * | 2020-12-21 | 2021-01-15 | 深圳杰睿联科技有限公司 | 应用于SoftSIM的SIM卡文件擦写系统、方法和可读存储介质 |
Non-Patent Citations (1)
Title |
---|
面向NVM存储系统的快速文件访问系统;贺庆建;蔡涛;王杰;牛德姣;;计算机应用(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114510198A (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019369B2 (en) | Apparatuses and methods for pre-fetching and write-back for a segmented cache memory | |
EP0157175B1 (en) | Prefetching mechanism for a high speed buffer store | |
EP1066566B1 (en) | Shared cache structure for temporal and non-temporal instructions and corresponding method | |
US7958334B2 (en) | Method and apparatus for an efficient multi-path trace cache design | |
TWI533201B (zh) | 縮減交易回復的快取控制 | |
US7284096B2 (en) | Systems and methods for data caching | |
US20070168627A1 (en) | Method and apparatus for reducing page replacement time in system using demand paging technique | |
CN110018790B (zh) | 一种保证持久性内存中数据崩溃一致性的方法及系统 | |
CN1361887A (zh) | 具有保护的最近最少使用置换方法 | |
EP0604015A2 (en) | Cache control system | |
CN106569960A (zh) | 一种混合主存的末级缓存管理方法 | |
KR100787856B1 (ko) | 플래시 메모리 저장장치의 페이지 교체 방법 | |
CN106663026A (zh) | 针对事务型数据处理执行模式的调用堆栈维护 | |
CN115617712A (zh) | 一种基于组相联高速缓存Cache的LRU替换算法 | |
US20080147989A1 (en) | Lockdown control of a multi-way set associative cache memory | |
CN114510198B (zh) | 一种提高nvm擦写效率的方法 | |
US20180203703A1 (en) | Implementation of register renaming, call-return prediction and prefetch | |
US11836092B2 (en) | Non-volatile storage controller with partial logical-to-physical (L2P) address translation table | |
JP2007272681A (ja) | キャッシュメモリ装置及びそのキャッシュラインの入れ替え方法 | |
CN100428200C (zh) | 一种片上指令cache的实现方法 | |
US8214601B2 (en) | Purging without write-back of cache lines containing spent data | |
US10783083B2 (en) | Cache management device, system and method | |
JP2016062513A (ja) | プロセッサおよびプロセッサシステム | |
US20170147498A1 (en) | System and method for updating an instruction cache following a branch instruction in a semiconductor device | |
US6601155B2 (en) | Hot way caches: an energy saving technique for high performance caches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |