CN1014565B - 用dasd高速缓存器处埋磁盘扇区误差的方法 - Google Patents

用dasd高速缓存器处埋磁盘扇区误差的方法

Info

Publication number
CN1014565B
CN1014565B CN88100953A CN88100953A CN1014565B CN 1014565 B CN1014565 B CN 1014565B CN 88100953 A CN88100953 A CN 88100953A CN 88100953 A CN88100953 A CN 88100953A CN 1014565 B CN1014565 B CN 1014565B
Authority
CN
China
Prior art keywords
page
sector
cache
error
leaf
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
Application number
CN88100953A
Other languages
English (en)
Other versions
CN88100953A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN88100953A publication Critical patent/CN88100953A/zh
Publication of CN1014565B publication Critical patent/CN1014565B/zh
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs

Abstract

在直接存取存储件(DASD)高速缓存系统中,通过读入所要求的扇区和为以后的存取予取一组相邻的扇区的方法,把由数据扇区构成的页存入高速缓存器,磁盘存储介质误差成为产生误差的原因,通过存储表示哪些扇区有误差和哪些扇区没有误差的指示,以及存取这种指示以响应随后的对上述扇区的请求的方法来处理上述误差的。上述指示存储于高速缓存器的每一页之中。此外,在过去装入高速缓存器的那些页和扇区的历也保持在高速缓存器里。

Description

本发明述及具有直接存取存储装置(DASD)的高速缓冲存储器的数据处理系统操作方法的改进,以便处理由存储介质故障引起的磁盘扇区误差。更具体地说,本发明述及高性能个人计算机的一种操作方法,为用DASD高速缓存器处理损坏扇区问题提供一种低费用的解决办法。
众所周知,使用固定磁盘或硬盘驱动装置存储信息,以供同主存储器相连的处理单元处理这些信息。信息是按照柱面和扇区的予定模式的存储在磁盘上,每个扇区含有予先确定数量的字节。驱动装置包括复式磁头,即在存储数据的磁盘的每一面都有磁头。每次只能从磁盘上读取一个扇区的数据,为了读取一个新要求的扇区,首先要将磁头移至包含该扇区的柱面,旋转的磁盘通过磁头,直至到达新要求的扇区,随后读出新扇区,並将其内容装入缓冲器。考虑到从磁盘上存取数据需要的时间,主要是磁头实际移动期间的延迟。因此,当处理过程包含有大量的输入/输出(I/O)操作时,就非常有必要尽可能去降低磁头移动的次数,以达到改进性能的目的。
直接存取存储器高速缓存是一种已知的技术,它提供一种通过降低磁头移动量和实际I/O操作次数改善系统性能的方法。按照这种技术,主存储器的一部分被用作高速缓存器,用来存储若干数量扇区的页。当开始读取新要求的扇区时,並不仅仅读取该扇区,而且还把它的一个或多个相邻扇区也读入该高速缓存器,因而,以后对上述扇 区的访问是以主存储器的速度替代了磁盘驱动速度。因为下一次要处理的数据可能就存储在先前已处理的数据附近,因而能得到性能的改善。
在上述技术中,由于磁盘存储介质有故障而可能产生问题。于是包含这种故障的扇区被认为是坏的或不能用的。这种故障通常可用模式化的方法来辨认,並用简单地跳过坏扇区的方法来避免以后再用到这些坏扇区。这个问题在高速缓存系统中变得更为复杂,这是因为当一个好的扇区开始读入高速缓存器时,同一页上的相邻扇区可能包含误差或是坏的。在我们已知的现有技术中,解决这个问题的途径有两个。第一个途径是任何包含坏扇区的页本身被认为是坏的,因而给用户送去一个误差信号或消息。第二个途径是采用磁盘检测器使得只把好的扇区送入高速缓存器。这是硬件解决办法,而且是比较复杂的,高或本的办法。本发明导出的方法可用软件或程序容易地实现,以提供一种有效的低成本的解决办法,它对价格相对低的高性能个人计算机是尤其有用的。
本发明的目的之一是提供一种新颖的用直接存取存储器体(DASD)的高速缓存系统处理磁盘扇区误差的方法。
本发明的另一个目的是为处理具有直接存取存储器体的高速缓存系统的个人计算机中的扇区误差问题提供一种低成本的解决办法。
本发明的再一个目的是提供一种用直接存取存储器体的高速缓存系统处理扇区误差的方法,该方法能通过对已知的硬体进行编程的手段容易地实现。
本发明的又一个目的是提供一种方法,它可以容易地利用市场上可买得到的磁盘操作系统(DOS)提供高速缓存功能,它使用户能容易地解决处理磁盘误差的问题。
简短地说,依照本发明,当包含多个扇区的每个页被读入主存储器时,同时建立一个单独的表,该表存入表示每一个扇区是好的或是坏的的信息,在随后读取任何扇区时,通过参考或查找该表中的信息,可跳过任何包含有坏的或错误信息的扇区。
本发明的其它目的和优点将在下面结合附图说明加以介绍。其中:
图1是可以执行本发明的个人计算机的示意图;
图2是用于本发明的高速缓冲存储器的数据结构的示意图;
图3是说明怎样从散列表查阅页面的示意图;
图4是说明空闲页清单的示意图;
图5是说明最近最小使用(LRU)清单链的示意图;
图6是说明本发明中的不同程序和硬件通常是如何相互联系的;
图7-12是说明本发明的方法的流程图;
图13是说明误差清单数据结构的示意图。
下面的说明分为两部分。第一部分描述DASD高速缓存器的一般操作及本发明方法运用的环境。第二部分则提供一个怎样处理介质误差的详细描述。然而,必须明白,本发明仅属于一种方法,而不是任何具体的软件实现。
高速缓冲存储器
本发明可在一般的数据处理系统10,如IBM/AT个人计算机中较好地实现。上述系统10通常包括同主存储器14相连接的处理器12以及输入/输出(I/O)器15。这种系统可以装有一个或多个磁盘控制器16,每一个控制器都分别同相应的磁盘驱动器18相连。形成主存储器中的数据结构的是一个高速缓存器20和数据缓冲器21,后者通过磁盘操作系统(DOS)用来缓冲存储由磁盘驱 动器18传递的每个扇区的数据。
参照图2,高速缓存器20包括由多个高速缓存页22-1到22-n组成的页结构21。高速缓存器20还包括一个散列表24,一个空闲清单指针26,一个(最近最少使用)LRU指针28,一个(最近最多使用)MRU指针30,和误差清单31,所有这些将在下面作详细说明。不管高速缓存器多大,这六部分总是有的,它们是:
高速缓冲存储页22-它确定高速缓冲存储页在存储器中的结构,它包含标记代表什么样的实际页的信息,LRU清单部分,散列表交会清单部分,以及按扇区组合的高速缓存页的实际数据。
最近最少使用(LRU)指针28-它指向该高速缓冲器中最近最少使用的高速缓存页,这就是在该高速缓冲器中的其它页都要比由LRU指针指示的页最近更多地被读取。
最近最多使用(MRU)指针30-它指向该高速缓冲器中最近最多使用的高速缓存页,这就是在该高速缓存器中没有一个页比之由MRU指针指示的页面最近更多地被读取。
高速缓冲器散列表(CHT)24-这是一个高速缓存页指针列矢量,这个矢量共有311项。当一个扇区被请求时,高速缓冲器拦截该请求並散列入这个表,以确定这个扇区是否在该高速缓存器里。利用这个散列表去确定一个扇区是否在高速缓存器内,即使该高速缓存器有很大的页面数,也仅需很短的时间。
空闲清单指针(FLP)26-它指向高速缓存器中当时没有使用的高速缓存页、-开始,高速缓存器中的全部页面都在这个清单上,当发现某一页不在高速缓存器里时,就从该空闲清单中移走一页,並放入高速缓存器。
误差清单(EL)31-这个数据结构将在下面详细介绍,它是用来指示以往的页面误差的历史。
表1列出了高速缓存器页22的字段,多字段的结构将在下面规定。注意,所有指针都保持两个字节,这是为适应Intel    8086/80186/80286/80386家族的分节结构,存在指针中的值是节(8086/80186)或段(80286/80386)。假定每个数据结构都是零偏移的。
各个字段的含意是:
字段1    这个字段包括比特或标志,这些比特或标志指示该页中有哪些扇区,这些扇区包括哪些有效数据和哪些扇区由于误差而失落了。
字段2    这个字段确定这个具体的页包含在哪个驱动器上。
字段3    这个字段包括在这个驱动器上的那个页面的起始扇区的相对块地址(RBA)。
字段4    这个字段指向下一页,即较之本页最近更少使用的页,如果本页已是最近最少使用的页,那么这个字段将全部装有O值。这个字段还用来链接空闲清单上的页面。
字段5    这个字段指向较之本页最近较多使用的前一页,如果本页已是最近最多使用的页,那么这个字段将有O值。
字段6    这个字段指向位于散列表的交会清单内的下一页。
字段7    这个字段指向位于散列表的交会清单内的先前一页。
字段8    这个字段包含有来自直接存取存储器件的页的数据。如这个页是被多次引用的,则该页的多个被请求部分将从这个缓冲器度制,而不是在从该存储器件上去读取。
表1    高速缓冲存储器页22
字段    内容    字节数
1    现时标志    2
2    驱动器识别(ID)    1
3    相对块地址(RBA)    4
4    最近最少使用下一    2
5    最近最少使用前一    2
6    交会下一    2
7    交会前一    2
8    页缓冲器    (1-8)个扇区
每个相对块地址(RBA)可由下式确定:
RBA=((CN×NH)+HN)×SPT+SN……(1)
其中    CN=柱面号
NH=每个驱动器的磁头数
HN=磁头号
SPT=每个磁道的扇区数
SN=扇区号
散列索引由下式确定:
散列索引=RBA    Shr    log(页面大小)mod311
……(2)
其中Shr=右移,即RBA右移由页面大小的以2为底的对数
log2(页大小)决定的位数
页面大小=每一页的扇区数
mod=横函数,它保留余数
式中的311是针对散列表的长度提出的值,它是一个相对大的质数。因为311是一个大质数,因此在存取高速缓存器时不可能经常使用它或它的倍数。通过降低同散列算法同步的申请次数,可以使交会链短些,从而使散列更快地消除。
参照图3,表24的不同所引位置0-310,将装有或者0,或者指向开始的指针,也许只有高速缓存页才链接上述位置。如果选择的散列表项目的值为0,那就意味着没有该项目指示的页,因而该页不在高速缓存器里,这就认为是“页故障”。例如,索引位置1为值0,就表示在高速缓存器里没有与此相连的页。相反,如果散列表的项不是0,那么它的值被指针用来指示高速缓存器页22,该高速缓存器页的驱动号和相对的地址(RBA)同请求的驱动器号和相对的地址(RBA)相比较,如果它们是彼此相同,就认为“页选中”,即请求的页是在高速缓存器里。如果它们是彼此不相同,那么在这个页中的交会下一的值将用来指向下一高速缓存器页。如果从这个字段检测到的是0,那么就表示已到达该交会链的终点,因而该请求页不在该高速缓存器里,再次出现页故障。如图所示,由表24连接的页A-F构成三个彼此独立而长度不同的链。
如果发现页22在高速缓存器里,作为散列表项的交会链重新排序,使得被发现的页至于交会链的开头。这种想法是,如果交会链按最近最多的使用排序,那么向下搜索交会链的时间最短,因为下次最可能存取最近使用的页。如果高速缓存器页有多余一个的实际扇区,那么这种想法基本上是对的。
如果发现该页不在高速缓存器内,就将分配一个新页(确切的含意将在下面讨论),即将从磁盘上读取一页并放入页缓冲器(字段8),随后将构成同散列表有连系的新的高速缓存器页结构,并用跟 前面已经讲过的方法类似的算法去确定那个页是否在高速缓存器内。有一点重要的不同,作为散列表项的交会链在这种情况下是不消除的,而仅仅把新页插入交会链的头上,以使交会链保持作为最近最多使用的次序。LRU链指针也从新排序,以表示本页是最近最多使用页。
只有当发现请求的扇区不在高速缓存器内时,才把新页22列入高速缓存器20。其方法如前节所述。这一节将描述到底什么样的页配置才能被列入高速缓存器结构。页的配置可以有两种方式,如果在高速缓存器的空闲清单有一页或多页,就从空闲清单中移去一页,并把新页置入。如果在高速缓存器空闲清单里没有页面,就把由LRU指针指示的页从高速缓存器结构中移去,并在置入新页。图4示出高速缓冲器空闲清单的结构。空闲清单指针26指向位于空闲清单开头的高速缓存器页22,而且指针自断之一指向下一空闲页。一开始,全部的高速缓存页都在空闲清单上,没有一个页受散列表或LRU清单所指。当对磁盘发出多次请求,并出现多个高速缓存器页故障时,将有越来越多的页22从空闲清单中移去,直到最后没有任何页置于空闲清单之下。当这种情况出现时,就再次使用LRU清单上的页面。图5展示LRU清单结构,其中LRU指针28和MRU指针30指向该清单的末端,并借助于LRU下一和LRU前一指针连接成不同的页22。
因为在根据LRU清单移去页面以前高速缓存器总是试图按照空闲清单来分配,因此在高速缓存器操作情况下,有可能动态的将更多的页面加入该高速缓存器,这是在高速缓存器仅仅是以软体形成实现时所特别希望的,其理由是操作系统可以理解为主存储器没有完全利用,因而可以决定通过把没有使用的存储器中的某些或全部给入高速缓存器的方法,使那个存储器中的某些页得到更好的利用。
相反的操作(从高速缓存器中移去若干页)也是可能的,只要从LRU清单的末端移去1或更多的页。但这可能不是所想要的,因为不能担保这些页面在存储器内是实际连续的,但是如果操作系统是足够完善,那么存储碎片也将不成其问题。
无论什么时候,高速缓存器的页面上要被存取(不管是选中或是被一个新页装入),这个页面就从LRU清单的现在位置移去,并移至由MRU指针指示的清单的开头。因为高速缓存器页结构是指针的基础,因此通过以已知方式简单地在附近移动指针的值的方法,可以完成LRU清单中的页的移动。
采用这种设计,还可以容易地完成高速缓存器的拴定(永久的把一个或多个页置入高速缓存器)。为了拴定一个页,只需从LRU清单中移去该页。因为所有页面是由LRU清单重新分配因此不在LRU清单中的页决不会被重新分配。当某些页并不经常存取而必须保持在高速缓存器时,拴定是所期望的。这样允许文件结构,如目录、配置位映像、系统文件等,将保存在高速缓存器内,以及到良好的性能。如果没有这些,将要用独一个大文件的方式来更新。为了以有用的方式去实现高速缓存器的拴定,要求在高速缓存器和操作系统之间,或者和操作系统的实用程序之间有配合、实用程序将通知高速缓存器,在发出其它信号以前,请求的页不会被列入LRU的。于是,实用程序将读取扇区、文件等等,随后通知高速缓存器,使所有进一步的高速缓存器请求将页面列入LRU。
高速缓存器必须对这样的事实敏感,即某些页可以不是LRU的部分,而且在存取时这些页也不插入LRU。当高速缓存器选重出现时,通过核对查看LRU下一和LRU前一字段是否为0就可以做到这一点。如果它们是0,那么这一页将不用列入LRU,在这种方式下, 不需要在高速缓存器页结构中增加额外的位或标志去支持拴定。
图6说明这种一般的方式,根据这种方式,本发明的方法的实施是以一组称之为CACHESYS的程序同通常的程序和硬体的相互作用去实现本发明的方法,当应用程序40需要从磁盘18读取数据时,用磁盘操作系统(DOS)42,根据常规中断13H调用,它将调用基本的输入/输出系统(BIOS)44,CACHECyS50插在DOS42和BIOS44之间,它可以构成例如一种用来拦截和执行将在下面详细叙述的多种不同的程序的中断处理子程序。它看来是使DOS起BIOS44的作用,而和BIOS44相比,CACHESyS系统起来像DOS42。就是说CACHESyS50操作对DOS42和BIOS44来说都是透明的。在BIOS44的控制下,来自磁盘18的数据可通过硬件46发送到主存储器中的数据缓冲器21,因此应用程序就可以通过DOS,以常规的方式使用这些数据。当CACHESyS50工作並响应拦截中断13H调用时,如果需要的包含新需要数据的扇区已经在驱动高速缓存器20内,于是该数据将列入缓冲器21,並可为应用程序使用。如果新需要的数据不在高速缓存器20,那末CACHESyS将调用BIOS44去把数据从磁盘读入缓冲器21,並从那里变成为应用程序可使用的形式。而且,上述数据第一次使用时,也可以放在高速缓存器20里供以后的操作利用。另外,相邻的顺序扇区也可予取或读入高速缓存器20。
参照图7,当程序50通过拦截中断的方法被调用时,步骤100根据新要的扇区的相对块地址确定或计算进入散列表24的索引,其次,步骤102把在索引里的散列表内容置入一个变量如PAGE    PTR(页指针),而步骤104确定页指针是否等于零,零表示交会链的末端。如果页指针等于零,就在步骤106中读入新页,并把这个新 页由步骤108置入高速缓存器,这以后,步骤110就返回DOS和应用程序。如果作为步骤104的结果的页指针不等于零,那末步骤112和114将确定页指针是否指向新要的页。这是这样来完成的,首先在步骤112中将页指针驱动号同包含有要求的数据的驱动号进行比较,如果是正确的驱动号,则步骤114将相对块地址的页指针与该相对块地址和其掩码相“与”的结果进行比较,如果步骤112和114产生负结果,则步骤116将修改页指针,使之指向交会链中的下一页。这个过程将一直进行到新要求的页到达,于是步骤114产生正的结果,並传递给步骤118。
步骤118-130的点的目的是去核对新请求的扇区是否在高速缓存器页内。如果它们在,那末来自步骤130的正结果传递到返回步骤110,並把扇区数据从它的高速缓存器页22发送到缓冲器21;如果它们不在,那末来自步骤130的负结果返回到步骤106以便读取包含新要求的扇区的页。为了了解在步骤118-130之间到底发生了些什么,有必要研究步骤106,以及一个新页是如何读入高速缓存器的。
步骤106是一个点步骤,其中述及的详细步骤相同图8-12所示。然而,在详细描述这些不同的步骤以前,有必要解释一下其中用到的一些变量和数据结构。
误差处理
表2列出在处理过程中用到的多个变量的意义,这些变量是在处理开始时初始化的,如图13示意展示的,图2中的误差清单31包括一个误差散列表150、交会链152,和每页一项地存放的空闲清单154,其中交会链和空闲清单的结构和处理方法类似于在图3和图4的描述中的过程。使用散列表是因为虽然误差清单比较小,但 在每次扫描时总有一个物理的I/O,而又总是期望搜索的时间尽可能地短。散列表150是64个索引长度,所以选择这个长度因为它是2的幂,还因为页面的块地址可以容易地用移位和掩码来操作,而不必用除法。它之所以超过原始的项数的理由是因为磁盘误差通常是完全均匀分布的,而且速度问题又是最重要的,还因为这种表在每次高速缓存器做实际I/O时都将存取,散列表指向误差清单项的交会链。
表2、变量
变量    意义
RBA(相对块地址)    读取页的相对块地址
BUFFERPOINTOR
(缓冲器指针)    数据读入处的指针
PAGE    SIZE
(页面大小)    一个页面里的扇区数(2、4或8)
RBA    MASK    =(页面大小-1)的非(即
(相对块地址掩码)    OFFFFFFFC)
RBA SHIFT =log2(页面大小),(当页面大小为
相对块地址移动    2、4或8时,它等于1、2或3)
SEC    COUNT    MASK    =页面大小-1
扇面计数掩码
ERROR    MASK    =比特数=页面大小以字为单位右调整
误差掩码    (当页面大小为2、4或8时,即0003
000F、00FF)
表3    规定误差清单的每个项的结构
字段    内容    字节数
1    现时标志    2
2    驱动器识别(ID)    1
3    块地址    4
4    交会下一    2
5    交会前一    2
字段    意义
1    这个字段包括一组位或标志,它指示页上的哪些扇区有误差。坏扇区用该字段中的所有位置上的0位表示,而存在有效数据的扇区用1位表示。
2    这个字段包括页面所在位置的驱动器号码
3    该页面的第一个扇区的相对块地址
4    这个字段指向交会链中的下一误差清单结构或项目
5    这个字段指向交会链中的前一误差清单结构
参照图8,读入一个新页的过程以步骤132开始。图8所示的点过程确定高速缓存器是否已予先发现在要读入的页中有误差。在步骤132中,想要的扇区的相对块地址RBA同RBA的掩码相“与”,並把结果应用到步骤134,去计算进入误差散列表150的索引。索引是这样计算的,右移来自步骤132的结果,移位数量为RBA(相对块地址),然后再模(mod)64得到的余数。其次在步骤136中把位于由134计算的索引的误差散列表中的内容赋于指针(PTR)。如果PTR不为零,那末步骤138就转移到140, 並表示在交会链上有一个误差项。随后,步骤140确定驱动器识别(ID)是否同那个包含已经出现误差的页面的驱动器号相同。如果不相同,则步骤144就检索指针,並于是步入交会链的下一项。如果步骤140的结果是正的,则由步骤142确定所要的RBA是否同误差表项的RBA相符,如果不符,就进入交会清单的下一项。步骤138的正输出表示相连的页以前没有误差,因此就偿试去读取整个页,其方法是向磁盘控制器送一个读取页的若干扇区的指令。来自步骤142的正决定表示该页以前有误差,因而将一个扇面一个扇面地读取,其方法是向磁盘控制器送去每次只读一个扇面的复指令。
参照图9,通过调用BIOS的方法,步骤160取得页大小(PAGE    SIZE),每个页的扇区数,以及起始扇区的相对块地址(RBA)。如果在读取过程中没有误差出现,步骤162就转移到164,步骤164就建立表明全部扇区都存在于这个页内的现时位,就是说在读取上述扇区期间没有碰见坏扇区或误差,在每个扇区中都存在有效数据。步骤166建立变量CURPTR(现时指针),它用来指示将被读入一个扇区的数据缓冲器21的地址。步骤168-176如图指示的那样初始化各个变量。然后再次调用BIOS,並在步骤178中读入与现时的RBA有关的一个扇区。如果没有出现误差,步骤180就转移到步骤182,如果在上述读取过程中出现误差,则同上述误差有关的现时标志通过把现时标志同比特掩码“异或”的方法,在步骤184中置零,以指示误差或该扇区是坏的。随后,步骤186根据来自读操作步骤178的返回码去建立误差码。步骤182-188修改现时相对块地址(CURRBA),现时指针,比特掩码,以及指示下一扇区的计数。因此这个过程将通过步骤190重复,直至计数降到零。然后步骤192确定刚刚读取的页是否在误差表31内。
如果该页不在误差表内,则步骤192转移到步骤193(图10)在这里用建立一个新的误差指针的方法,从误差空闲表154得到一个元素。然后步骤194确定误差空闲是否空的,即新的误差指针是否等于零。如果是等于零,那末就由步骤194转移到步骤204。步骤204返回现时位和误差码。如果空闲表不是空的,则由步骤196-202在误差散列表中插入一个新的误差项。这是通过下述方法完成的,即在步骤186中使误差空闲指针等于误差空闲指针下一,在步骤198中使新的误差指针现时等于相应的现时位,在步骤200中使新的误差指针下一与来自误差散列表的索引的值相一致,並在步骤202中使误差散列索引等于新的误差指针。
图11所示的过程是在先前误差的情况下核查请求扇区。步骤206-218与步骤118-130相同,但按照输入和输出点而有所变化由于这个变化,因此步骤118-130是核查请求的扇区是否在高速缓存器页内,当所有的扇区都在页上时,由步骤130产生一个正的结果。而负结果则表示並非所有的请求扇区都在页上,所以操作系统必须试着去完成某些误差恢复形式。另一方面,步骤206-218的正结果是表示该页面有误差,但请求的扇区没有误差,反之,来自218的负结果表示请求的扇区有误差。
在步骤206中,RBA和SECCOUNT掩码相“与”其结果存入可变移位计数器。然后步骤208使现时位等于右移位计数位后的现时指针。步骤210使掩码移位等于页面大小减去扇区数。步骤212通过将误差掩码右移掩码移位量的方法,产生一个检验掩码。随后,现时位在步骤214中同检验掩码相“与”,並在步骤216中同检验掩码“异或”,最后在步骤218中检查结果。这个过程的优点是它能很快地确定请求的扇区中是否有误差,而无需借助于循环或复式判决途径。 结合对下面的例子的说明将可以更好地理解这些。在下面的例子中,假定页面大小为8个扇区,在上一次读取该页时,页中的扇区5(即第六扇区)有一个误差,所以相应的现时位等于零。表4提供了这个过程是怎样工作的例子,其中请求的扇区是在有误差的页里,但请求的扇区没有误差,这个例子将读取从该页的扇区3开始的两个扇区。表5展示当请求的扇区在先前的读取中有误差时的这个过程的例子,在该例中将读取从该页的扇区4开始的两个扇区。
表4    请求扇区中没有误差
0000    0000    1111    1111    误差掩码
0000    0000    0000    0011    检验掩码
0000    0000    1101    1111    现时标志
0000    0000    0001    1011    步骤212
0000    0000    0000    0011    步骤214
0000    0000    0000    0000    步骤216
表5    请求扇区中有误差
0000    0000    1111    1111    误差掩码
0000    0000    0000    0011    检验掩码
0000    0000    1101    1111    现时标志
0000    0000    0000    1101    步骤212
0000    0000    0000    0001    步骤214
0000    0000    0000    0010    步骤216
参照图12,步骤220起因于步骤218(图11)的负决定,並引起现时位按现时指针置位。步骤222使计数等于页面大小,步骤224使CURPTR(现时相对块地址)等于RBA,步骤226使 CURPTR(现时指针)等于进入数据缓冲器的指针,步骤228使比特掩码等于1。然后步骤230用现时位同比特掩码相“与”的方法确定现在的扇区在以前是否有过误差,如果其结果不等于零,步骤232就通过BIOS调用读取CURRBA的一个扇区。步骤234确定在上述读取过程中是否有误差,如果有,步骤236就使现时位置位去表示有误差,並由步骤238存储该误差码。随后步骤240通过在步骤240中增加CURRBA的方法移到下一扇区。而在步骤242中使CURPTR增加每个扇区的字节数。而比特掩码在步骤244中左移一位,计数则在步骤246中减少。当计数达到零时,就转移到步骤204(见图10)。否则,步骤248就确定没有读取所有扇区,因而转移回步骤230,以重复上述过程。
下面概括一下这个过程的操作,介质故障是由高速缓存器页结构中的现时标志管理的,当试图从磁盘读入一页时,如果有误差返回,高速缓存器是以上述方式补救的:
1.返回到该页的第一扇区。
2.开始每次一个扇区地将扇区读入页缓冲器,每当它成功地读入一个扇区就使相应的现时标志置位。
3.如果在读取一个扇区时碰见误差,就请除那个扇区的现时标志(置0),並就像该扇区已被读入那样,修正对应的指针。
4.当该页上的全部扇区已被每次一扇区地读入,就搜索现时标志,以确定从高速缓存器请求的扇区中的一个或多个是否漏掉,即现时标志是否被置0。如果有,就把在从存储器读入的过程中收到的最新误差,返回给请求者。
如果与请求相应的页已经在高速缓存器中,则上述过程有轻微的差别,它将按下述方式去处理:
1.搜索现时标志,以确定请求扇区中的一个或多个是否漏掉,如果没有遗漏,那末,高速缓存器就按正常方式操作,数据将返回给请求者。
2.如果有一个或多个扇区被遗漏,就只需从磁盘中读取这些扇区,如果在读取过程中没有碰见误差,这些正确的扇区将被标明现时在高速缓存器内,而过程继续进行。
这种方案能在无数据漏掉的情况下,也就是通过有效地增加高速缓存器的复杂性的方法,允许高速缓存器有“空洞”(无信号区)。这些“空洞”对应于介质误差。这种方案还能在高速缓存器不使操作系统的工作更困难的情况下,允许操作系统去偿试再试一试的操作,並恢复在误差位置上的数据。
当高速缓存器碰见误差时,它就确定该页的哪个扇区有误差,並在页面中对应误差的扇区留下“空洞”,並通过误差恢复过程产生的是一个称之为现时标志的16位值,如果在这些标志中有任何零位,就表示该页有一个或多个误差。
如果在页面中有误差,高速缓存器就确定该页以前是否有误差,它是通过把该页的相对块地址散列入误差清单去查看该页是否在清单中的方法来完成上述工作的。如果该页不在清单上,它就加到清单上。如果该页在以前已有误差,可做下列工作之一:
1.保持先前的现时标志。
2.以刚刚产生的值取代原有的现时标志,这是软件高速缓存器所实现的。
3.逻辑“与”两组现时标志,並保留其结果,这就意味着如果页面上的一个扇区曾经已有误差,那末,除非特别的请求,它将不被读取。
4.逻辑“或”两组现时标志,並保留其结果,这就意味着如果页面上的一个扇区曾经被成功地读过,高速缓存器就将始终偿试去读完。
如果现时标志中的所有位全部为零,那末该项目就将从误差清单中移去(或者至少不再放入)。这样做的理由是,第一它将使误差清单更小,还因为存在制造介质误差时,操作系统倾向于解除分配全部磁道,通常操作系统将不试图去读这些区域。第二个理由是,如果在一个页面中没有好扇区,那末,操作系统通常处于误差恢复状态,因而其性能不再是关键的了。还有一点,高速缓存器能以任何方式对待页面,所以高速缓存器将不用保留误差磁道的方法来耗费空间。
当向高速缓存器发出请求,而产生高速缓存器中有错的结果时,系统将首先确定那个准备要读的页面以前是否有过误差。如果这个页已有先前误差,系统就查看被请求的扇区之一是否是由误差标志的,如果所有被请求的扇区都没有误差,那末就一次一个地读入该页的扇区,並跳过曾经有误差的扇区。这样误差就被回避了。
允许请求的发生者再次请求看是否还有误差,因为如果被请求的扇区曾经有过误差,它还将由高速缓存器读取。所有的误差回避措施所能作到的仅仅是如果那些有误差的扇区不被确切地请求,它将阻止高速缓存器去予取那些已经感受到误差的扇区。
十分明显,熟悉该项技术的人,可以在不违背本发明的权利申请中的精神和范围的前提下,作出其它变型和修正。

Claims (4)

1、一种操作个人计算机的方法,在该计算机中主存储器提供用于存储页的直接存取存储器(DASD)高速缓存器,每页包括顺序地一次一扇区地从有存储介质误差的磁盘中读取的数据扇区,而且其中操作系统用缓冲存储正在传送的数据的方式管理往返于直接存取存储器高速缓存器的数据的传送,该方法其特征步骤为:
(a)提供一个请求信号;用于从所述的磁盘扇区中读取数据;
(b)响应所述的请求信号,从所述磁盘读取一页,存入高速缓存器,所述页包含所述扇区和另外一此连序地分配于所述的磁盘上的扇区,该读取步骤又包括步骤:
(b1)确定在所述读取中是否遇到误差,
(b2)对应于所述读取中没有误差的扇区,在所述高速缓存器中置当前标志,
(c)响应所述读取中的误差,产生误差标志,表示从含有介质误差的扇区读取了数据;
(d)响应所述误差标志,将至少一个误差码置入所述高速缓存器中,指明那些扇区含有介质误差。
2、根据权利要求1所述的方法,其特征为:
所述读取步骤(b)包括,将所述扇区读入到所述高带缓存器分配给它们的存储单元内,从而响应所述高速缓存器中所述误差码,所述读取被空过,这样,对应于至少产生了一个误差标志的所述扇区的误差码表示所述高速缓存器中没有有效数据。
3、根据权利要求1所述的方法,其特征为在所述步骤(a)之前执行步骤:
(e)对所述高速缓存器中存储数据的一个扇区,提供第二个请求信号;以及
(f)响应所述第二请求信号,询访所述现时标志位对应于被请求扇区的一个,确定扇中数据的有效性。
4、根据权利要求3所述的方法,其特征为所述步骤(e)之前,还执行步骤:
(g)于所述的高速缓存器内建立并存储一个目录,表明那些曾存入所述的高速缓存器的页面的历史及至少包含一个与曾产生误差标志的读取过程有关的扇区;以及
(h)响应所述的请求信号,读取所述目录,其中有包含被所述第二请求信号所请求扇区的页的项目。
CN88100953A 1987-03-30 1988-02-27 用dasd高速缓存器处埋磁盘扇区误差的方法 Expired CN1014565B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US032,214 1987-03-30
US07/032,214 US4972316A (en) 1987-03-30 1987-03-30 Method of handling disk sector errors in DASD cache

Publications (2)

Publication Number Publication Date
CN88100953A CN88100953A (zh) 1988-12-28
CN1014565B true CN1014565B (zh) 1991-10-30

Family

ID=21863717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN88100953A Expired CN1014565B (zh) 1987-03-30 1988-02-27 用dasd高速缓存器处埋磁盘扇区误差的方法

Country Status (18)

Country Link
US (1) US4972316A (zh)
EP (1) EP0284663B1 (zh)
JP (1) JPS63247853A (zh)
KR (1) KR940005786B1 (zh)
CN (1) CN1014565B (zh)
AT (1) ATE75070T1 (zh)
BE (1) BE1001066A4 (zh)
CA (1) CA1288870C (zh)
DE (2) DE3778347D1 (zh)
ES (1) ES2031114T3 (zh)
FR (1) FR2613506B1 (zh)
GB (1) GB2202976B (zh)
GR (1) GR3004931T3 (zh)
HK (1) HK65492A (zh)
IT (1) IT8819949A0 (zh)
MY (1) MY102811A (zh)
PH (1) PH27346A (zh)
SG (1) SG68092G (zh)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2637788B2 (ja) * 1988-09-02 1997-08-06 株式会社日立製作所 ディスクキャッシュ制御方式および情報処理システム
JP2954227B2 (ja) * 1989-02-15 1999-09-27 キヤノン株式会社 情報処理方法
US5347642A (en) * 1989-11-30 1994-09-13 Nec Electronics Inc. Cache memory management unit
US5287363A (en) * 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
AU9027091A (en) * 1990-11-05 1992-05-26 Disk Technician Corporation System for locating and anticipating data storage media failures
JP2625609B2 (ja) * 1991-07-10 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション ディスク記憶装置
AU662973B2 (en) * 1992-03-09 1995-09-21 Auspex Systems, Inc. High-performance non-volatile ram protected write cache accelerator system
US5309451A (en) * 1992-08-12 1994-05-03 Digital Equipment Corporation Data and parity prefetching for redundant arrays of disk drives
US5420983A (en) * 1992-08-12 1995-05-30 Digital Equipment Corporation Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
US5404471A (en) * 1992-11-20 1995-04-04 International Business Machines Corp. Method and apparatus for switching address generation modes in CPU having plural address generation modes
US6384995B1 (en) 1992-12-23 2002-05-07 International Business Machines Corporation Apparatus and method for detecting defects in data storage devices
US5566324A (en) * 1992-12-24 1996-10-15 Ncr Corporation Computer apparatus including a main memory prefetch cache and method of operation thereof
GB2276255A (en) * 1993-02-17 1994-09-21 Andor Int Ltd Track buffer with embedded error data
US5646923A (en) * 1993-11-17 1997-07-08 International Business Machines Corporation System and method for hiding P-list entries for a disk from an initiator using a small computer system interface
US5523903A (en) * 1993-12-23 1996-06-04 International Business Machines Corporation Sector architecture for fixed block disk drive
MY112118A (en) * 1993-12-23 2001-04-30 Hitachi Global Storage Tech Netherlands B V System and method for skip-sector mapping in a data recording disk drive.
US5606685A (en) * 1993-12-29 1997-02-25 Unisys Corporation Computer workstation having demand-paged virtual memory and enhanced prefaulting
US5577227A (en) * 1994-08-04 1996-11-19 Finnell; James S. Method for decreasing penalty resulting from a cache miss in multi-level cache system
JP3254340B2 (ja) * 1994-11-10 2002-02-04 シャープ株式会社 記録再生装置および記録再生装置のための欠陥処理方法
US5671390A (en) * 1995-05-23 1997-09-23 International Business Machines Corporation Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media
US5737344A (en) * 1995-05-25 1998-04-07 International Business Machines Corporation Digital data storage with increased robustness against data loss
US5907672A (en) * 1995-10-04 1999-05-25 Stac, Inc. System for backing up computer disk volumes with error remapping of flawed memory addresses
WO1997043835A1 (en) * 1996-05-15 1997-11-20 Seagate Technology, Inc. Read error recovery utilizing ecc and read channel quality indicators
US5721816A (en) * 1996-07-29 1998-02-24 Kusbel; Paul F. Adaptive recovery of read and write errors in a disc drive
US6154331A (en) * 1996-10-01 2000-11-28 Lsi Logic Corporation Disk formatter write gate look-ahead device
US5845318A (en) * 1996-10-28 1998-12-01 International Business Machines Corporation Dasd I/O caching method and application including replacement policy minimizing data retrieval and storage costs
US6065100A (en) * 1996-11-12 2000-05-16 Micro-Design International Caching apparatus and method for enhancing retrieval of data from an optical storage device
US5960460A (en) * 1997-01-02 1999-09-28 Exabyte Corporation Non-intrusive replication of hard disk
US6392833B1 (en) 1998-07-13 2002-05-21 Seagate Technology, Llc Reducing self-excited mechanical resonances in a disc drive
US7089449B1 (en) * 2000-11-06 2006-08-08 Micron Technology, Inc. Recovering a system that has experienced a fault
US7234021B1 (en) * 2001-10-05 2007-06-19 Emc Corporation Methods and apparatus for accessing data elements using improved hashing techniques
JP4074806B2 (ja) * 2002-11-20 2008-04-16 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ 不良セクタの探索方法、データ記録装置、プログラム
US7114033B2 (en) * 2003-03-25 2006-09-26 Emc Corporation Handling data writes copied from a remote data storage device
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
US7277993B2 (en) * 2003-12-03 2007-10-02 Intel Corporation Write-back disk cache
US7379952B2 (en) * 2004-01-30 2008-05-27 Oracle International Corporation Techniques for multiple window resource remastering among nodes of a cluster
US7962453B2 (en) 2004-04-26 2011-06-14 Oracle International Corporation Dynamic redistribution of a distributed memory index when individual nodes have different lookup indexes
US7644239B2 (en) * 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8250296B2 (en) * 2004-12-01 2012-08-21 Dell Products L.P. System and method for information handling system memory page mapping optimization
US20060200469A1 (en) * 2005-03-02 2006-09-07 Lakshminarayanan Chidambaran Global session identifiers in a multi-node system
US7536529B1 (en) 2005-06-10 2009-05-19 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for provisioning space in a data storage system
US7689766B1 (en) 2005-06-10 2010-03-30 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for integrating a caching module into a storage system architecture
US7814065B2 (en) 2005-08-16 2010-10-12 Oracle International Corporation Affinity-based recovery/failover in a cluster environment
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8352716B1 (en) 2008-01-16 2013-01-08 American Megatrends, Inc. Boot caching for boot acceleration within data storage systems
US8621154B1 (en) 2008-04-18 2013-12-31 Netapp, Inc. Flow based reply cache
US8161236B1 (en) 2008-04-23 2012-04-17 Netapp, Inc. Persistent reply cache integrated with file system
US8799429B1 (en) 2008-05-06 2014-08-05 American Megatrends, Inc. Boot acceleration by consolidating client-specific boot data in a data storage system
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US8171227B1 (en) 2009-03-11 2012-05-01 Netapp, Inc. System and method for managing a flow based reply cache
JP4988008B2 (ja) 2010-05-13 2012-08-01 株式会社東芝 情報処理装置およびドライバ
JP4988007B2 (ja) * 2010-05-13 2012-08-01 株式会社東芝 情報処理装置およびドライバ
USRE49818E1 (en) 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system
US8700861B1 (en) * 2012-03-28 2014-04-15 Emc Corporation Managing a dynamic list of entries for cache page cleaning
US9798623B2 (en) * 2012-05-11 2017-10-24 Seagate Technology Llc Using cache to manage errors in primary storage
US9240210B2 (en) 2013-11-26 2016-01-19 Seagate Technology Llc Physical subsector error marking
KR102498668B1 (ko) * 2017-05-17 2023-02-09 삼성전자주식회사 플래시-인지 힙 메모리 관리 방법 및 호스트 장치
CN109582598B (zh) * 2018-12-13 2023-05-02 武汉中元华电软件有限公司 一种基于外部存储实现高效查找哈希表的预处理方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3997876A (en) * 1972-06-07 1976-12-14 International Business Machines Corporation Apparatus and method for avoiding defects in the recording medium within a peripheral storage system
US4384487A (en) * 1974-09-30 1983-05-24 Browning Alva L Dynamically restrained inertial reference instrument and reliability sensor
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
US4523275A (en) * 1980-11-14 1985-06-11 Sperry Corporation Cache/disk subsystem with floating entry
US4394732A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem trickle
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
JPS5877034A (ja) * 1981-10-30 1983-05-10 Hitachi Ltd 記録方法
US4780808A (en) * 1981-11-27 1988-10-25 Storage Technology Corporation Control of cache buffer for memory subsystem
US4536836A (en) * 1981-11-27 1985-08-20 Storage Technology Corporation Detection of sequential data stream
US4498146A (en) * 1982-07-30 1985-02-05 At&T Bell Laboratories Management of defects in storage media
US4638425A (en) * 1982-09-29 1987-01-20 International Business Machines Corporation Peripheral data storage having access controls with error recovery
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
JPS59185931A (ja) * 1983-04-05 1984-10-22 Daikin Ind Ltd 空気調和装置
JPS608959A (ja) * 1983-06-29 1985-01-17 Fujitsu Ltd デイスク・キヤツシユ制御方法
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
DE3405073A1 (de) * 1984-02-13 1985-08-14 Siemens AG, 1000 Berlin und 8000 München Speicherungsverfahren fuer eine in fernmeldeanlagen, insbesondere fernsprechvermittlungsanlagen eingesetzte speichereinrichtung
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
US4807110A (en) * 1984-04-06 1989-02-21 International Business Machines Corporation Prefetching system for a cache having a second directory for sequentially accessed blocks
US4631723A (en) * 1984-06-08 1986-12-23 Honeywell Information Systems Inc. Mass storage disk drive defective media handling
US4680703A (en) * 1984-06-25 1987-07-14 International Business Machines Corp. Data processing system with reorganization of disk storage for improved paging
US4637024A (en) * 1984-11-02 1987-01-13 International Business Machines Corporation Redundant page identification for a catalogued memory
JPS61133433A (ja) * 1984-11-30 1986-06-20 Nec Corp 書換え不能なデ−タ記録媒体における不良セクタ代替え処理方式
US4685082A (en) * 1985-02-22 1987-08-04 Wang Laboratories, Inc. Simplified cache with automatic update
JPS61202381A (ja) * 1985-03-06 1986-09-08 Hitachi Ltd デイスク制御装置
JPH0756734B2 (ja) * 1985-05-27 1995-06-14 松下電器産業株式会社 情報記録再生装置
JPS61272821A (ja) * 1985-05-29 1986-12-03 Nec Corp 磁気デイスク制御装置
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
JPS6222162A (ja) * 1985-07-23 1987-01-30 Alps Electric Co Ltd デイスクキヤツシユ制御方式
JP2650891B2 (ja) * 1986-04-16 1997-09-10 株式会社日立製作所 回転形記憶装置の制御方法
JPS6356452U (zh) * 1986-09-29 1988-04-15
US4814903A (en) * 1987-06-29 1989-03-21 International Business Machines Corporation Alternate storage areas in magnetooptical media
US4914530A (en) * 1987-09-21 1990-04-03 Plus Development Corporation Media defect management within disk drive sector format

Also Published As

Publication number Publication date
CA1288870C (en) 1991-09-10
EP0284663A2 (en) 1988-10-05
EP0284663B1 (en) 1992-04-15
DE3778347D1 (de) 1992-05-21
FR2613506A1 (fr) 1988-10-07
JPS63247853A (ja) 1988-10-14
FR2613506B1 (fr) 1990-02-09
KR880011667A (ko) 1988-10-29
DE3810233C2 (zh) 1992-05-07
JPH0564814B2 (zh) 1993-09-16
SG68092G (en) 1992-09-04
MY102811A (en) 1992-11-30
KR940005786B1 (ko) 1994-06-23
ATE75070T1 (de) 1992-05-15
US4972316A (en) 1990-11-20
IT8819949A0 (it) 1988-03-25
GR3004931T3 (zh) 1993-04-28
GB2202976A (en) 1988-10-05
PH27346A (en) 1993-06-08
DE3810233A1 (de) 1988-10-20
CN88100953A (zh) 1988-12-28
ES2031114T3 (es) 1992-12-01
GB8728923D0 (en) 1988-01-27
BE1001066A4 (fr) 1989-06-27
EP0284663A3 (en) 1989-03-22
GB2202976B (en) 1991-10-09
HK65492A (en) 1992-09-11

Similar Documents

Publication Publication Date Title
CN1014565B (zh) 用dasd高速缓存器处埋磁盘扇区误差的方法
CN1242330C (zh) 执行并飞“异或”运算的方法和系统
US5233702A (en) Cache miss facility with stored sequences for data fetching
CN1311363C (zh) 生成内容地址的数据处理方法和可内容寻址的存储系统
US4499539A (en) Method and apparatus for limiting allocated data-storage space in a data-storage unit
CN1238846A (zh) 对非易失性存储器中的文件进行连续重写的方法
CN1084896C (zh) 清空高速缓冲存储器内容的装置
US6493791B1 (en) Prioritized content addressable memory
US5526511A (en) Enhanced least recently used round robin cache management method and apparatus for allocation and destaging of cache segments
CN1267023A (zh) 多处理机数据处理系统中同级到同级的超高速缓存移动
JPS6143742B2 (zh)
CN87105300A (zh) 高速缓冲存储器的目录和控制装置
CN1900919A (zh) 地址映射方法和映射信息管理方法及其闪速存储器
CN1877548A (zh) 用于管理页替换的方法和系统
CN1509436A (zh) 以推测方式使高速缓存中的缓存行失效的方法及系统
CN1673981A (zh) 用于平衡多个存储器缓冲区大小的系统及其方法
CN1287311A (zh) 一种用组预测来降低在组相关高速缓存器中的执行时间的方法及设备
CN1862475A (zh) 磁盘阵列缓存的管理方法
CN1746842A (zh) 用于乱序执行条件指令的硬件装置及其执行方法
CN1397887A (zh) 一种将储存数据重新导向的虚拟集合高速缓存
CN1538456A (zh) 闪存存取装置及方法
CN1381797A (zh) 高速信息检索系统
CN1302396C (zh) 高速缓存中上下文标识符的使用
CN1435758A (zh) 存储装置、数据处理方法以及数据处理程序
CN1912760A (zh) 图像形成装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C13 Decision
GR02 Examined patent application
C14 Grant of patent or utility model
GR01 Patent grant
C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
C17 Cessation of patent right
CX01 Expiry of patent term