CN1006096B - 虚拟存储系统中的直接输入/输出 - Google Patents
虚拟存储系统中的直接输入/输出 Download PDFInfo
- Publication number
- CN1006096B CN1006096B CN86103675.1A CN86103675A CN1006096B CN 1006096 B CN1006096 B CN 1006096B CN 86103675 A CN86103675 A CN 86103675A CN 1006096 B CN1006096 B CN 1006096B
- Authority
- CN
- China
- Prior art keywords
- address
- page
- leaf
- omnidistance
- access code
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory mapped I/O
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
根据本发明的优选实施例,虚拟存储系统用于控制对I/O设备地址空间的访问。在虚拟存储系统中,对处理器地址空间页的访问分配在每个应用程序中。每个I/O设备分配有两页地址空间,一页是特权页,另一页是非特权页。每个I/O设备寄存器与其两页I/O设备地址空间中每一页的一个地址相关联。地址空间是全程的。全程的意味着,不管什么程序在处理器上运行,物理存储单元都映象到相同的虚拟地址空间。带有写森止位的访问码用于控制程序对各种地址的访问。
Description
本发明一般涉及虚拟存储系统。由于其工作方式,使得计算系统处理器允许程序访问输入/输出(I/O)设备。在先有技术中,计算机系统上运行的每一个程序都有其自己的虚拟地址空间。这使系统复杂化,且性能不为最佳。例如,要为每个程序保留一个单独的页表,该页表用于将虚拟存储地址映象到存储器中的物理地址单元。此外,如果每个程序有其自己的虚拟地址空间,则每次变换计算机上的程序时,都必须使前一程序的转换缓冲区和隐含存储器(cache)入口无效。
另外,在先有技术的虚拟存储系统中,有两种方法可以访问I/O设备。第一种方法是在计算机的指令集内提供控制I/O设备的特殊指令。第二种方法即所谓的内存映象I/O,是为每个I/O设备保留特定的地址。为每个I/O设备保留的地址称做其地址空间。在内存映象I/O系统中,当处理器对I/O设备的I/O地址空间内的地址做读或写操作时,I/O设备将进行检测并译码。I/O设备的每个寄存器都与地址空间内的一个地址相关联。对寄存器的操作是这样实现的,即每当对I/O设备地址空间内的一个地址做读或写操作时,其结果就是对与该地址相关联的I/O设备中的寄存器做读或写操作。这样,对I/O设备地址空间内地址的读、写操作可以用来控制I/O设备。
使用内存映象I/O系统的一个优点是,高级语言写的过程可以访问I/O设备。在某些先有技术的计算机结构中,应用程序可以直接访问计算机I/O设备的全部或部分地址空间。但在多种任务环境中,这种方法会带来某些困难。例如,如果一个应用程序误初始化了可以进行直接内存访问(DMA)传输的I/O设备,这将导致I/O设备读或写分配给其它应用程序的内存空间,从而使系统的安全性受到破坏。
在某些先有技术方案中,为避免在多任务环境中破坏系统的安全性,采用了不允许应用程序直接访问I/O设备地址空间的措施。所有I/O地址只能被特权过程访问。这些过程称做I/O驱动程序。这种方法虽然提供了高级别的系统安全性,但也极大地增加了软件开销,效率不高并受到许多限制。与本发明相关的先有技术还可以在下列文献中得到,US-A-4713755,US-A-4722047和US-A-4680702。
根据本发明的优选实施例,虚拟存储系统中的地址空间是全程的。全程的意味着,不管处理器上运行的是什么程序,物理存储单元映象到相同的虚拟地址空间。由写禁止位伴随的访问码用于控制程序访问不同的地址。
另外,虚拟存储系统的属性用于控制对I/O设备地址空间的访问。在虚拟存储系统中,对处理器地址空间中页的访问分配在每个应用程序中。这种访问可以是读地址空间中存储的信息(读访问),也可以是读地址空间中存储的信息并向地址空间中写入信息(读、写访问)。
在本发明的优选实施例中,分配给每个I/O设备两页的地址空间,其中一页是特权页,另一页是非特权页。由于页可以很大,例如一页可以包含512个地址,以致每一页地址空间中的许多地址并没有I/O设备的寄存器与其相关联。
但是,每个I/O设备寄存器都与它的I/O设备两页地址空间中每一页的一个地址相关联。所有与某单个寄存器相关联的各自页中的地址都有相同的对该页的偏移量。寄存器可以是特权的或非特权的。如果一个寄存器用于控制I/O设备的DMA操作,或用于对处理器产生中断,或可用于其它破坏系统安全性的操作,则该寄存器被认为是特权寄存器。
非特权寄存器可在特权页和非特权页中做完全操作。在特权页和非特权页中的完全操作意味着,对特权页或非特权页中与非特权寄存器相关联的地址的读或写,其结果都是对非特权寄存器的读或写。
特权寄存器只能在特权页中做完全操作。这就是说,对与特权寄存器相关联的地址的读或写,只有在特权页中才导致对特权寄存器的读或写。对应不同的设置,特权寄存器在非特权页中可以是只能读不能写,或者是既不能读也不能写。
图1示出了耦合到总线上的系统处理器、系统存储器和各种I/O设备。
图2A和图2B示出了存储器地址空间中的一页。
图3示出了与本发明优选实施例对应的计算机存储器地址空间。
图4示出了图1中各种I/O设备之一的方框图。
图5示出了用于将虚拟存储地址转换为物理存储地址的表的两个入口。
图6示出了图1中系统处理器的控制寄存器。
图7示出了包括图5中入口的表。
图8示出了与图7中的表耦合的散列设备。
图1所示为一个计算系统。该计算系统包括系统处理器101,系统存储器102,输入/输出(I/O)设备103,I/O设备104,I/O设备105,I/O设备106和I/O设备107,这些设备都耦合到总线100上。系统处理器101通过向为I/O设备103-107保留的地址空间读、写数据与I/O设备103-107通讯。
图3给出了图1所示计算系统中地址空间370的分配方法。地址空间370可寻址232字节数据(或230个32位字的数据)。地址空间370中的371段是为存储地址保留的。371段中的371b子段是为存储地址保留的,而没有设置。371段中的371a子段由在处理器101上运行的操作系统和用户程序使用并设置。一般地,371b子段比371a子段大得多。地址空间370中的373段分配给I/O设备使用。370所有存储器被分成页,包括图示的301页和302页。每一页可寻址512个32位字。
用图7所示表550入口处相连的访问识别(AID)值可以限制对存储器页的访问。表550将虚拟存储器页地址转换为系统存储器102中物理存储空间的存储器页地址。表550包括若干联接列表,如示于框图550中的联接列表702,联接列表703,联接到表704和联接到表705。图5给出了联接列表702中的入口501和入口511。入口501和入口511都包含四个32位的存储单元。
入口501中503单元的内容是指向入口511的地址。入口501还包含504和505单元,其中内容是虚拟页地址,系统处理器101利用表550的入口501单元得到504和505单元中存储的虚拟页地址所对应的物理存储空间。入口501还包含506单元。506单元包含16位的访问权力段507和15位的508段,508段包括AID值和一位的509段,其内容恒为逻辑0。
入口511包含513单元,513单元的内容是指向联接列表702中下一个入口的地址。入口511还包含514和515单元,其内容为虚拟页地址。系统处理器101利用表550中入口511单元得到514和515单元中存储的虚拟页地址所对应的物理存储地址。入口511还包含516单元。516单元包括16位的访问权力段517和15位的518段。518段包括AID值和一位的519段,其内容恒为逻辑0。
系统处理器101包含四个控制寄存器601,611,621和631,这些寄存器含有当前运行程序的AID值。寄存器601的602段,寄存器611的612段,寄存器621的622段以及寄存器631的632段每一个都可以包含一个15位的AID值。寄存器601的603段,寄存器611的613段,寄存器621的623段和寄存器631的633段都包含一位的写禁止值(WD)。
当在系统处理器101上运行的程序要访问存储器的物理页时,可以利用表550将存储器页的虚拟地址转换为物理页地址。图7所示的散列设备701接收并散列虚拟地址,以根据表550中联接列表第一入口的位置产生物理页地址。例如,散列一虚拟页地址可以产生对应于表550中入口501的物理地址。被散列的虚拟地址与入口501的504和505单元中的虚拟地址比较,如果匹配,物理页就已经映象到虚拟页中。
检查访问权力段507中的访问码。这个访问码指出哪一个级别的程序允许读、写或访问物理页。然后检查508单元中的AID值。如果508单元中的AID值是0,或与控制寄存器601,611,621或631之一的AID值匹配,则允许程序访问存储器中的物理页。如果匹配的控制寄存器601、611、621或631的WD值是逻辑1,则不允许程序做写访问。如果508单元的AID值不与控制寄存器601、611、621或631的AID值匹配,或如果508单元的AID值不等于0,则不允许程序访问存储器中的物理页。
如果被散列的虚拟地址与504和505单元中的虚拟地址不匹配,则考虑联接列表702中的下一个入口-入口511。散列的虚拟地址与入口511的514和515单元中的虚拟地址比较,如果匹配,则检查访问权力段517中的访问码。鉴定当前特权级别程序以确定允许对该程序采用什么形式的访问然后将518单元中的AID值与控制寄存器601、611、621和631的AID值比效。如此等等。
图8所示散列设备701和表550。散列设备701包括散列发生器720和散列表801。散列发生器720接收虚拟地址,并生成散列表地址。检查散列表地址的内容。如果其内容是一空指针,则由虚拟地址寻址的数据不在主存储器内;如果其内容是表550中的一个地址,则按如上所述搜索以表550中地址为起始地址的联接列表,直到找到包括该虚拟地址的入口或找到空指针为止。此处空指针仍指出由虚拟地址寻址的数据不在主存储器内。如果寻址的数据不在主存储器内,则产生页错误,并由软件将数据从磁盘或其它存储设备调入。
如图所示表550是一个页目录。表550在入口PDIRO处有一基地址。PDIRO对应地址空间370底部的某个地址。表550中的正向入口此时对应存储器中371段的页。地址空间370中373段的页亦需通过表550中的入口来寻址。为避免在表550中有大量未使用的入口段对应371段中未使用的371b子段,可利用表550中的负向入口来寻址表370中373段的地址。例如,PDIR-1对应地址空间370顶部的地址。用这种方法,寻址地址空间370中的373段时,就不必在表550中保留对应地址空间370中未使用的371b子段的大量空白。
图3A给出了373段中物理地址位的分配方法。381段包含地址380的高四位。373段在地址空间370的顶部;因此,381段中的每一位都是逻辑1,表示某个I/O设备寄存器被寻址。382段包含16位的地址380,382段中的16位值确定哪个I/O设备被寻址。本实施例中,其地址空间可用于216(约为65000)个I/O设备。位元383指出被寻址的是特权页还是非特权页。地址380中384段各位指出I/O设备中哪一个特定寄存器被寻址。385段的位包含地址380中的2位。385段中的2位均为逻辑0,因为本实施例中寄存器是按32位字寻址,而地址空间允许按8位字节寻址。
如图4所示,I/O设备107包括I/O适配器410和设备接口411。为描述方便,寄存器400,寄存器401,寄存器402,寄存器403,寄存器404,寄存器405和缓冲器406均示于I/O适配器410中。寄存器400包含一个地址,该地址被写时,即向系统处理器101发生中断。寄存器401接收命令,这些命令用于使I/O设备107初始化设备接口411,从设备接口411读数据,或向设备接口411写数据。寄存器402的内容为一表示系统存储器102中地址的数值,I/O适配器410以此为起始地址执行直接内存访问(DMA)传输。寄存器403的内容为一个一字节的计数值,利用(DMA)传输方式指出要向系统存储器102传输的数据数。寄存器404接收命令,以启动或终止DMA传输。寄存器405中包含I/O适配器410和系统存储器402之间最后一次DMA传输的状态信息。
图2A示出了与I/O设备107相关联的地址空间301中的一个非特权页。图2B示出了与I/O设备107相关联的地址空间302中的一个特权页。
寄存器400-405中的每一个都与301页和302页中的一个地址相关联。例如,301页中的地址IPO与寄存器400相关联,301页中的地址1P1与寄存器401相关联,301页中的地址1P2与寄存器402相关联,301页中的地址1P3与寄存器403相关联,301页中的地址1P4与寄存器404相关联,301页中的地址1P5与寄存器405相关联;302页中的地址2P0与寄存器400相关联,302页中的地址2P1与寄存器401相关联,302页中的地址2P2与寄存器402相关联,302页中的地址2P3与寄存器403相关联,302页中的地址2P4与寄存器404相关联,302页中的地址2P5与寄存器405相关联。非特权页301中的其余地址,即地址1P6-1P8,1P29-1P31,1P505-1P511,与特权页302中的其余地址,即地址2P6-2P8,2P29-2P31,2P505-2P511,可以不与寄存器相关联,因此可以是未设置的地址空间。
虽然寄存器400-405中的每一个都与非特权页301及特权页302中的某个地址相关联,但并非寄存器400-405在非特权页301和特权页302中都能做完全操作。例如,只能在特权页302中对寄存器400,402和403做完全操作。对这些寄存器的非授权访问可能破坏系统的安全性,因为寄存器400可直接用于中断处理器101,而寄存器402和403则与对系统存储器102的DMA处理有关。根据不同的设置,可以允许通过非特权页301对寄存器400,402和403做读访问。寄存器401用于设备接口411和I/O适配器410之间的处理。做这些处理不会破坏系统的安全性,因此既可在特权页302中也可在非特权页301中对寄存器401做完全操作。虽然寄存器404和405用于DMA传输,但如果系统设计合理,这些寄存器可以使用而不会破坏系统的安全性。例如,特权寄存器(如寄存器403)中的一位可以用于使能DMA处理,这样只有当特权程序使能DMA处理后,寄存器404才能启动DMA处理。
对特权与非特权寄存器的设置应使读这些寄存器时不会对系统产生其它副作用。例如,读不应引起新的I/O操作。这就使得用户程序可以观察并监测I/O活动,但不允许用户程序影响正在执行的I/O设备。
特权与非特权寄存器的设置还应使得系统不管对未设置地址的写操作,或当做对同一页中的某个设置地址写入未定义数据来处理。
此处描述的实施例为设备的分配提供了极大的灵活性并允许系统保护,但上述实施的多种变型也是可以实现的。例如,每个I/O设备可以映象到两个存储页中-一个特权页和一个非特权页,但每个寄存器只在一个页中设置。这可能会影响处理器的软件性能,因为用这种方法时,要做两页的访问才能访问到一个I/O设备的所有控制寄存器。另一种可选择的方法是,每个用户设备都可映象到一页中。这使得可以在一页中访问到一个I/O设备的所有寄存器,但只对只有非特权寄存器的I/O设备提供安全保护。
Claims (18)
1、一计算机系统包括:
多个输入/输出装置,每个输入/输出装置包括有多个用于控制该输入/输出装置的寄存器,所述寄存器包括第一类物理存储单元;
用于存储数据的局部存储器装置,该局部存储器装置包括第二类物理存储单元;
用于执行多个程序的系统处理装置,其特征在该系统处理装置包括:
虚拟地址映象装置,用于给局部存储器装置中的每一个物理地址单元一全程虚拟地址,以及给每一个输入/输出装置中的每一个寄存器一个全程虚拟地址,其中局部存储装置中的每个物理存储单元的虚拟地址和每个输入/输出装置中的每个寄存器的虚拟地址对于各个程序的任意一个来说都是不变的。
2、如权利要求1的计算机系统,其特征在于所述的全程虚拟地址被分组成多个页,其中所述虚拟地址映象装置对全程地址的每一页有一个访问码。
3、如权利要求2的计算机系统,其特征在于所述每个程序至少有一个第一类或第二类访问码,并且所述系统处理装置不允许具有第一类访问码的第一类程序去访问在全程虚拟地址中第一类页的一虚拟地址,除非全程地址的第一类页的访问码与该第一类程序的访问码匹配。
4、根据权利要求3的计算机系统,其特征在于:所述虚拟地址映射装置将全程地址的一第一类页和全程地址的一第二类页分配给每个上述输入/输出装置,其中该输入/输出装置的每个寄存器与该装置的两页上一地址相关,并且第一类页的访问码与第二类页的访问码是不同的。
5、根据权利要求4的计算机系统,其特征在于:每一个全程虚拟地址页有一个访问码,其中具有访问第一类全程地址的程序可以从全程地址的第一类页中读出但不能向其写入;具有访问第二类全程虚拟地址的程序可以从全程地址的第二类页中读出和向其写入;其中第一类页的访问码与第二类页的访问码是不同的。
6、如权利要求2或4的计算机系统,其特征在于每个程序具有一个第一类或第二类访问码,其中所述虚拟地址映射装置对全程虚拟地址的每一页都有一访问码,其中具有第一类访问码的程序可以从全程地的第一类页的全程虚拟地址中读出但不能向其写入;具有第二类访问码的程序可以从第一类页上的全程虚拟地址中读出并向其写入,其中第一类访问码和第二类访问码不同。
7、如权利要求2或4的计算机系统,其特征在于:每个程序具有一第一类或第二类访问码,其中虚拟地址映射装置对每一全程虚拟地址页有一个访问码;其中具有第一类访问码的程序可以从全程地程的第一类页的全程虚拟地址中读出但不能向其写入;该具有第一类访问码的程序可以从全程地址的第二类页上的全程虚拟地址中读出和向其写入;其中全程虚拟地址的第一类页的访问码与全程虚拟地址的第二类页的访问码不同。
8、计算机中的虚拟存储系统,该虚拟存储系统包括:
用于将存储系统内的虚拟地址分页的分页装置;其特征在包括
允许在许算机上运行的第一类程序访问虚拟存储地址第一类页的访问装置;
用于防止第一类程序修改用第一类页中虚拟地址寻址的物理存储单元的内容的禁止装置。
9、权利要求8中所述的虚拟存储系统还包括:
用于将I/O设备寄存器映象到第一类页中的第一类虚拟存储地址及第二类页中第二类虚拟存储地址的装置。
10、根据权利要求9中所述的虚拟存储系统,其中第一类虚拟存储地址在第一类页的第一类偏移量处,第二类虚拟存储地址在第二类页的第二类偏移量处,第一类偏移量与第二类偏移量相同。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/750,578 US4777589A (en) | 1985-06-28 | 1985-06-28 | Direct input/output in a virtual memory system |
US750,578 | 1985-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN86103675A CN86103675A (zh) | 1986-12-24 |
CN1006096B true CN1006096B (zh) | 1989-12-13 |
Family
ID=25018430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN86103675.1A Expired CN1006096B (zh) | 1985-06-28 | 1986-06-02 | 虚拟存储系统中的直接输入/输出 |
Country Status (8)
Country | Link |
---|---|
US (1) | US4777589A (zh) |
EP (2) | EP0551148A3 (zh) |
JP (1) | JPH0654479B2 (zh) |
KR (1) | KR930009062B1 (zh) |
CN (1) | CN1006096B (zh) |
AU (2) | AU583634B2 (zh) |
CA (1) | CA1261479A (zh) |
DE (1) | DE3689209T2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1104504C (zh) * | 2000-05-23 | 2003-04-02 | 厦门大学 | 一种海洋细菌胞外多糖的生产工艺 |
CN101470633B (zh) * | 2007-12-24 | 2011-09-21 | 联想(北京)有限公司 | 一种虚拟机监视器、虚拟机系统及其内存处理方法 |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4926322A (en) * | 1987-08-03 | 1990-05-15 | Compag Computer Corporation | Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management |
US5155822A (en) * | 1987-08-13 | 1992-10-13 | Digital Equipment Corporation | High performance graphics workstation |
JP2507756B2 (ja) * | 1987-10-05 | 1996-06-19 | 株式会社日立製作所 | 情報処理装置 |
US5297268A (en) * | 1988-06-03 | 1994-03-22 | Dallas Semiconductor Corporation | ID protected memory with a readable/writable ID template |
US5125086A (en) * | 1989-06-29 | 1992-06-23 | Digital Equipment Corporation | Virtual memory paging apparatus with variable size in-page clusters |
US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
JPH0692666B2 (ja) * | 1989-12-15 | 1994-11-16 | 徳厚 小島 | 排水立て管継手 |
US5371890A (en) * | 1991-10-30 | 1994-12-06 | International Business Machines Corporation | Problem state cross-memory communication using communication memory domains |
US5627987A (en) * | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
JP2974526B2 (ja) * | 1992-12-18 | 1999-11-10 | 富士通株式会社 | データ転送処理方法及びデータ転送処理装置 |
JP3676411B2 (ja) * | 1994-01-21 | 2005-07-27 | サン・マイクロシステムズ・インコーポレイテッド | レジスタファイル装置及びレジスタファイルアクセス方法 |
JPH0844655A (ja) * | 1994-06-20 | 1996-02-16 | Internatl Business Mach Corp <Ibm> | マルチプル・バス情報処理システムのアドレス空間の拡張 |
EP2110732A3 (en) * | 1995-02-13 | 2009-12-09 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US5640591A (en) * | 1995-05-15 | 1997-06-17 | Nvidia Corporation | Method and apparatus for naming input/output devices in a computer system |
US5623692A (en) * | 1995-05-15 | 1997-04-22 | Nvidia Corporation | Architecture for providing input/output operations in a computer system |
US5768618A (en) * | 1995-12-21 | 1998-06-16 | Ncr Corporation | Method for performing sequence of actions in device connected to computer in response to specified values being written into snooped sub portions of address space |
US5926648A (en) * | 1996-08-22 | 1999-07-20 | Zilog, Inc. | I/O port and RAM memory addressing technique |
US7337306B2 (en) * | 2000-12-29 | 2008-02-26 | Stmicroelectronics, Inc. | Executing conditional branch instructions in a data processor having a clustered architecture |
US6865665B2 (en) * | 2000-12-29 | 2005-03-08 | Stmicroelectronics, Inc. | Processor pipeline cache miss apparatus and method for operation |
DE10127195A1 (de) * | 2001-06-05 | 2002-12-19 | Infineon Technologies Ag | Prozessor mit interner Speicherkonfiguration |
US7254720B1 (en) * | 2002-02-13 | 2007-08-07 | Lsi Corporation | Precise exit logic for removal of security overlay of instruction space |
US7206906B1 (en) * | 2004-03-10 | 2007-04-17 | Sun Microsystems, Inc. | Physical address mapping framework |
TWI368224B (en) * | 2007-03-19 | 2012-07-11 | A Data Technology Co Ltd | Wear-leveling management and file distribution management of hybrid density memory |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
US8341335B2 (en) | 2007-12-05 | 2012-12-25 | Densbits Technologies Ltd. | Flash memory apparatus with a heating system for temporarily retired memory portions |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) * | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
CN103970680A (zh) * | 2014-04-28 | 2014-08-06 | 上海华为技术有限公司 | 内存管理方法、装置及嵌入式系统 |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
CN105653478B (zh) * | 2015-12-29 | 2019-07-26 | 致象尔微电子科技(上海)有限公司 | 串行闪存控制器、串行闪存控制方法及串行闪存控制系统 |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
US11061819B2 (en) | 2019-05-28 | 2021-07-13 | Micron Technology, Inc. | Distributed computing based on memory as a service |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE758815A (fr) * | 1969-11-28 | 1971-04-16 | Burroughs Corp | Systeme de traitement d'information presentant des moyens pour la preparation dynamique d'adresses de memoire |
US4053948A (en) * | 1976-06-21 | 1977-10-11 | Ibm Corporation | Look aside array invalidation mechanism |
FR2431732A1 (fr) * | 1978-07-19 | 1980-02-15 | Materiel Telephonique | Dispositif de conversion d'adresse virtuelle en adresse reelle |
US4320456A (en) * | 1980-01-18 | 1982-03-16 | International Business Machines Corporation | Control apparatus for virtual address translation unit |
US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
US4493023A (en) * | 1981-05-22 | 1985-01-08 | Data General Corporation | Digital data processing system having unique addressing means and means for identifying and accessing operands |
US4439830A (en) * | 1981-11-09 | 1984-03-27 | Control Data Corporation | Computer system key and lock protection mechanism |
US4477871A (en) * | 1981-11-23 | 1984-10-16 | Motorola, Inc. | Global operation coordination method and circuit |
US4654777A (en) * | 1982-05-25 | 1987-03-31 | Tokyo Shibaura Denki Kabushiki Kaisha | Segmented one and two level paging address translation system |
JPS6047624B2 (ja) * | 1982-06-30 | 1985-10-22 | 富士通株式会社 | アドレス変換制御方式 |
US4635189A (en) * | 1984-03-01 | 1987-01-06 | Measurex Corporation | Real-time distributed data-base management system |
-
1985
- 1985-06-28 US US06/750,578 patent/US4777589A/en not_active Expired - Lifetime
-
1986
- 1986-05-15 JP JP61111741A patent/JPH0654479B2/ja not_active Expired - Lifetime
- 1986-06-02 CN CN86103675.1A patent/CN1006096B/zh not_active Expired
- 1986-06-12 EP EP19930104861 patent/EP0551148A3/en not_active Withdrawn
- 1986-06-12 DE DE86304492T patent/DE3689209T2/de not_active Expired - Fee Related
- 1986-06-12 EP EP86304492A patent/EP0208428B1/en not_active Expired - Lifetime
- 1986-06-26 CA CA000512587A patent/CA1261479A/en not_active Expired
- 1986-06-27 KR KR1019860005176A patent/KR930009062B1/ko not_active IP Right Cessation
- 1986-06-27 AU AU59413/86A patent/AU583634B2/en not_active Ceased
-
1989
- 1989-06-14 AU AU36410/89A patent/AU623146B2/en not_active Ceased
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1104504C (zh) * | 2000-05-23 | 2003-04-02 | 厦门大学 | 一种海洋细菌胞外多糖的生产工艺 |
CN101470633B (zh) * | 2007-12-24 | 2011-09-21 | 联想(北京)有限公司 | 一种虚拟机监视器、虚拟机系统及其内存处理方法 |
Also Published As
Publication number | Publication date |
---|---|
AU5941386A (en) | 1987-01-08 |
US4777589A (en) | 1988-10-11 |
KR930009062B1 (ko) | 1993-09-22 |
KR870000645A (ko) | 1987-02-19 |
AU623146B2 (en) | 1992-05-07 |
DE3689209T2 (de) | 1994-03-10 |
EP0208428A3 (en) | 1989-04-26 |
DE3689209D1 (de) | 1993-12-02 |
EP0551148A2 (en) | 1993-07-14 |
JPS623359A (ja) | 1987-01-09 |
CA1261479A (en) | 1989-09-26 |
EP0208428B1 (en) | 1993-10-27 |
AU583634B2 (en) | 1989-05-04 |
JPH0654479B2 (ja) | 1994-07-20 |
EP0208428A2 (en) | 1987-01-14 |
EP0551148A3 (en) | 1993-09-15 |
AU3641089A (en) | 1989-10-05 |
CN86103675A (zh) | 1986-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1006096B (zh) | 虚拟存储系统中的直接输入/输出 | |
CA1226372A (en) | Address translation control system | |
EP0021144B1 (en) | Data processing apparatus with a reconfigurable key based main storage protect mechanism | |
EP0306702B1 (en) | Virtual input/output commands | |
US4173783A (en) | Method of accessing paged memory by an input-output unit | |
EP0855057B1 (en) | Address transformation in a cluster computer system | |
CN1004589B (zh) | 使用地址变换的数据处理系统 | |
WO1984001043A1 (en) | Method and apparatus for handling interprocessor calls in a multiprocessor system | |
CN1004307B (zh) | 动态分配局部/全局存贮器系统 | |
EP0313857B1 (en) | Buffer memory control apparatus | |
ES8106059A1 (es) | Perfeccionamientos en sistemas de procesos de datos | |
US6457171B1 (en) | Storage structure for dynamic management of translated code blocks in dynamic object code translation | |
US3564504A (en) | Method and system for program linkage and communication mechanism for computers | |
EP0388032A2 (en) | Storage control in cached multi-processor systems | |
JPS6079446A (ja) | 多重仮想記憶デ−タ処理装置 | |
GB1495729A (en) | Apparatus and method for handling exceptions in a data processing system | |
CN85105547B (zh) | 用于一信息处理装置的存储器存取控制系统 | |
CN85101790B (zh) | 用于有硬件区域和软件区域的存储器的存取控制系统 | |
JP2612173B2 (ja) | 仮想計算機 | |
JPH0210448A (ja) | キャッシュメモリシステム | |
JPH02114346A (ja) | Tlbエントリ制御方式 | |
JPH0269851A (ja) | 入出力制御方式 | |
JPH03144749A (ja) | アドレス変換バッファ制御方式 | |
JPS6232543A (ja) | タスク通信方式 | |
JPS62226350A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C13 | Decision | ||
GR02 | Examined patent application | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |