CN101042682A - 访问控制装置、系统和方法,处理器 - Google Patents
访问控制装置、系统和方法,处理器 Download PDFInfo
- Publication number
- CN101042682A CN101042682A CNA2007100843799A CN200710084379A CN101042682A CN 101042682 A CN101042682 A CN 101042682A CN A2007100843799 A CNA2007100843799 A CN A2007100843799A CN 200710084379 A CN200710084379 A CN 200710084379A CN 101042682 A CN101042682 A CN 101042682A
- Authority
- CN
- China
- Prior art keywords
- data
- reading
- address
- write
- visit
- 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.)
- Pending
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/1408—Protection against unauthorised use of memory or access to memory by using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种访问控制装置,包括:写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对添加了奇偶校验码的数据进行掩码,所述写入方校正子与当所述写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址。
Description
技术领域
本发明涉及一种可以控制对存储器的访问的访问控制装置、访问控制系统、处理器、访问控制方法、存储器访问控制装置、存储器访问控制系统和存储器访问控制方法。
背景技术
在新近的计算机系统中,使用多道程序系统以高效地利用各种资源,例如计算机系统中的存储器和CPU,其中,所述多道程序系统执行处理,同时切换多个进程(程序、任务或工作)。
因此,在处理中使用的存储器上的数据会被另一个进程偷窃,或者通过重写被破坏。
因此,在传统的技术中,如在“z/Architecture Principles ofOperation(IBM;SA22-7832-00;December 2000)pp.3-9至3-12”中所公开的,在存储器中每隔预定尺寸(例如4kB)存储称作存储密钥的信息。当进程访问存储器时,系统将由该进程所拥有的密钥与待访问的存储器的存储密钥进行比较,以确定是否可以访问所述存储器。
然而,在上述使用存储密钥的存储器保护系统中,除了其中将存储数据的存储器之外,还需要存储存储密钥的存储器。因此,会增加的相当的数量。
一个保护单位是例如4kB的页单位。当用户打算保护较小尺寸的数据时,产生未使用的浪费的存储区域。可以解决这个问题从而使得存储密钥与更小的存储区域单位相关联。但是,在这种情况下,需要更大的存储器来存储存储密钥。
此外,当在存储器中发生故障时,存储器可以是可访问的,并且数据可以被非法读取。
发明内容
根据本发明的一个方面,一种访问控制装置,其控制写入方、读出方和存储器之间的访问,所述访问控制装置包括:奇偶校验码生成器,其生成将写入所述存储器的写数据的奇偶校验码;奇偶校验码添加器,其将所述奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当所述写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址;读出方校正子生成器,其生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及所述读出方从所述存储器中读取所述读数据的读地址来生成所述读出方掩码数据;读地址转换器,其将所述读地址转换为根据所述读出方访问ID确定的另一个地址;读单元,其从由所述读地址转换器转换后的地址读取所述第一运算后数据;第二XOR计算器,其通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
根据本发明的另一方面,一种访问控制装置,其控制写入方、读出方、高速缓冲存储器和存储器之间的访问,所述访问控制装置包括:读请求接收器,其从读出方获取读地址;高速缓存监视器,其判断由所述读请求接收器获取的读地址是否存储在所述高速缓冲存储器中,其中,所述高速缓冲存储器存储由所述写入方或所述读出方请求的数据,所述数据的地址以及当能够访问所述数据的所述写入方或所述读出方访问所述存储器时使用的请求者访问ID,其中,所述数据、所述地址以及所述请求者访问ID彼此相关联;读出方校正子生成器,当所述高速缓存监视器判断由所述读请求接收器获取的读地址未存储在所述高速缓冲存储器中时,所述读出方校正子生成器生成读出方掩码数据的读出方校正子以对存储在所述存储器中的数据进行掩码,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联;读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及所述读地址生成所述读出方掩码数据;读地址转换器,其将由所述读请求接收器获取的地址转换为根据所述读出方访问ID确定的另一个地址;读单元,其从由所述读地址转换器转换后的地址读取接受对数据进行的预定的计算的第一运算后数据;第一XOR计算器,其通过计算所述读出方掩码数据与由所述读单元读取的所述第一运算后数据之间的XOR来获得第二运算后数据;数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的数据来输出。
根据本发明的另一方面,一种访问控制系统,包括:处理器;存储器控制器;以及存储器访问控制装置,其控制到存储器的访问,其中,所述存储器访问控制装置包括:奇偶校验码生成器,其生成将写入所述存储器的写数据的奇偶校验码;奇偶校验码添加器,其将所述奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址;读出方校正子生成器,其生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及读地址生成所述读出方掩码数据,其中,所述读出方数据将在所述读地址被读取;读地址转换器,其将所述读地址转换为根据所述读出方访问ID确定的另一个地址;读单元,其从由所述读地址转换器转换后的地址读取所述第一运算后数据;第二XOR计算器,其通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
根据本发明的另一方面,一种访问控制系统,包括:处理器;以及存储器访问控制装置,其控制到存储器的访问,其中所述存储器访问控制装置包括:奇偶校验码生成器,其生成将写入所述存储器的写数据的奇偶校验码;奇偶校验码添加器,其将由所述奇偶校验码生成器生成的所述奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址;读出方校正子生成器,其生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及读地址生成所述读出方掩码数据,其中,所述读出方数据将在所述读地址被读取;读地址转换器,其将所述读地址转换为根据所述读出方访问ID确定的另一个地址;读单元,其从由所述读地址转换器转换后的地址读取所述第一运算后数据;第二XOR计算器,其通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
根据本发明的另一方面,一种访问控制系统,包括:处理器;存储器控制器;以及存储器访问控制装置,其控制到存储器的访问,其中,所述存储器访问控制装置包括:读请求接收器,其获取将从所述存储器读取的数据,并且从读出方获取所述数据的读地址,其中,所述读出方请求从所述存储器读出数据;高速缓存监视器,其判断由所述读请求接收器获取的读地址是否存储在高速缓冲存储器中,其中,所述高速缓冲存储器存储由请求将数据写入所述存储器的写入方或读出方请求的数据,所述数据的地址以及当能够访问所述数据的所述写入方或所述读出方访问所述存储器时使用的请求者访问ID,其中,所述数据、所述地址以及所述请求者访问ID彼此相关联;读出方校正子生成器,当所述高速缓存监视单元判断由所述读请求接收器获取的读地址未存储在所述高速缓冲存储器中时,所述读出方校正子生成器生成所述读出方掩码数据的读出方校正子以对存储在所述存储器中的数据进行掩码,其中,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联;读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及所述读地址生成所述读出方掩码数据;读地址转换器,其将由所述读请求接收器获取的地址转换为根据所述读出方访问ID确定的另一个地址;读单元,其从由所述读地址转换器转换后的地址读取接受对所述数据进行的预定的计算的第一运算后数据;第一XOR计算器,其通过计算所述读出方掩码数据与由所述读单元读取的第一运算后数据之间的XOR来获得第二运算后数据;数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的数据来输出。
根据本发明的另一方面,一种访问控制系统包括:处理器;以及存储器访问控制装置,其控制到存储器的访问,其中,所述存储器访问控制装置包括:读请求接收器,其获取将从所述存储器读取的数据,并且从读出方获取所述数据的读地址,其中,所述读出方请求从所述存储器读出数据;高速缓存监视器,其判断由所述读请求接收器获取的读地址是否存储在高速缓冲存储器中,其中,所述高速缓冲存储器存储由请求将数据写入所述存储器的写入方或读出方请求的数据,所述数据的地址以及当能够访问所述数据的写入方或读出方访问所述存储器时使用的请求者访问ID,其中,所述数据、所述地址以及所述请求者访问ID彼此相关联;读出方校正子生成器,当所述高速缓存监视单元判断由所述读请求接收器获取的读地址未存储在所述高速缓冲存储器中时,所述读出方校正子生成器生成所述读出方掩码数据的读出方校正子以对存储在所述存储器中的数据进行掩码,其中,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联;读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及所述读地址生成所述读出方掩码数据;读地址转换器,其将由所述读请求接收器获取的地址转换为根据所述读出方访问ID确定的另一个地址;读单元,其从由所述读地址转换器转换后的地址读取接受对所述数据进行的预定的计算的第一运算后数据;第一XOR计算器,其通过计算所述读出方掩码数据与由所述读单元读取的第一运算后数据之间的XOR来获得第二运算后数据;数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的数据来输出。
根据本发明的另一方面,一种处理器,包括:存储器控制器;以及存储器访问控制装置,其控制到存储器的访问,其中,所述存储器访问控制装置包括:奇偶校验码生成器,其生成将写入所述存储器的写数据的奇偶校验码;奇偶校验码添加器,其将由所述奇偶校验码生成器生成的所述奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址;读出方校正子生成器,其生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及读地址生成所述读出方掩码数据,其中,所述读出方数据将在所述读地址被读取;读地址转换器,其将所述读地址转换为根据所述读出方访问ID确定的另一个地址;读单元,其从由所述读地址转换器转换后的地址读取所述第一运算后数据;第二XOR计算器,其通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
根据本发明的另一方面,一种访问控制方法,其控制写入方、读出方和存储器之间的访问,所述访问控制方法包括:生成将写入所述存储器的写数据的奇偶校验码;将所述生成的奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当所述写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;将所述写地址转换为根据所述写入方访问ID确定的另一个地址;将所述第一运算后数据写到所述转换后的地址;生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;根据所述读出方校正子、所述读出方访问ID以及将读取所述读数据的读地址来生成所述读出方掩码数据;将所述读地址转换为根据所述读出方访问ID确定的另一个地址;从所述转换后的地址读取所述第一运算后数据;通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;根据所述第二运算后数据计算实际的数据校正子;以及根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
根据本发明的另一方面,一种存储器访问控制方法,其控制写入方、读出方和存储器之间的访问,所述存储器访问控制方法包括:获取将从所述存储器读取的数据,并且从读出方获取所述数据的读地址,其中,所述读出方请求从所述存储器读出数据;判断所述读地址是否存储在高速缓冲存储器中,其中,所述高速缓冲存储器存储由请求将数据写入所述存储器的写入方或读出方请求的数据,所述数据的地址以及当能够访问所述数据的写入方或读出方访问所述存储器时使用的请求者访问ID,其中,所述数据、所述地址以及所述请求者访问ID彼此相关联;当判断所述读地址未存储在所述高速缓冲存储器中时,生成所述读出方掩码数据的读出方校正子以对存储在所述存储器中的数据进行掩码,其中,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联;根据所述读出方校正子、所述读出方访问ID以及所述读地址生成所述读出方掩码数据;将所述地址转换为根据所述读出方访问ID确定的另一个地址;从所述转换后的地址读取接受对所述数据进行的预定的计算的第一运算后数据;通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;根据所述第二运算后数据计算实际的数据校正子;以及根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的数据来输出。
附图说明
图1是显示根据本发明第一实施例的访问控制系统的整体结构的示图;
图2是用于说明当数据被写入存储器时执行的处理的示图;
图3是用于说明当数据D′被读出时执行的处理的示图;
图4是显示当数据长度是64位时的Hsiao的SEC-DED码的校验矩阵H的例子的示图;
图5是显示与图4中显示的校验矩阵H相对应的生成矩阵G的示图;
图6是显示访问控制装置的详细功能结构的框图;
图7是显示从处理器所看到的地址空间的示图;
图8是显示掩码值生成电路的详细功能结构的框图;
图9是显示数据掩码生成电路的具体结构的框图;
图10A是显示访问ID校正子生成电路的示图;
图10B是显示访问ID校正子生成电路的示图;
图11是显示包含在访问控制系统中的访问控制处理中的写处理的流程图;
图12是显示写处理中的数据的流程的流程图;
图13是显示在访问ID设定处理中使用的进程管理表的示图;
图14是显示在访问ID设定处理中的详细处理的流程图;
图15是用于说明掩码值生成处理中的掩码值生成电路的详细处理的流程图;
图16是显示包含在访问控制处理中的、从存储器读数据的处理的流程图;
图17是用于说明当写入存储器的数据被读取时执行的处理的示图;
图18是显示根据第二实施例的装置的功能结构的框图;
图19是显示访问ID管理电路的详细功能结构的框图;
图20是示意性地显示访问ID表的数据结构的示图;
图21是显示访问ID管理电路的具体结构的示图;
图22是显示根据第二实施例的访问控制系统中的访问ID获取处理中的详细处理的流程图;
图23是示意性地显示在根据第三实施例的访问控制系统中,包含在访问ID管理电路中的访问ID表的数据结构的示图;
图24是显示访问ID管理电路的具体结构的示图;
图25是显示根据第三实施例的访问控制系统中的访问ID获取处理中的详细处理的流程图;
图26是示意性地显示根据第四实施例的访问ID表的数据结构的示图;
图27是显示访问ID管理电路的具体结构的示图;
图28是显示根据第四实施例的访问控制系统中的访问ID获取处理中的详细处理的流程图;
图29是显示根据第五实施例的数据掩码生成电路的功能结构的框图;
图30是示意性地显示数据掩码生成信息表的数据结构的示图;
图31是显示LFSR延迟计算电路的更具体的结构的示图;
图32是包含在LFSR延迟计算电路中的电路的详图;
图33是包含在LFSR延迟计算电路中的电路的详图;
图34是显示根据第六实施例的数据掩码生成电路的功能结构的框图;
图35是显示根据第七实施例的数据掩码生成电路的功能结构的框图;
图36是显示地址分离电路的具体结构的示图;
图37是显示根据第七实施例的第一变形的地址分离电路的具体结构的示图;
图38是仅具有零移位电路的数据掩码生成电路的框图;
图39是仅具有地址分离电路的数据掩码生成电路的框图;
图40是显示根据第七实施例的第三变形的数据掩码生成电路的框图;
图41是显示根据第七实施例的第四变形的数据掩码生成电路的框图;
图42是显示根据第七实施例的第五变形的数据掩码生成电路的框图;
图43是显示根据第八实施例的装置的功能结构的框图;
图44是显示地址转换设备的具体结构的示图;
图45是显示根据第八实施例的第一变形的地址转换设备的结构的示图;
图46是显示根据第八实施例的第二变形的地址转换设备的结构的示图;
图47是显示根据第八实施例的第三变形的地址转换设备的结构的示图;
图48是显示根据第一变形的访问控制系统的整体结构的示图;
图49是显示根据第二变形的访问控制系统的整体结构的示图;
图50是显示根据第三变形的访问控制系统的整体结构的示图;
图51是显示根据第四变形的访问控制系统的整体结构的示图;
图52是显示根据第五变形的访问控制系统的整体结构的示图;
图53是显示根据第六变形的访问控制系统的整体结构的示图;
图54是显示根据第七变形的访问控制系统的整体结构的示图;
图55是显示根据第九实施例的访问控制系统的整体结构的示图;
图56是显示访问控制装置的详细功能结构的框图;
图57是处理器端缓存控制电路的详细功能结构的框图;
图58是显示缓冲存储器的详细功能结构的框图;
图59是显示存储器端缓存控制电路的详细功能结构的框图;
图60是显示根据第九实施例的访问控制系统中的访问控制处理中包含的写处理的流程图;
图61是显示根据第九实施例的访问控制系统中的访问控制处理中包含的读处理的流程图;
图62是显示根据第十实施例的装置的功能结构的框图;
图63是显示根据第十实施例的掩码值生成电路的详细功能结构的框图;
图64是示意性地显示地址信息表的数据结构的示图;
图65是用于说明存储器地址的示图;
图66A是用于说明由地址转换设备执行的地址转换处理的示图;
图66B是用于说明由地址转换设备执行的地址转换处理的示图;
图67是显示地址转换设备的具体结构的示图;
图68是显示实现图66A和66B中显示的地址转换的地址转换表的示图;
图69是显示由根据第十实施例的访问控制系统执行的写处理的流程图;
图70是显示由根据第十实施例的访问控制系统执行的读处理的流程图;
图71是显示根据第十实施例的第一变形的地址转换设备的具体结构的示图;
图72是示意性地显示根据第十实施例的第二变形的数据掩码生成信息表的数据结构的示图;
图73是显示根据第十一实施例的装置的功能结构的框图;
图74是显示重排缓冲区166的具体结构的示图;
图75是显示由突发传输控制器将数据写入存储器的处理的流程图;
图76是用于更具体地说明参考图75所说明的写处理的示图;
图77是显示由突发传输控制器从存储器中读数据的处理的流程图;
图78是用于更具体地说明参考图77所说明的读处理的示图;
图79是显示根据第十一实施例的变形的存储器端缓存控制电路的功能结构的框图;
图80是显示根据第十二实施例的访问控制系统的整体结构的示图;
图81是显示访问控制装置的功能结构的框图;
图82是显示总线加密设备的详细功能结构的框图;
图83是显示未被总线加密设备掩码的信号的示图;
图84是显示未被总线加密设备掩码的信号的示图;
图85是显示根据第十二实施例的第二变形的总线加密设备的详细功能结构的框图;
图86是显示根据第十二实施例的第三变形的装置的功能结构的框图;
图87是显示根据第十二实施例的第四变形的装置的功能结构的框图;以及
图88是显示根据第十二实施例的第五变形的装置的功能结构的框图。
具体实施方式
以下将参考附图详细地描述根据本发明的访问控制装置、访问控制系统、处理器、访问控制方法、存储器访问控制装置、存储器访问控制系统和存储器访问控制方法的实施例。本发明不局限于这些实施例。
(第一实施例)
图1是显示根据第一实施例的访问控制系统1的整体结构的示图。访问控制系统1包括访问控制装置10、处理器20、存储器控制器30和存储器40。
通过存储器控制器30和访问控制装置10将处理器20和存储器40彼此连接。存储器控制器30用于消除处理器总线22(直接从处理器延伸出的信号线)的协议与存储器总线42的协议之间的差别。更具体地说,存储器控制器30消除用于读/写从处理器20输出到处理器总线22的数据的信号与将从存储器40读出的或写入存储器40的信号之间的差别。
例如,如果存储器40是DRAM,那么当处理器20指出地址以请求读数据时,需要将地址划分为高位地址和低位地址,以将该高位和低位地址提供给存储器40。存储器控制器30转换处理器和DRAM的寻址过程之间的差异。
访问控制装置10连接在存储器控制器30和存储器40之间。当从存储器40读数据时,判断数据的读出方是否具有访问权限。由处理器20通过存储器控制器30将有关访问权限的信息设置在访问控制装置10中。更具体地,例如访问ID(稍后将描述)这样的信息被设置。
访问控制装置10具有ECC(纠错码或差错控制码)的功能。更具体地说,访问控制设备10将ECC添加至将由处理器20写入存储器40的数据。访问控制装置10对从存储器40读出的添加了ECC的数据执行ECC校验。因为使用了ECC,所以访问控制(即,存储器40的保护)的单位是与ECC的相等的32位或64位。更具体地说,可以以较小的单位保护存储器40。
存储器数据访问的请求源(请求者)的访问权限由访问控制装置10管理,即,数据的读出方和写入方是在处理器20中管理的进程。
这里,以下将描述ECC。图2和3是用于说明ECC的示图。图2是用于说明当数据被写入存储器40时执行的处理的示图。通常,如图2所示,根据数据D的值计算的m位奇偶校验码(parity)被添加到数据D,该数据D具有n位的尺寸并且将被一次从存储器40读出或写入存储器40。(n+m)位数据D′被写入存储器40。
例如,对于具有64(=n)位尺寸并且将被一次从存储器40读取以及写入存储器40的数据,将根据该数据的值计算的8(=m)位奇偶校验码添加到该数据。将72位的添加了奇偶校验码的数据写入存储器40。
图3是用于说明当数据D′被读取时执行的处理的示图。当从存储器40读取数据D′时,依据数据D′和校验矩阵“H”的转置矩阵的乘积计算m位的值。该m位的值称作校正子(syndrome)。校正子“0”意味着n位数据的值是正确的。
校正子不为“0”则意味着存在误差。当能够纠错时,纠正误差。当存在误差并且不能纠正时,通过中断等等通知用作存储器数据访问的请求者的处理器20发生误差。
ECC包括各种系统。各种系统具有不同的奇偶校验码的位数,不同的计算奇偶校验码的位数的方法,不同的用于计算校正子的校验矩阵,以及不同的根据校正子等等计算纠错的位的位置的方法。
在计算机系统的存储器中广泛使用SEC-DED码(单纠错-双检错码)。当数据或它的奇偶校验码包括1位误差(也称作单错)时,SEC-DED码可以指明误差的位置。当数据或它的奇偶校验码包括2位误差(也称作双错)时,不能指明位置,但是可以检测到存在误差。通常,作为一种ECC,7位的奇偶校验码被添加到32位的数据,8位的奇偶校验码被添加到64位的数据,9位的奇偶校验码被添加到128位的数据。
根据计算代码的奇偶校验码的方法以及形成校验矩阵的方法的不同,还有各种类型的SEC-DED码。各种类型的SEC-DED码中的扩展海明码(extended humming code)以及Hsiao码被广泛使用。特别地,Hsiao类型的SEC-DED码具有适用于安装电路的属性并且被广泛使用。在“Algebraic Code for Data Transmission;Richard E.Blahut,2003,Cambridge University Press,p.63”中描述了扩展海明码。在“AClass of Optimal Minimum Odd-weight-column SEC-DED Codes;M.Y.Hsiao,IBM Journal of Research and Development,July 1970,pp.395 to401”中描述了Hsiao码。两个类型的SEC-DED码具有不同的解释校正子的值的方法,但是具有相同的纠错/检测能力。
在根据第一实施例的访问控制系统1中,假设一种Hsiao码,其将8位奇偶校验码添加至64位数据。然而,数据长度不局限于假设的长度。可以对具有各种长度(例如32位/16位/128位)的数据执行类似的访问控制。此外,例如当其它的SEC-DED码(例如扩展海明码)或另一种纠错码被使用时,可以执行如上所述的访问控制。
图4是显示当数据长度是64位时的Hsiao类型的SEC-DED码的校验矩阵“H”的例子的示图。校验矩阵“H”是8行72列的矩阵。从左侧开始的64列对应于64位存储器的数据的位的位置,并且右边剩余的8列对应于奇偶校验码的位。对应于奇偶校验码的8列是8×8的单位矩阵。
图5是显示与图4中显示的校验矩阵“H”相对应的生成矩阵G的示图。生成矩阵“G”用来计算未添加奇偶校验码的原始数据的奇偶校验码。生成矩阵“G”是64行和72列的矩阵。左侧的64列构成64×64的单位矩阵。右侧剩余的8列构成关于生成矩阵“G”的左侧的64列转置矩阵。
图6是显示访问控制装置10的详细功能结构的框图。访问控制装置10包括奇偶校验码生成电路100、第一XOR电路102、访问ID寄存器110、掩码值生成电路112、第二XOR电路114、校正子计算电路120以及纠错电路122。
访问控制装置10除传统的ECC电路之外还包括一电路,其形成用于检查访问权限的掩码值,将数据连同奇偶校验码记录在存储器40中,并且通过使用掩码值检查对从存储器40读取的数据的访问权限。除第一XOR电路102、访问ID寄存器110、掩码值生成电路112和第二XOR电路114之外的电路与传统的ECC电路中的那些相同。
当连接有访问控制装置10的存储器控制器30包括ECC电路时,可以在不将ECC电路的功能给予访问控制装置10的情况下使用存储器控制器30的ECC电路。
奇偶校验码生成电路100为通过存储器控制器30从处理器20获取的数据生成奇偶校验码。奇偶校验码被添加到从处理器20获取的数据。
更具体地说,通过存储器控制器30从处理器20获取64位数据。根据所获取的数据计算8位奇偶校验码以将数据输出至第一XOR电路102。该计算是通过使用参考图5所说明的生成矩阵“G”而执行的。
假设64位输入数据“d”被表示为64元素矢量,如等式1所示,添加了对应于数据“d”的8位奇偶校验码的代码字“x”被表示为72元素矢量,如等式2所示。
d=(d1,d2,d3,...,d64) ...(Equation 1)
x=(d1,d2,d3,...,d64,p1,p2,...,p8) ...(Equation 2)
在这种情况下,代码字(带有奇偶校验码的数据)“x”,生成矩阵“G”和数据“d”具有等式3所表示的关系。
x=dG ...(Equation 3)
更具体地说,64位数据乘以生成矩阵“G”以使得能够计算代码字“x”。所计算的代码字“x”的最后的八个元素被输出为8位的奇偶校验码。
已知奇偶校验码生成电路100可以实现为组合电路,其通过矢量和这里所述的矩阵的乘积来计算奇偶校验码。
访问ID寄存器110通过存储器控制器30从处理器20获取访问ID。在这种情况下,访问ID是当作为对存储器40的数据访问的请求者的进程访问存储器40时使用的信息。在该实施例中,因为8位的奇偶校验码被添加到64位的数据,所以可以管理128种类型的访问ID。例如,7位数字0到127用作访问ID。
当工作在处理器20上的进程访问存储器40时,在访问控制装置10的访问ID寄存器110中设置访问ID。
图7是显示从处理器20所看到的地址空间的示图。如图7所示,访问控制装置10的访问ID寄存器110被映射在可以从处理器20看到的地址空间中的输入/输出空间中。当处理器20在访问ID寄存器110映射在输入/输出空间中的地址处写访问ID时,所写的访问ID被写入访问ID寄存器110。将访问ID设置在访问ID寄存器110中的方法不局限于上述方法。
当在处理器20上执行的任意程序被设计成能够设置任意的ID时,不能保护访问权限。希望通过例如工作在处理器20上的OS或硬件认证等方式来设置访问ID。通过该方式,只有当执行中的程序具有访问权限时,程序的访问ID才可以被设置在访问ID寄存器110中。在这种情况下,访问ID寄存器110用作写访问ID接收器和读访问ID接收器。
说明返回到图6。掩码值生成电路112基于由访问ID寄存器110保存的访问ID以及处理器20必须访问的存储器40的地址值生成掩码值。掩码值是用于对将写入存储器40的数据或将从存储器40读取的数据进行掩码的数据,并且可以唯一地根据访问ID和将访问的存储器40的地址来确定。根据该实施例的掩码值生成电路112用作写掩码生成器和读掩码生成器。
第一XOR电路102计算将写入存储器40的数据和根据该数据生成的奇偶校验码之间的“XOR”(异或),并且当数据被写入存储器40时计算掩码值。结果值的组合被写入存储器40。更具体地说,由掩码值生成电路112生成的掩码值被写入以重叠数据和奇偶校验码。该值被称为第一运算后数据。
第二XOR电路114通过计算从存储器40读取的数据和当从存储器40读取该数据时的掩码值之间的“XOR”而消除掩码值。
校正子计算电路120基于第二XOR电路114的计算结果计算校正子。纠错电路122根据由校正子计算电路120计算的校正子的值适当地执行纠错。
在这种情况下,将详细地描述校正子计算电路120和纠错电路122中的处理。根据从存储器40读取的带有奇偶校验码的数据计算校正子以检测并纠正误差。更具体地说,校正子计算电路120获取从存储器40读取的64位数据以及添加到该数据的8位奇偶校验码。通过使用校验矩阵“H”,根据64位数据和8位奇偶校验码计算8位校正子。校正子被输出到纠错电路122。
假设8位校正子“s”被表示为等式4,并且由作为输入的64位数据和8位奇偶校验码组成的矢量“x”被表示为等式5。
s=(s1,s2,...,s8) ...(Equation 4)
x=(d1,d2,d3,...,d64,p1,p2,...,p8) ...(Equation 5)
在这种情况下,可以根据矢量“x”和校验矩阵“H”计算校正子“s”,如等式6所示。
s=xHT ...(Equation 6)
其中,HT表示校验矩阵“H”的转置矩阵“H”。通过这种方式,校正子计算电路120计算并输出8位校正子。
当SEC-DED码没有误差时,校正子的值变为“0”。当SEC-DED码具有一个误差时,校正子具有与对应于错误比特的位置的校验矩阵“H”的列的元素相等的值。当校正子不是“0”时,包含在校验矩阵“H”中的列包括具有与校正子的值相等的值的列矢量,对应于该列的比特位置是错误的。在这种情况下,数据或奇偶校验码中的对应于所述比特位置的1比特被反转,从而可以纠正误差。
当校正子具有非零值时,以及当校验矩阵“H”的具有与校正子的值相等的值的列矢量不存在时,出现不可校正的误差。更具体地说,出现两个或更多位的误差。
在Hsiao类型的代码中,在代码的校验矩阵的每个列中,每个具有值“1”的元素的数量是奇数。根据该属性,代码具有下列属性。即,当奇数位的误差出现时的校正子中的值“1”的数量必需是奇数,当偶数位的误差出现时的校正子中的值“1”的数量必需是偶数。
当两位误差出现时,在Hsiao类型的代码中的校正子中的值“1”的数量必需是不为0的偶数。因此,双错可以被必然地检测到。当三位或以上的奇数位的误差出现时,在校正子中的值“1”的数量必需是奇数。然而,在这种情况下,该校正子不能与单个错误的情况下的校正子相区别。因此,当校正子与1位的误差的校正子相同时,检测结果显示仅有一个误差位并且进行不正确的纠正,否则,误差被检测为不可校正的误差。
当4位或以上的偶数位的误差出现时,在校正子中的值“1”的数量必需是偶数。然而,值“1”的数量可能是零。当数量是零时,确定未出现误差,否则,误差被检测为不可纠正的误差。当使用普通的SEC-DED码时,基于至多出现两个误差的假设使用SEC-DED码。
即使在一般的SEC-DED码的奇偶校验码部分出现误差,也可以纠正奇偶校验码部分。在该实施例中,不使用在纠正奇偶校验码部分之后获得的值,不对奇偶校验码部分执行纠错。作为另一个例子,可以纠正奇偶校验码部分。
图8是显示掩码值生成电路112的详细功能结构的框图。掩码值生成电路112生成这种掩码值,从而对于根据所获取的访问ID生成的掩码的校正子具有预先确定的值。
掩码值生成电路112具有数据掩码生成电路130、访问ID校正子生成电路132、奇偶校验码生成电路134以及XOR电路136。
图9是显示数据掩码生成电路130的具体结构的示图。数据掩码生成电路130使用数据掩码生成电路130希望访问的存储器40的地址以及访问ID作为输入,并且输出对应于两个值的64位数据的掩码,即数据掩码。更具体地说,数据掩码生成电路130是如图9所示的随机数存储器。随机数存储器由普通的存储元件构成。
随机值被写入该随机数存储器。访问ID以及地址被连接到随机数存储器的地址终端。通过这种方式,对应于访问ID和地址的随机值被从随机数存储器的数据终端输出,作为数据掩码值。
数据掩码生成电路130最好可以输出由地址和访问ID唯一确定的值。其结构不局限于该实施例。数据掩码生成电路130用作写数据掩码生成器和读数据掩码生成器。
图10A是显示访问ID校正子生成电路132的示图。访问ID校正子生成电路132确定将由所获取的访问ID生成的奇偶校验码的校正子。更具体地说,如上所述,如图10A所示构成校正子,以使得校正子中的值“1”的数量统一是奇数,如上所述。
当校正子中的值“1”的总数统一是偶数时,如图10B所示构成校正子。随后将描述由访问ID校正子生成电路132生成的校正子中的值“1”的数量。
访问ID校正子生成电路132用作写校正子生成器和读校正子生成器,写校正子生成器生成写掩码数据(writer mask data)的写校正子,读校正子生成器生成读掩码数据的读校正子。
奇偶校验码生成电路134计算由数据掩码生成电路130生成的数据掩码(data mask)的奇偶校验码。XOR电路136输出由奇偶校验码生成电路134生成的奇偶校验码和由访问ID校正子生成电路132生成的访问ID校正子之间的“XOR”,作为奇偶校验码的掩码,即奇偶校验码掩码。XOR电路136用作写奇偶校验码掩码生成器和读奇偶校验码掩码生成器。
通常,任意的数据以及根据该数据计算的奇偶校验码的校正子变成零。然而,当使用通过计算奇偶校验码和作为新的奇偶校验码的任意值“x”之间的“XOR”而获得的值来计算校正子时,校正子变为“x”。
这是因为校验矩阵“H”中的对应于奇偶校验码的部分是单位矩阵。使用上述特性,生成这种奇偶校验码掩码以便获得通过访问ID校正子生成电路132相对于由数据掩码生成电路130生成的数据掩码而生成的访问ID校正子。
图11是显示访问控制系统1中的,包含在访问控制处理中的写处理的流程图。首先,从访问ID寄存器110获取访问ID(步骤S102)。奇偶校验码生成电路100生成奇偶校验码并且将该奇偶校验码添加至将写入存储器40的数据(步骤S104)。掩码值生成电路112生成掩码值(步骤S106)。更具体地说,掩码值生成电路112生成数据掩码和奇偶校验码掩码。
然后,第一XOR电路102计算该数据、该奇偶校验码与由掩码值生成电路112生成的掩码之间的“XOR”(步骤S108)。更具体地说,计算从处理器20获取的数据与由掩码值生成电路112生成的数据掩码之间的“XOR”。此外,计算由奇偶校验码生成电路100生成的奇偶校验码与由掩码值生成电路112生成的奇偶校验码掩码之间的“XOR”。由第一XOR电路102获得的第一运算后数据被写入存储器40(步骤S110)。然后写操作结束。
图12是显示写处理中的数据的流程的流程图。当运行中的进程将在存储器40中写数据D时,利用ECC奇偶校验码被添加到数据D以便形成添加了奇偶校验码的数据D′。
接下来,添加了奇偶校验码的数据D′与由掩码值生成电路112生成的掩码值“Ka”之间的“XOR”,即
D′Ka
被写入存储器40,其为第一运算后数据D″。
这里,将描述将与访问ID有关的信息设置在访问控制装置10中的访问ID设置处理中的详细处理。图13是显示在访问ID设置处理中使用的进程管理表的示图。进程管理表由操作系统(OS)保存。当在处理器20上执行多个进程时,一般由OS管理这些进程。这时,使用图13中显示的进程管理表。
进程管理表记录优先级信息、访问权信息、程序计数器、寄存器的保存区域以及到与进程ID相关联的页表的指针。此外,与进程ID相关联地记录访问ID信息。由进程管理表管理的信息依赖于OS并且不局限于该实施例。
图14是显示在访问ID设置处理中的详细处理的流程图。更具体地说,处理是当OS切换进程时由处理器20执行的处理。当执行中的进程停止时(步骤S120),到目前为止已经执行的进程的环境,即寄存器的执行状态以及程序计数器的值被保存在进程管理表中(步骤S122)。参考进程管理表,将待执行的进程的环境,即寄存器、程序计数器的值、页表等等被设置在处理器20中(步骤S124)。
此外,接下来待执行的进程的访问ID信息被设置在访问控制装置10中(步骤S126)。访问ID信息包括当进程访问时使用的访问ID。
此后,清除(flush)高速缓存(步骤S128)。因为当由先前的进程使用的数据留存在高速缓存中时,可以在没有访问权限的情况下进行访问,所以要清除高速缓存。起动接下来将执行的进程的控制(步骤S130)。这里,访问ID设置处理结束。
与在实施例中一样,由OS清除高速缓存。然而,可以通过另外的方式清除高速缓存。此外,可以在起动接下来将执行的进程(步骤S130)之前并且在已经执行的进程的环境被保存(步骤S122)之后的任何时机清除高速缓存(步骤S128)。作为另外的例子,当访问ID寄存器110的设置被转换时,访问控制装置10中断处理器20并且可以在中断处理例程中清除高速缓存。
图15是用于说明掩码值生成处理(步骤S106)中的掩码值生成电路的详细处理的流程图。数据掩码生成电路130基于访问ID和将访问的地址生成数据掩码(步骤S140)。访问ID校正子生成电路132基于访问ID生成访问ID校正子(步骤S142)。
接下来,奇偶校验码生成电路134生成由数据掩码生成电路130生成的数据掩码的奇偶校验码(步骤S144)。XOR电路136计算由奇偶校验码生成电路134生成的奇偶校验码与由访问ID校正子生成电路132生成的校正子之间的“XOR”。更具体地说,生成奇偶校验码掩码(步骤S146)。这里,掩码值生成操作(步骤S106)结束。数据掩码的生成的时机可以是生成奇偶校验码的时机之前的任何时机,并且不必是生成访问ID校正子之前的时机。
图16是显示包含在访问控制处理中的、从存储器40读数据的处理的流程图。首先,从访问ID寄存器110获取访问ID(步骤S102)。然后掩码值生成电路112生成掩码值(步骤S106)。掩码值生成处理(步骤S106)与参考图14和15说明的掩码值生成处理(步骤S106)相同。
第二XOR电路114读取写入存储器40的第一运算后数据D″(步骤S204)。计算所读取的第一运算后数据D″和由掩码值生成电路112生成的掩码值之间的“XOR”(步骤S206)。
此外,校正子计算电路120通过ECC计算校正子(步骤S208)。当校正子是“0”时,即当未检测到误差时(步骤S210:是),校正子计算电路120读出数据D(步骤S212)。
当校正子不为“0”时,并且当校正子中的值“1”的数量是奇数时(步骤S210:否,步骤S214:是),即当检测到一个误差时,纠错电路122执行纠错(步骤S216)以读出校正后的数据D(步骤S212)。当校正子不为“0”时,并且当校正子不是单错的校正子时(步骤S210:否,步骤S214:否),即误差无法修正时,纠错电路122输出数据“0”代替数据D(步骤S218)。通过这种方式,完成数据读数过程。在实施例中,在步骤S218,假设数据“0”被输出。然而,作为另一个例子,代替其,可以不输出数据。作为另一个例子,从存储器40读取的数据可以被直接输出。
作为另一个例子,当出现不可校正的错误时,纠错电路122输出表示检测到误差的误差检测信号。基于该信号,纠错电路122可以通过中断等通知处理器20出现误差。
图17是用于说明当写入存储器40的数据被读取时执行的处理的示图。当运行中的进程将从存储器40读出数据时,依据
D″Kb=D′(KaKb)
计算第一运算后数据D″(D′Ka,从存储器读取)和掩码“Kb”(根据在该进程期间设置在访问ID寄存器110中的访问ID生成)之间的“XOR”。该值对应于第二运算后数据。此后,基于通过校正子计算电路120获得的计算结果,接受通过ECC进行的误差检测和纠错的值被读出。
当在写操作和读操作中获得的掩码彼此相等时,即当Ka=Kb时,可以读取校正数据D。当在写操作和读操作中获得的掩码彼此不同时,即当Ka≠Kb时,与值中的“1”的比特的数量相等的误差,KaKb存在于从存储器40读取的第一运算后数据D″中。因此,在这种情况下,纠错电路122输出数据“0”。
作为另一个例子,当在写操作和读操作中获得的掩码彼此不同时,纠错电路122可以代替输出数据“0”而不输出任何数据。
如上所述,在根据该实施例的访问控制系统1中,当数据被写入存储器40中时,通过计算将写入的数据和它的奇偶校验码与请求者固有的掩码值之间的“XOR”而获得的数据和奇偶校验码被写入存储器40。当请求者从存储器40读取数据时,产生通过计算从存储器40读取的数据和奇偶校验码与请求者固有的掩码值之间的“XOR”而获得的数据和奇偶校验码。通过对数据和奇偶校验码执行纠错处理而获得的数据被返回给请求者。
当由相同的请求者执行到存储器40的写操作以及从存储器40的读操作时,访问ID彼此相等,并且掩码值彼此相等。因此,在写操作中计算其XOR的掩码值等于在读操作中计算其XOR的掩码值。因此,消除掩码的影响从而能够正确地读取数据。
另一方面,在该实施例中,当由不同的请求者执行到存储器40的写以及从存储器40的读时,设置掩码值以使得由纠错电路122确定误差。因此,在写操作中计算其XOR的掩码值不同于在读操作中计算其XOR的掩码值。因此,可以防止由不同的请求者读取数据。
为了防止来自不同的请求者的未授权访问,当在写操作和读操作中获得的掩码值彼此不同时,选择掩码值以使得生成表示误差无法修正的校正子。更具体地说,只需通过计算根据写操作中的掩码值计算的校正子的值与根据读操作中获得的掩码值计算的校正子的值之间的XOR而获得的值不为“0”,并且值“1”的数量是偶数。
为此,只需根据掩码值计算的校正子的值中的“1”的总数必须被统一地设置为奇数或偶数。数量被设置为奇数或偶数,所以可以选择图10A和10B中显示的访问ID校正子生成电路132。
当如上所述选择掩码值时,可以被管理的请求者的数量等于满足条件的校正子的数量。更具体地说,在8位奇偶校验码被添加到64位数据的结构中,当校正子中的“1”数量被统一地设置为奇数时,128个请求者可以彼此区别。当数量被统一地设置为偶数时(包括0),128个请求者可以彼此区别。
在每个进程中掩码被设置为具有唯一的值。因此,当由预定的进程所写的数据将由另一个进程读取时,在根据该实施例的访问控制系统1中不能读取数据。更具体地,可以防止数据被另一个进程访问。
访问控制系统1防止数据被上述非法进程读取并且保护数据写操作中的数据,以使得数据可以被实质上允许写该数据的进程写。更具体地说,当数据将被写入存储器40中时,在该数据被写入之前读出临时写入存储器40的数据。控制数据以使得数据不能被写在由于掩码之间的失配而不能对其执行读访问的地址。通过这种方式,可以在细分的单元中提供写访问的防护。
此外,基于访问ID和将访问的存储器区域的地址生成在访问控制系统1中使用的掩码值,所述访问ID用于区别作为访问请求者的进程。因此,可以对每个请求者并且对每个待访问的存储器区域执行访问控制。
(第二实施例)
图18是显示根据第二实施例的访问控制装置10的功能结构的框图。根据第二实施例的访问控制装置10包括访问ID管理电路140,其代替根据第一实施例的访问控制装置10的访问ID寄存器110。关于这一点,根据第二实施例的访问控制系统1与根据第一实施例的访问控制系统1不同。
图19是显示访问ID管理电路140的详细功能结构的框图。访问ID管理电路140具有访问ID表142和访问ID选择电路144。
图20是示意性地显示访问ID表142的数据结构的示图。访问ID表142记录访问ID和可以由通过该访问ID区别的彼此相关联的请求者访问的存储器区域的起始地址和结束地址。根据该实施例的访问ID表142用作写访问ID保存单元和读访问ID保存单元。根据该实施例的访问ID管理电路140用作写地址接收器和读地址接收器。
当切换在处理器20上执行的进程时,处理器20将由所切换的进程保存的访问ID以及与该访问ID对应的存储器区域的起始地址和结束地址的必要的组合写入访问ID表142。更具体地说,在访问ID表142中,每当切换进程时,记录对应于所切换的进程的数据。
记录在访问ID表142上的对应于每个进程的数据被记录在图13中显示的进程管理表的访问ID信息中。当切换进程时,即在第一实施例中的参考图14所说明的步骤S126中,记录在访问ID信息中的数据被设置在访问ID表142中。
预先在可以从处理器20看到的地址空间的输入/输出空间中映射访问ID表142。通过这种方式,处理器20可以直接将数据写入访问ID表142。
访问ID选择电路144获取从处理器20到存储器40的访问请求。该访问请求包括将访问的存储器区域的地址。参考访问ID表142输出对应于存储器区域的访问ID。根据该实施例的访问ID选择电路144用作写访问ID指定单元和读访问ID指定单元。
图21是显示访问ID管理电路140的具体结构的示图。如图21所示,记录起始地址、结束地址和访问ID。对这些数据执行算术运算以实现访问ID表142和访问ID选择电路144。
图22是显示根据第二实施例的访问控制系统1中的访问ID获取处理(步骤S102)中的详细处理的流程图。
如上所述,从处理器20获取地址A(步骤S150)。访问ID选择电路144参考访问ID表142选择与所设置的起始地址和结束地址相关联的访问ID,以使得地址是起始地址或以上以及结束地址或以下(步骤S152)。所选择的访问ID被输出到掩码值生成电路112(步骤S154)。通过这种方式,访问ID获取处理(步骤S102)完成。
在根据第二实施例的访问控制系统1中,访问请求者的访问ID根据存储器区域进行转换。因此,可以执行对每个存储器区域的访问控制。
当由处理器20执行的多个进程共享存储器区域时,可以访问存储器区域的进程被频繁地要求以存储器区域为单位进行设置以检查访问权限。根据第二实施例的访问控制系统1的访问控制装置10可以检查对应于该存储器区域的访问权限。
在该实施例中,通过下列方式清除高速缓存。即,当访问ID表142被转换时,访问控制装置10中断处理器20,并且在中断处理例程中执行清除。
根据第二实施例的访问控制系统1的其它的结构和处理与根据第一实施例的访问控制系统1的结构和处理相同。
(第三实施例)
以下描述根据第三实施例的访问控制系统1。根据第三实施例的访问控制系统1与根据第二实施例的访问控制系统1一样包括访问ID管理电路140。然而,根据第二和第三实施例的访问ID管理装置140在处理中彼此不同。根据第三实施例的访问ID管理电路140用作写ID接收器和读ID接收器。根据第三实施例的访问ID选择电路144获取区别请求者的请求者ID并且基于请求者ID选择访问ID。
图23是示意性地显示包含在根据第三实施例的访问控制系统1中的访问ID管理电路中的访问ID表142的数据结构的示图。如图23所示,访问ID表142彼此相关联地保存请求者ID和访问ID。根据第三实施例的访问ID表142用作写访问ID保存单元和读访问ID保存单元。
访问ID选择电路144代替地址获取请求者ID,其区别访问请求的请求者。通常,表示输出请求的具体单元的信号被输出到可以将多个处理器20彼此连接的处理器总线22。因此,访问ID选择电路144基于该信号指定请求者ID。参考访问ID表142,与所获取的请求者ID相关联的访问ID被选择。根据该实施例的访问ID选择电路144用作写访问ID指定单元和读访问ID指定单元。
图24是显示访问ID管理电路140的具体结构的示图。如图24所示,记录请求者ID和访问ID。对这些数据执行算术运算以实现访问ID表142和访问ID选择电路144。
图25是显示根据第三实施例的访问控制系统1中的访问ID获取处理(步骤S102)中的详细处理的流程图。
首先,从处理器总线22获取请求者ID(步骤S160)。访问ID选择电路144参考访问ID表142选择与所述请求者ID相对应的访问ID(步骤S162)。所选择的访问ID被输出到掩码值生成电路112(步骤S164)。通过这种方式,访问ID获取处理(步骤S102)完成。
如上所述,代替直接从请求者获取访问ID,获取请求者ID使得能够进一步提高安全性。例如,即使多个处理器20和多个输入/输出设备被连接到处理器总线22,也可以检查这些连接设备的访问权限。
根据第三实施例的访问控制系统1的其它的结构和处理与根据以上其它实施例的访问控制系统1的结构和处理相同。
(第四实施例)
以下描述根据第四实施例的访问控制系统1。根据第四实施例的访问控制系统1既包括根据第二实施例的访问ID管理电路140的功能又包括根据第三实施例的访问ID管理电路140的功能。更具体地说,基于访问目的地的存储器区域以及访问请求的请求者ID这两条信息来确定访问ID。
图26是示意性地显示根据第四实施例的访问ID表142的数据结构的示图。访问ID表142彼此相关联地保存请求者ID、起始地址、结束地址和访问ID。访问ID选择电路144指定包含在从处理器20获取的访问请求中的地址区域,并且进一步从处理器总线22获取请求者ID。
图27是显示访问ID管理电路140的具体结构的示图。如图27所示,预先记录起始地址、结束地址、请求者ID以及访问ID。对这些数据执行算术运算以实现访问ID表142和访问ID选择电路144。
图28是显示根据第四实施例的访问控制系统1中的访问ID获取处理(步骤S102)中的详细处理的流程图。访问ID选择电路144从处理器20获取地址A(步骤S170)。此外,从处理器总线22获取请求者ID(步骤S172)。访问ID选择电路144参考访问ID表142选择请求者ID以及与地址A相对应的访问ID(步骤S174)。然后,所选择的访问ID被输出到掩码值生成电路112(步骤S176)。通过这种方式,访问ID获取处理(步骤S102)完成。
根据第四实施例的访问控制系统1的其它的结构和处理与根据其它实施例的访问控制系统1的结构和处理相同。
(第五实施例)
以下描述根据第五实施例的访问控制系统1。根据第五实施例的访问控制装置10中的随机掩码生成处理与根据其它实施例的访问控制装置中的处理不同。
图29是显示根据第五实施例的数据掩码生成电路130的功能结构的框图。数据掩码生成电路130具有数据掩码生成信息指定电路1301、数据掩码生成信息表1302以及LFSR(线性反馈移位寄存器)延迟计算电路1303a、1303b、1303c。
图30是示意性地显示数据掩码生成信息表1302的数据结构的示图。数据掩码生成信息表1302将当根据访问ID生成数据掩码值时使用的数据掩码生成信息(即各种参数)与访问ID相关联地进行记录。包含用作输入到LFSR延迟计算电路1303a、1303b以及1303c中的参数的特征多项式的系数、延迟系数、初始掩码等等,作为所述参数。因为根据第五实施例的LFSR延迟计算电路1303a、1303b以及1303c不使用初始掩码,所以不必记录数据。
说明返回到图29。当数据掩码生成信息指定电路1301从访问ID寄存器110或访问ID管理电路140获取访问ID时,数据掩码生成信息指定电路1301参照数据掩码生成信息表1302以指定与所获取的访问ID相关联的数据掩码生成信息,即指定各种参数。
由数据掩码生成信息指定电路1301指定的参数被分别输入到LFSR延迟计算电路1303a、1303b以及1303c。此外,将访问的存储器40的地址被输入到LFSR延迟计算电路1303a、1303b以及1303c。LFSR延迟计算电路1303a、1303b以及1303c基于所获取的数据计算数据掩码。
通常,由LFSR使用本原多项式作为特征多项式生成的序列被称作M序列。普遍知道M序列具有作为伪随机数的良好特性。因此,在实施例中,由对应于某一特征多项式的LFSR设置在起始状态中将访问的存储器40的地址。通过以对应于访问ID的预定步骤移位LFSR而获得的内部状态被用作数据掩码。
在实施例中,假设地址的位数是24。设置具有三个24阶本原多项式作为特征多项式的三个24级(step)LFSR。每个24级LFSR的内部状态由24位组成。因此,可以从三个LFSR延迟计算电路1303a、1303b以及1303c提取总共72位的掩码。然而,因为在实施例中需要64位,所以从LFSR延迟计算电路1303a提取22位,从剩余的LFSR延迟计算电路1303b和1303c中的每一个提取21位。
在LFSR延迟计算电路1303a、1303b和1303c的起始状态中设置地址,通过以对应于由访问ID确定的延迟系数的级来移位LFSR而获得的内部状态“Mx”被提取。这些值被相加以作为数据掩码输出。当从三个LFSR延迟计算电路1303a、1303b和1303c提取的值被作为数据掩码输出时使用的信号线的设置不被特别地限制。
以下将详细地描述LFSR延迟计算电路1303a的处理。LFSR延迟计算电路1303b以及1303c的处理与LFSR延迟计算电路1303a的相同。LFSR的特征多项式由等式7表示:
f(x)=A0x0+A1x1+A2x2+...+A24x24 ...(Equation 7)
在这种情况下,为了计算在d步骤之后由LFSR输出的值,通过由f(x)除xd获得余数g(x)。值g(x)由等式8表示:
g(x)=B0x0+B1x1+B2x2+...+B23x23 ...(Equation 8)
计算值g(x)的系数(B0、B1、...、B23)与LFSR的内部状态(移位寄存器中的每一步的值的矢量)的乘积的和以获得内部状态之后的d步骤后的1位值输出。值B0、B1、...、B23被称作延迟系数。
在数据掩码生成信息表1302中,保存特征多项式的系数A0、A1、...An-1,延迟系数B0、B1、...、Bn-1以及作为初始值的内部状态S0、S1、...、Sn-1。因为特征多项式的最高系数An不必是1,所以不必预先保存值An。
在多个步骤后,LFSR延迟计算电路1303a、1303b和1303c输出由延迟系数B0、B1、...、Bn-1根据初始值确定的值M0、M1、...、Mm-1。在该实施例中,值n是24。值m随LFSR延迟计算电路1303a、1303b和1303c而改变。更具体地说,因为LFSR延迟计算电路1303b和1303c是从其中提取21位的电路,所以值m是21。因为LFSR延迟计算电路1303a是从其中提取22位的电路,所以值m是22。
图31是显示LFSR延迟计算电路1303a的更具体的结构的示图。LFSR延迟计算电路1303b以及1303c的结构与LFSR延迟计算电路1303a的相同。图32是包含在LFSR延迟计算电路1303a中的电路200的详图。图33是包含在LFSR延迟计算电路1303a中的电路202的详图。
由图32显示的电路200构成的LFSR延迟计算电路1303a的第一级电路计算在由延迟系数B确定的延迟之后获得的位M。更具体地说,计算延迟系数B0、B1、...、Bn-1与初始值S0、S1、...、Sn-1的乘积的和,并且输出作为值M0。
由图33显示的电路202构成的LFSR延迟计算电路1303a的第二级及随后的电路计算在1阶段(step)目的地的延迟之后获得的位。更具体地说,根据上一级的延迟系数和特征多项式计算该级的延迟系数,并且计算延迟系数和初始值的乘积的和并且输出。
通过下列方式,根据上一级的延迟系数计算该级的延迟系数。即,当g(x)表示d阶段的延迟系数时,通过用f(x)除g(x)·x而获得的余数g′(x)表示d+1阶段的延迟系数。通过使用该关系,上级的延迟系数被移动1位。当延迟系数的最高次数的系数是1时,延迟系数比f(x)大。因此,当用f(x)除延迟系数时,计算该级的延迟系数。当用f(x)除延迟系数时,可以计算延迟系数与f(x)的系数之间的XOR。
希望通过数据掩码生成信息表1302与每个访问ID相关联地存储的延迟系数具有随访问ID而改变的值。同样,希望对应于访问ID的多个延迟系数具有不同的值。
在访问ID生成时,最好通过使用随机数等等来确定与每个访问ID相关联的延迟系数。这时,通过随机数等等计算阶段数d,并且最好计算对应于延迟阶段数d的延迟系数。作为另一个例子,可以将随机数的值直接用作延迟系数。
根据第五实施例的访问控制系统1的其它的结构和处理与根据其它实施例的访问控制系统1的结构和处理相同。
以下描述根据第五实施例的访问控制系统1的变形。在该实施例中,基于访问ID确定特征多项式。然而代替其,可以预先设置特征多项式。更具体地说,特征多项式可以是固定的。由LFSR延迟计算电路1303a、1303b和1303c使用的特征多项式可以彼此相同或不同。
在这种情况下,在数据掩码生成信息表1302中,可以不记录特征多项式的系数。此外,数据掩码生成信息表1302可以被实现为比参照图31等等说明的LFSR延迟计算电路1303a更简单的电路。
(第六实施例)
以下描述根据第六实施例的访问控制系统1。除数据掩码生成电路130中的处理之外,根据第六实施例的访问控制系统1几乎与根据第五实施例的访问控制系统1相同。
图34是显示根据第六实施例的数据掩码生成电路130的功能结构的框图。根据第六实施例的数据掩码生成电路130包括数据掩码生成信息指定电路1301、数据掩码生成信息表1302、LFSR延迟计算电路1303a、1303b、1303c、1303d、1303e和1303f,以及XOR电路1304a、1304b和1304c。
根据第六实施例的数据掩码生成电路130组合两个LFSR延迟计算电路1303并且使用从相应的延迟计算电路1303输出的值的XOR作为数据掩码。
例如,LFSR延迟计算电路1303a和LFSR延迟计算电路1303b被彼此组合。XOR电路1304a计算从LFSR延迟计算电路1303a输出的值M与从LFSR延迟计算电路1303b输出的值M之间的XOR。LFSR延迟计算电路1303c和LFSR延迟计算电路1303d以及XOR电路1304b的组合执行与上述相同的计算。LFSR延迟计算电路1303e和LFSR延迟计算电路1303f以及XOR电路1304c的组合执行与上述相同的计算。
通过这种方式,根据第六实施例的数据掩码生成电路130不使用单个LFSR延迟计算电路,而是组合两个LFSR延迟计算电路以计算从LFSR延迟计算电路的输出的XOR。因此,可以提高从数据掩码生成电路130输出的数据掩码的随机性。
根据第六实施例的访问控制系统1的其它的结构和处理与根据第五实施例的访问控制系统1的结构和处理相同。
作为第六实施例的变形,虽然在第六实施例中计算来自两个LFSR延迟计算电路的输出值的XOR,但是可以由三个或更多的LFSR延迟计算电路构成组合以使用来自这些LFSR延迟计算电路的输出值的XOR作为数据掩码。此外,两个LFSR延迟计算电路的组合以及三个LFSR延迟计算电路的组合可以被同时设置。
(第七实施例)
以下描述根据第七实施例的访问控制系统1。除在数据掩码生成电路130中执行的处理之外,根据第七实施例的访问控制系统1几乎与根据第五实施例的访问控制系统1相同。
图35是显示根据第七实施例的数据掩码生成电路130的功能结构的框图。根据第七实施例的数据掩码生成电路130还包括零移位电路1305a、1305b和1305c,以及地址分离电路1306a、1306b和1306c。
地址本身不直接输入到根据第七实施例的LFSR延迟计算电路1303a、1303b和1303c。分别通过零移位电路1305a、1305b和1305c,以及地址分离电路1306a、1306b和1306c将接受零移位和地址分散的地址输入到LFSR延迟计算电路1303a、1303b和1303c。
零移位电路1305a、1305b和1305c中的处理彼此相同。地址分离电路1306a、1306b和1306c中的处理彼此相同。因此,以下将描述零移位电路1305a和地址分离电路1306a。
零移位电路1305a将零地址转换为另一个地址。当地址为零时,LFSR延迟计算电路1303a总是输出零。因此,当地址为零时,以下情况是不可取的,即,即使地址已经接受LFSR延迟计算电路1303a的处理,仍按原样输出地址。因此,零移位电路1305a将零转换为不为零的另一个值。
更具体地说,例如,输出添加了初始掩码的输入地址。初始掩码被记录在数据掩码生成信息表1302上,由数据掩码生成信息指定电路1301读取,并且被发送到零移位电路1305a、1305b和1305c。
作为另一个例子,可以输出输入地址和初始掩码之间的XOR。
地址分离电路1306a将彼此靠近的地址转换为彼此隔开的地址。如果将输入的地址是连续的,那么当两个连续的地址彼此比较时,具有不同值的比特位置的数量大概是1。因此,相邻地址的掩码值可能具有相关性,这是不期望的。因此,为了防止相关性,相邻的地址被转换为彼此相距更远的地址。
图36是显示地址分离电路1306a的具体结构的示图。地址分离电路1306a具有分离掩码存储器1307a。在分离掩码存储器1307a中,预先记录扩散方式。当地址被输入到地址分离电路1306a中时,通过使用地址的较低位来访问分离掩码存储器1307a。计算得到的值与地址的较高位的XOR。通过这种方式,即使输入连续的地址,地址也被输出为转换后的,彼此相距更远的地址。
根据第七实施例的访问控制系统1的其它的结构和处理与根据第五实施例的访问控制系统1的结构和处理相同。
以下描述根据第七实施例的数据掩码生成电路130的第一变形。图37是显示根据第一变形的地址分离电路1306a的具体结构的示图。根据第一变形的地址分离电路1306a具有解码器1308a。解码器1308a从地址的较低位中选择高位地址中的一个并且通过XOR转化所选择的地址的值。在这种情况下,与在根据第七实施例的地址分离电路1306a中一样,相邻的地址可以被转换为彼此相距更远的地址。
作为第二变形,在根据第七实施例的访问控制系统1中的数据掩码生成电路130具有零移位电路1305a、1305b和1305c,以及地址分离电路1306a、1306b和1306c。然而,数据掩码生成电路130可以仅具有多组零移位电路1305a、1305b和1305c以及地址分离电路1306a、1306b和1306c中的一组。
图38是仅具有零移位电路1305a、1305b和1305c的数据掩码生成电路130的框图。图39是仅具有地址分离电路1306a、1306b和1306c的数据掩码生成电路130的框图。
图40是显示根据第三变形的数据掩码生成电路130的框图。通过将根据第七实施例的数据掩码生成电路130应用到根据第六实施例的数据掩码生成电路130来获得根据该变形的数据掩码生成电路130。零移位电路1305和地址分离电路1306可以被设置在成对使用的LFSR延迟计算电路1303中的每一个中。
在这种情况下,可以仅设置零移位电路1305。作为另一个例子,数据掩码生成电路130可以仅具有地址分离电路1306。
图41是显示根据第四变形的数据掩码生成电路的框图。与图40中显示的数据掩码生成电路130的结构中相同,图41中显示的数据掩码生成电路130成对地使用两个LFSR延迟计算电路1303。零移位电路1305被设置在成对的两个LFSR延迟计算电路1303中的一个中,地址分离电路1306被设置在另一个中。通过这种方式,零移位电路1305和地址分离电路1306的存在/缺少可以根据LFSR延迟计算电路1303而改变。
图42是显示根据第五变形的数据掩码生成电路130的框图。与在图40中显示的数据掩码生成电路130的结构中相同,数据掩码生成电路130成对地使用两个LFSR延迟计算电路1303。零移位电路1305和地址分离电路1306被设置在成对的两个LFSR延迟计算电路1303中的一个中,仅仅地址分离电路1306被设置在另一个中。零移位电路和地址分离电路的组合不局限于上述情况,可以使用各种组合。
(第八实施例)
以下描述根据第八实施例的访问控制系统1。图43是显示根据第八实施例的访问控制装置10的功能结构的框图。根据第八实施例的访问控制装置10还包括地址转换设备150。关于这一点,访问控制装置10与根据其它实施例的访问控制装置10不同。
地址转换设备150转换从处理器20获取的地址。掩码值生成电路112获取通过地址转换设备150转换后的地址。掩码值生成电路112基于该地址生成掩码值。
通过这种方式,在根据第八实施例的访问控制装置10中,掩码值生成电路112基于在地址转换之后获得的地址生成掩码值。因此,与基于从处理器20获取的地址生成掩码值的情况相比,可以生成与从处理器20获取的地址相关性较小的掩码值。
图44是显示地址转换设备150的具体结构的框图。地址转换设备150具有地址转换存储器151。在地址转换存储器151中,记录显示地址和转换后的地址之间的对应关系的对应关系表。输入地址的低位被转换并输出。
最好根据访问ID转换记录在地址转换存储器151中的对应关系表。访问ID的对应关系表被保存在掩码值生成电路112中。更具体地说,对应关系表被保存在数据掩码生成信息表1302中。在访问ID的切换中,对应关系表被写入地址转换存储器151。
根据第八实施例的访问控制系统1的其它的结构和处理与根据其它实施例的访问控制系统1的结构和处理相同。
图45是显示根据第八实施例的第一变形的地址转换设备150的结构的示图。根据第一变形的地址转换设备150计算地址的中间位和地址的低位之间的XOR。根据第一变形的地址转换设备150输出如上所述转换的地址。通过这种方式,通过地址转换存储器获得的低位的转化模式可以在数量上增大。
图46是显示根据第八实施例的第二变形的地址转换设备150的结构的示图。通过这种方式,与图45显示的情况相比,可以计算地址的高位和地址的低位之间的XOR。
图47是显示根据第八实施例的第三变形的地址转换设备150的结构的示图。通过这种方式,可以计算地址的中间位和地址的低位之间的XOR,并且可以计算所述计算结果和地址的高位之间的XOR。
根据第一至第八实施例的访问控制系统1如上所述。然而,以实施例为特征的访问控制装置10可以被用于下列其它系统。
图48是显示根据第一变形的访问控制系统1的整体结构的示图。与在根据上述实施例的访问控制系统1中一样,根据第一变形的访问控制系统1包括访问控制装置10。
在根据第一变形的访问控制系统1中,处理器20将与访问权限有关的信息设置在访问控制装置10中。因此,访问控制系统1还包括专用线24。
通过所述专用线输入/输出与访问权限有关的信息,以使得能够防止未授权访问。
图49是显示根据第二变形的访问控制系统1的整体结构的示图。根据第二变形的访问控制系统1包括多个处理器20a和20b。在这种情况下,处理器20a和20b可以作为对存储器40的访问的请求者。访问控制装置10可以以处理器为单位控制到存储器40的访问。更具体地说,访问ID被相应地分配给处理器。此外,访问ID被分配给处理器的待访问的存储器区域。
图50是显示根据第三变形的访问控制系统1的整体结构的示图。在根据第三变形的访问控制系统1中,存储器控制器30被嵌入处理器20。处理器20通过访问控制系统1连接到存储器40。
图51是显示根据第四变形的访问控制系统1的整体结构的示图。在根据第四变形的访问控制系统1中,存储器控制器30和访问控制装置10被嵌入处理器20。处理器20直接连接到存储器40。
图52是显示根据第五变形的访问控制系统1的整体结构的示图。根据第五变形的访问控制系统1包括处理器20、存储器40、桥32、外围设备60a、60b和60c。
桥32连接到处理器总线22并且具有存储器控制器30和访问控制装置10。例如,当桥32包含连接到外围总线34的外围设备的控制器时,如上所述,访问控制装置10可以被嵌入桥32。此外,作为另一个例子,访问控制装置10可以被设置在桥32和存储器40之间。
图53是显示根据第六变形的访问控制系统1的整体结构的示图。根据第六变形的访问控制系统1被形成为系统LSI(大规模集成电路)。如图53所示,访问控制装置10与通过高速内部总线76连接到处理器20的存储器控制器30一同设置在系统LSI中。
图54是显示根据第七变形的访问控制系统1的整体结构的示图。与根据第六变形的访问控制系统1一样,根据第七变形的访问控制系统1形成为系统LSI。此外,在根据第七变形的访问控制系统1中,用于设置与访问权限有关的信息的专用线78被设置在处理器20和访问控制装置10之间。通过这种方式,处理器20可以直接通过高速内部总线76访问访问控制装置10。
作为另一个例子,存储器控制器和访问控制电路可以被作为集成电路设置。
(第九实施例)
以下描述根据第九实施例的访问控制系统1。根据第九实施例的访问控制系统1执行对高速缓冲存储器的访问控制。图55是显示根据第九实施例的访问控制系统1的整体结构的示图。访问控制系统1包括多个处理器20a至20c、视频控制器21、存储器40以及具有高速缓冲存储器的访问控制装置50。
访问控制装置50连接到处理器总线22和存储器总线42,以控制从通过处理器总线22连接的多个处理器20a至20c以及视频控制器21到高速缓冲存储器的访问。此外,当需要时,访问控制装置50代替处理器20a等等将数据写入存储器40或从存储器40读取数据。更具体地说,访问控制装置50还具有根据其它实施例的存储器控制器30的功能。
与在根据第九实施例的访问控制系统1中一样,当设置多个处理器和例如视频控制器21这样的输入/输出设备时,由处理器和输入/输出设备共享的高速缓冲存储器被用于提高存储器访问的速度。
图56是显示访问控制装置50的详细功能结构的框图。访问控制装置50包括处理器端高速缓存控制电路52、高速缓冲存储器54和存储器端高速缓存控制电路56。处理器端高速缓存控制电路52基于来自处理器的指示将数据写入高速缓冲存储器54或从高速缓冲存储器54读出数据。高速缓冲存储器54临时地将数据、存储器地址等等相关联地保存。
存储器端高速缓存控制电路56基于来自处理器端高速缓存控制电路52的指示将数据写入存储器40以及从存储器40读出数据。
图57是显示处理器端高速缓存控制电路52的详细功能结构的框图。处理器端高速缓存控制电路52具有访问ID管理电路140、访问ID检查电路522以及序列控制器524。
访问ID管理电路140的功能结构与参照第二实施例中的图19说明的访问ID管理电路140的功能结构相同。访问ID管理电路140基于地址指定访问ID。访问ID检查电路522将由访问ID管理电路140指定的访问ID与存储在高速缓冲存储器54中的访问ID进行比较,以检查访问ID是否彼此相同。序列控制器524控制处理器端高速缓存控制电路52的整体操作。
图58是显示高速缓冲存储器54的详细功能结构的框图。高速缓冲存储器54具有存储过去访问过的数据的数据区域544,存储存储器40中的数据的地址的标记存储区域542,以及存储可以访问数据的访问ID的访问ID存储区域546。在这些区域中,地址、数据以及访问ID被彼此相关联地存储。
当请求存储在高速缓冲存储器54中的数据以及对相同地址的访问时,存储在数据区域544中的与地址相关联的数据被返回,以减少由到存储器40的访问所引起的延迟。虽然高速缓冲存储器54可以使用各种系统,例如直接映射类型或组相联类型,但是系统不专门指定为这些类型。可以使用任何系统。
图59是显示存储器端高速缓存控制电路56的详细功能结构的框图。存储器端高速缓存控制电路56包括奇偶校验码生成电路100、第一XOR电路102、掩码值生成电路112、第二XOR电路114、校正子计算电路120、纠错电路122以及序列控制器562。
序列控制器562控制存储器端高速缓存控制电路56的整体操作。奇偶校验码生成电路100、第一XOR电路102、掩码值生成电路112、第二XOR电路114、校正子计算电路120、纠错电路122的功能结构与根据第一实施例的奇偶校验码生成电路100、第一XOR电路102、掩码值生成电路112、第二XOR电路114、校正子计算电路120、纠错电路122的功能结构相同。
在根据第九实施例的存储器端高速缓存控制电路56中,从存储器40读取的数据连同对应的访问ID被存储在高速缓冲存储器54中。当数据被写入存储器40时,从高速缓冲存储器54获取数据。
图60是显示根据第九实施例的访问控制系统1中的访问控制处理中包含的写处理的流程图。首先,处理器端高速缓存控制电路52的访问ID管理电路140检查处理器20是否具有写权限(步骤S300)。更具体地说,从处理器20获取访问ID以及写目的地的地址。在访问ID表142中,确定所述获取的ID以及地址彼此相关联。
当访问ID以及地址彼此相关联时,确定处理器20具有写权限。当处理器20没有写权限时(步骤S300:否),处理器20被通知出现误差(步骤S304),并且结束处理。
另一方面,当处理器20具有写权限时(步骤S300:是),从处理器20获取的数据以及访问ID被彼此相关联地写入高速缓冲存储器54(步骤S302)。
接下来,序列控制器524将数据写指示输出给存储器端高速缓存控制电路56(步骤S310)。更具体地说,用控制信号发出指示。当存储器端高速缓存控制电路56的序列控制器562接收到写指示时,序列控制器562指示高速缓冲存储器54读取数据和访问ID并且从高速缓冲存储器54获取所述数据以及访问ID(步骤S320)。
然后,序列控制器524将存储目的地的地址以及访问ID给予掩码值生成电路112,以产生掩码值(步骤S322)。掩码值生成电路112根据指示基于地址和访问ID生成掩码值。序列控制器562指示存储器40写数据(步骤S324)。根据指示,通过第一XOR电路102、第二XOR电路114等等的处理,奇偶校验码被添加。通过计算数据和掩码值之间的XOR而获得的第一运算后数据被写在由处理器20指定的地址。
当完成在存储器40中写数据时,序列控制器562通知处理器端高速缓存控制电路52数据的写被完成(步骤S326)。这里,写处理结束。
当使用直写(write through)系统时,希望在完成从高速缓冲存储器54到存储器40的写之后将控制给予处理器20。当使用回写(write back)系统时,希望在完成从高速缓冲存储器54到存储器40的写之前将控制给予处理器20。
作为另一个例子,访问ID表142中的允许写数据的访问ID和允许读数据的访问ID可以与地址相关联。通过这种方式,系统可以应对读和写被分别进行限制的情况。
图61是显示根据第九实施例的访问控制系统1中的访问控制处理中包含的读处理的流程图。当处理器端高速缓存控制电路52的序列控制器524从处理器20获取到数据读请求时,它检查对应的数据是否存储在高速缓冲存储器54中(步骤S400)。当数据存储在高速缓冲存储器54中时(步骤400:是),访问ID检查电路522检查从处理器20获取的访问ID是否正确,即,处理器20是否具有访问权限(步骤S402)。
当访问ID正确时(步骤S402:是),从高速缓冲存储器54读取对应的数据并且被给予处理器20(步骤S404)。另一方面,当访问ID不正确时(步骤S402:否),访问ID检查电路522通知处理器20出现误差(步骤S406)。
通过将高速缓冲存储器54中的与对应的数据相关联的访问ID与从处理器20获取的访问ID进行比较来判断访问ID是否正确。当访问ID彼此相等时,确定访问ID是正确的。
另一方面,没有数据存储在处理器端高速缓存控制电路52中(步骤S400:否),存储器端高速缓存控制电路56被指示读取数据(步骤S410)。当存储器端高速缓存控制电路56的序列控制器562接收到数据读取指示时,地址和访问ID被给予掩码值生成电路112,以指示掩码值生成电路112生成掩码值(步骤S420)。根据所述指示,掩码值生成电路112生成掩码值。
存储器40被指示读取数据(步骤S422)。根据指示,从存储器40读取出数据。通过第一XOR电路102、第二XOR电路114等等中的处理,这里读取的第一运算后数据被恢复为原始状态。
如上所述,根据根据第九实施例的访问控制系统1,临时访问的数据存储在高速缓冲存储器54中。因此,随后,当读取数据时,可以从高速缓冲存储器54读取数据,从而可以提高处理速度。此外,当从高速缓冲存储器54读取数据时,仅检查访问ID是否彼此相等。因此,比起从存储器40读取数据的速度,可以使处理速度更快。
根据第九实施例的访问控制系统1的其它的结构和处理与根据第一实施例的访问控制系统1的结构和处理相同。与通过具有根据第九实施例的访问控制系统1的特征的高速缓冲存储器进行的数据的读/写有关的处理还可以被用于其它的实施例。
(第十实施例)
图62是显示根据第十实施例的访问控制装置10的功能结构的框图。除根据第二实施例的访问控制装置10的功能结构之外,根据第十实施例的访问控制装置10还包括地址转换设备160。访问控制装置10转换从处理器20获取的地址以执行到转换后的地址的数据访问。地址转换设备160基于由掩码值生成电路112保存的地址转换信息执行地址转换。
图63是显示根据第十实施例的掩码值生成电路112的详细功能结构的框图。除数据掩码生成电路130、访问ID校正子生成电路132和奇偶校验码生成电路134之外,掩码值生成电路112还包括地址信息表和地址信息指定单元139。地址信息指定单元139参照地址转换信息表138,以基于访问ID指定地址转换信息。
图64是示意性地显示地址转换信息表138的数据结构的示图。地址转换信息表138将多个访问ID与多条地址转换信息互相关联。通过这种方式,多条地址转换信息被如愿地根据访问ID而转换。
每一次访问ID被切换时,地址信息指定单元139将在地址转换信息表138中与所切换的访问ID相关联的地址转换信息给予地址转换设备160。
在由地址转换设备160执行的地址转换中,需要预定的地址并不总是转换到相同的地址,并且多个地址不被转换到相同的地址。可以使用满足这一条件的任何转换。转换方法不局限于实施例的方法。
图65是用于说明存储器地址的示图。通常,在存储器地址中,确定需要访问对应于高速缓存线的尺寸的范围(s)的比特的数量,对应于由存储元件保存的页尺寸的范围(r+s),以及对应于由页表管理的页尺寸的范围(q+r+s)。
例如,当存储器的一个字具有64比特并且高速缓存线具有256比特时,对应于高速缓存线的尺寸的范围(s)具有两个比特。对应于由存储器元件保存的页尺寸的范围(r+s),即,其中可以执行突发传输的范围具有例如128个字中的7比特。因此,在地址转换中,执行根据关系的转换,以使得能够防止存储器访问速度下降。
例如,最好将属于相同高速缓存线的存储器字转换到连续的地址,以使得可以高速地通过突发传输来执行读/写。这时,当地址连续时,可以打乱地址。
最好将由存储器元件保存的一页中的字转换到相同页范围中的连续地址,以使得可以通过突发传输高速地读或写字。同样在这种情况下,当地址连续时,可以打乱地址。
地址转换设备160执行满足上述条件的地址转换。图66A和66B是用于说明由地址转换设备160执行的地址转换处理的示图。图66A和66B显示存储器地址的低7位。地址转换设备160仅转换低7位。在这种情况下,假设一个高速缓存线由四个字构成。
如图66A和66B所示,由四个字构成组合,在组合中随机地转换字。然而,组合被转换为连续的存储器地址。因此,虽然在一个高速缓存线中随机地设置地址,但是字并不被转换为跨越不同的高速缓存线而设置的地址。因此,可以防止传输效率恶化。
图67是显示地址转换设备160的具体结构的示图。地址转换信息存储在由存储器构成的地址转换表162中。图68是显示实现图66A和66B中显示的地址转换的地址转换表的示图。
根据地址的低7位中的高5位来检查地址转换表162,所获得的13位信息的高5位被定义为地址的低7位中的高5位。此外,执行转换以使得根据所述地址的低2位从剩余的8位中选择的2位被定义为地址的低2位。
图69是显示由根据第十实施例的访问控制系统1执行的写处理的流程图。在根据第十实施例的访问控制系统1中,在计算XOR之后(步骤S108),执行上述地址转换处理(步骤S109)。数据被写在转换后的存储器地址(步骤S110)。
图70是显示由根据第十实施例的访问控制系统1执行的读处理的流程图。在生成掩码值之后(步骤S106),执行地址转换处理(步骤S203)。然后从在地址转换之后获得的存储器地址读取第一运算后数据(步骤S204)。
根据第十实施例的访问控制系统1的其它的结构和处理与根据第一实施例的访问控制系统1的结构和处理相同。
图71是显示根据第十实施例的第一变形的地址转换设备160的具体结构的示图。在该变形中,通过XOR,高位地址被叠加在用于检查地址转换表162的低位地址上,以增大转换变化的数量。通过这种方式,可以防止地址转换的模式被容易地猜测到。
作为第十实施例的第二变形,虽然地址转换信息存储在第十实施例的数据掩码生成电路130中,但是,地址转换信息的存储目的地不局限于数据掩码生成电路130。例如,当根据第十实施例的地址转换处理被用于根据第五实施例的访问控制系统1时,地址转换信息可以被记录在数据掩码生成信息表1302中。
图72是示意性地显示根据第二变形的数据掩码生成信息表1302的数据结构的示图。通过这种方式,在数据掩码生成信息表1302中,与访问ID相关联地记录地址转换信息被。在这种情况下,参照数据掩码生成信息表1302,可以基于访问ID指定地址转换信息。
(第十一实施例)
图73是显示根据第十一实施例的访问控制装置10的功能结构的框图。在根据第十一实施例的访问控制装置10中,除根据第十实施例的访问控制装置10的功能结构之外,还设置了突发传输控制器164和重排缓冲区166。
当以存储器40上的地址为顺序执行突发传输时,突发传输控制器164管理处理。重排缓冲区166是这时使用的缓冲区。当通过地址转换设备160转换高速缓存线中的字的顺序时,按照转换后的顺序访问所述字,不能使用存储器元件的突发传输功能。因此,不能提高传输效率。因此,突发传输控制器164通过突发传输,按照存储器40上的地址的顺序访问所述字,并且通过使用重排缓冲区166重排存储器40上的地址的顺序以及在由地址转换设备160执行的转换之后获得的顺序。
图74是显示重排缓冲区166的具体结构的示图。在该例子中,一个高速缓存线具有256位,存储器的一个字具有64位,并且一个高速缓存线由四个字构成。
如图74所示,重排缓冲区166包括用于一个高速缓存线的四个字的寄存器0至3。响应于来自所述突发传输控制器164的指示,来自处理器20或存储器40的数据被写入四个寄存器中的所指示的寄存器。此外,从四个寄存器中的所指示的寄存器读取数据并且将其发送到处理器20或存储器40。
这时,通过图67显示的地址转换设备160将地址“1010000”转换为地址“0110011”。类似的,地址“1010001”被转换为地址“0110010”,地址“1010010”被转换为地址“0110000”,地址“1010011”被转换为“0110001”。
另一方面,当突发传输的指示存在时(步骤S500:是),从所述处理器20发送的数据,即,将被写入存储器40的数据被临时地写入重排缓冲区166(S502)。然后从掩码值生成电路112中的地址信息表138获得地址转换信息(步骤S504)。根据基于地址转换信息转换的存储器地址的顺序,通过突发传输将数据写入存储器40(步骤S506)。然后处理结束。
图76是用于更具体地说明参考图75所说明的写处理的示图。图76显示一种情况,其中,处理器20对从低7位地址是“1010000”的字开始的四个字A、B、C和D进行写。
这时,通过图67显示的地址转换设备160将地址“1010000”转换为地址“0110011”。类似的,地址“1010001”被转换为地址“0110010”,地址“1010010”被转换为地址“0110000”,地址“1010011”被转换为“0110001”。
当数据将被按照转换后的存储器地址的顺序写时,不能使用突发传输。突发传输控制器164临时地将数据存储在重排缓冲区166中。基于地址转换信息,重排数据以获得连续的地址。在图76所示的例子中,数据C被写在地址“0110000”,数据D被写在地址“0110001”,数据B被写在地址“0110010”,并且数据A被写在地址“0110011”。通过突发传输,按照C、D、B、A的顺序从地址“0110000”开始写数据。
图77是显示通过突发传输控制器164从存储器40读数据的处理的流程图。当未指示突发传输时(步骤S520:否),执行常规的读取处理(步骤S530)。在这种情况下,常规的读取处理是第十实施例中描述的读取处理。所述处理顺序地读取由地址转换设备160获得的存储器地址的数据。
另一方面,当指示突发传输时(步骤S520:是),从掩码值生成电路112中的地址信息表138获得地址转换信息(步骤522)。根据基于地址转换信息转换的存储器地址的顺序,从起始地址开始的4个字被从存储器40中读取,并且所述字被临时地写入重排缓冲区166(步骤S524)。通过突发传输,根据基于地址转换信息转换后的存储器地址的顺序,重排缓冲区166中的数据被发送回处理器20(步骤S526)。这里,操作结束。
图78是用于更具体地说明参考图77所说明的读处理的示图。图78显示一种情况,其中,处理器从低7位地址是“1010000”的字开始读取4个字。
这时,通过图67显示的地址转换设备160将地址“1010000”转换为地址“0110011”。类似地,地址“1010001”被转换为地址“0110010”,地址“1010010”被转换为地址“0110000”,地址“1010011”被转换为“0110001”。
突发传输控制器164通过突发传输从表示转换后的地址中的开始处的地址“0110000”开始读取4个字,并且临时地将数据存储在重排缓冲区166中。这时读取的数据被顺序地定义为A、B、C和D。
接下来,突发传输控制器164基于地址转换信息,按照原来的地址的顺序重排数据。在图78所示的例子中,数据D被读到地址“0110000”,数据C被读到地址“0110001”,数据A被读到地址“0110010”,数据B被读到地址“0110011”。通过突发传输,按照D、C、A、B的顺序将数据从地址“0110000”开始返回。
如上所述,根据根据第十一实施例的访问控制系统1,存储器的实际地址被转换以消除实际地址和掩码值之间的相关,从而使得可以减小猜测到掩码值的概率。更具体地说,提高了安全性。
根据第十一实施例的访问控制系统1的其它的结构和处理与根据第十实施例的访问控制系统1的结构和处理相同。
以下将描述根据第十一实施例的地址转换处理的变形。在该变形中,根据第十一实施例的地址转换处理被用于根据第九实施例的访问控制系统1。图79是显示根据变形的存储器端高速缓存控制电路56的详细功能结构的框图。除根据第十一实施例的访问控制装置10的功能结构之外,根据变形的存储器端高速缓存控制电路56还包括地址转换设备160。
序列控制器562还执行与在突发传输控制器164中执行的处理相同的处理。通过这种方式,同样在根据第九实施例的访问控制系统1中,可以执行与第十一实施例中相同的处理,并且可以获得与第十一实施例相同的效果。
根据第十一实施例的存储器端高速缓存控制电路56没有重排缓冲区。在该结构中,突发传输中的数据不在重排缓冲区上重排,并且高速缓冲存储器54被指示以字为单位来访问。高速缓冲存储器54用作重排缓冲区。
(第十二实施例)
图80是显示根据第十二实施例的访问控制系统1的整体结构的示图。在根据第十二实施例的访问控制系统1中,访问控制装置10和存储器40包括彼此相同的总线加密设备170和410。总线加密设备170和410共享密钥。利用基于所述密钥生成的随机数来加密存储器总线42上的信号。
图81是显示访问控制装置10的功能结构的框图。除根据第一实施例的访问控制装置10的功能结构之外,根据第十二实施例的访问控制装置10还包括总线加密设备170。总线加密设备170生成加密控制信号的控制信号掩码、加密存储器地址的地址掩码、加密数据的数据掩码以及加密奇偶校验码的奇偶校验码掩码。相应的信号被掩码并且被发送到存储器总线42。
图82是显示总线加密设备170的详细功能结构的框图。总线加密设备170包括公钥处理电路171、公钥存储器单元172、初始值计算电路173以及随机数生成电路174。
公钥处理电路171执行在总线加密设备170和410之间共享密钥的处理。可以以各种方式实现共享密钥。例如,如下执行的方式。即,在访问控制系统1的起始状态将第一密钥写入总线加密设备170和410两者中,随后,在总线加密设备170和410之间定期地生成新的密钥并且在他们之间转换。
公钥存储器单元172存储密钥。初始值计算电路173基于密钥生成随机数生成电路174的初始值。最好使用单向函数等等来防止猜测到密钥。例如,通过使用散列函数根据密钥生成的值可以被用作初始值。随机数生成电路174通过使用由初始值计算电路173计算的值作为初始值来生成随机数序列。
存储器40的总线加密设备410的功能结构与总线加密设备170的功能结构相同。两个设备的公钥处理电路共享密钥。在相同的时机,基于密钥,两个设备的随机数生成电路生成相同的随机数。通过使用如上所述生成的随机数作为加密掩码,在存储器总线42上的信号的发送端和接收端计算加密掩码的XOR,以通过随机数在存储器总线42上扩散信号。
通过这种方式,由访问控制装置生成的、与地址相关联以检查访问权限的掩码值和由总线加密设备不管地址而生成的掩码值都被通过XOR运算叠加在原始数据上。因此,可以使得数据和两个类型的掩码值更难以猜测,从而可以提高安全性。
图83和84是用于说明根据第十二实施例的存储器总线42中的信号流程的示图。图83是显示未被总线加密设备170和410掩码的信号的示图。顺序地执行从地址A34的读取、到地址A35的写以及从地址A36的读取。在这种情况下,对应的存储器地址、对应的数据以及对应的奇偶校验码在存储器总线42上流动。
图84是显示未被总线加密设备170和410掩码的信号的示图。在图84中,Ri.c、Ri.a、Ri.d以及Ri.p分别表示Ri的控制信号加密掩码、地址加密掩码、数据加密掩码以及奇偶校验码加密掩码。总线加密设备170和410,如图84所示,以时钟为单位生成掩码的随机数。在存储器总线42的每个信号,通过XOR运算叠加掩码的随机数的值。
作为第十二实施例的第一变形,总线加密设备170没有初始值计算电路173、密钥可以被作为随机数生成电路的初始值直接给予。从安全的角度,为了防止猜测到密钥,最好使用通过初始值计算电路173转换的初始值。
作为第二变形,LFSR可以被用作随机数生成电路174。图85是显示根据第二变形的总线加密设备170的详细功能结构的框图。随机数生成电路174包括随机数寄存器175和LFSR延迟计算电路176。
当前状态记录在随机数寄存器175中。通过LFSR延迟计算电路176计算从当前状态开始延迟预定阶段的状态。结果状态被定义为下一个状态,下一阶段的值被输出作为加密掩码。
图86是显示根据第三变形的访问控制装置10的功能结构的框图。除根据第八实施例的访问控制装置10的功能结构之外,根据第三变形的访问控制装置10还包括总线加密设备170。
图87是显示根据第四变形的访问控制装置10的功能结构的框图。除根据第十实施例的访问控制装置10的功能结构之外,根据第四变形的访问控制装置10还包括总线加密设备170。
图88是显示根据第五变形的访问控制装置10的功能结构的框图。除根据第九实施例的访问控制装置10的功能结构之外,根据第五变形的访问控制装置10还包括总线加密设备170。
如上所述,根据第十二实施例的总线加密设备170可以被用于根据其它实施例的访问控制系统1。通过这种方式,同样在根据其它实施例的访问控制系统1中,由访问控制装置生成的、与地址相关联以检查访问权限的掩码值和由总线加密设备不管地址而生成的掩码值都被通过XOR运算叠加在原始数据上。因此,可以使得数据和两个类型的掩码值更难以猜测,从而可以提高安全性。
关于根据第九实施例至第十二实施例的访问控制系统1,与在其它实施例中一样,以所述实施例为特征的访问控制装置10可以被用于参照图48至54说明的其它系统。
其它的优点和变形对于本领域技术人员来讲是显而易见的。因此,本发明的范围不局限于这里所述的具体细节和典型实施例。因此,在不脱离由所附权利要求定义的一般发明原理和它们的等价物的精神或范围的情况下,可以做出各种变形。
Claims (16)
1.一种访问控制装置,其控制写入方、读出方和存储器之间的访问,所述访问控制装置包括:
奇偶校验码生成器,其生成将写入所述存储器的写数据的奇偶校验码;
奇偶校验码添加器,其将所述奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;
写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当所述写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;
写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;
第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;
写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;
写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址;
读出方校正子生成器,其生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;
读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及所述读出方从所述存储器中读取所述读数据的读地址来生成所述读出方掩码数据;
读地址转换器,其将所述读地址转换为根据所述读出方访问ID确定的另一个地址;
读单元,其从由所述读地址转换器转换后的地址读取所述第一运算后数据;
第二XOR计算器,其通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;
数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及
输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
2.根据权利要求1所述的装置,还包括:
第一表格,其将所述写入方访问ID以及写地址转换信息彼此相关联地进行保存,其中,当所述写地址被转换为另一个地址时使用所述写地址转换信息;以及
第二表格,其将所述读出方访问ID以及读地址转换信息彼此相关联地进行保存,其中,当所述读地址被转换为另一个地址时使用所述读地址转换信息,其中
所述写地址转换器通过使用所述第一表格中的与所述写入方访问ID相关联的写地址转换信息,将所述写地址转换为另一个地址,并且
所述读地址转换器通过使用所述第二表格中的与所述读出方访问ID相关联的读地址转换信息,将所述读地址转换为另一个地址。
3.根据权利要求1所述的装置,其中
所述写单元以能够连续写数据的写尺寸为单位写数据,
所述写地址转换器将对应于用于访问所述存储器的单位的多个字的写地址转换为其它的连续地址,其中,所述单位包含在所述写尺寸中,以及
所述读单元以能够连续读数据的读尺寸为单位读取所述第一运算后数据。
4.根据权利要求3所述的装置,还包括:
数据传输单元,其以多个字为单位,根据与相应的字相关联的地址的顺序将由所述读单元读取的所述第一运算后数据传输到所述读出方。
5.一种访问控制装置,其控制写入方、读出方、高速缓冲存储器和存储器之间的访问,所述访问控制装置包括:
读请求接收器,其从读出方获取读地址;
高速缓存监视器,其判断由所述读请求接收器获取的读地址是否存储在所述高速缓冲存储器中,其中,所述高速缓冲存储器存储由所述写入方或所述读出方请求的数据,所述数据的地址以及当能够访问所述数据的所述写入方或所述读出方访问所述存储器时使用的请求者访问ID,其中,所述数据、所述地址以及所述请求者访问ID彼此相关联;
读出方校正子生成器,当所述高速缓存监视器判断由所述读请求接收器获取的读地址未存储在所述高速缓冲存储器中时,所述读出方校正子生成器生成读出方掩码数据的读出方校正子以对存储在所述存储器中的数据进行掩码,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联;
读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及所述读地址生成所述读出方掩码数据;
读地址转换器,其将由所述读请求接收器获取的地址转换为根据所述读出方访问ID确定的另一个地址;
读单元,其从由所述读地址转换器转换后的地址读取接受对数据进行的预定的计算的第一运算后数据;
第一XOR计算器,其通过计算所述读出方掩码数据与由所述读单元读取的所述第一运算后数据之间的XOR来获得第二运算后数据;
数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及
输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的数据来输出。
6.根据权利要求5所述的装置,还包括:
第一数据传输单元,当所述输出确定单元确定输出所述数据时,所述第一数据传输单元使用所述第二运算后数据作为所述数据,并且将所述数据中的、对应于用于访问所述存储器的单位的多个字与所述地址相关联地写入所述高速缓冲存储器,其中,所述地址是相应的多个字的、在通过所述读地址转换器转换之前而获得的地址;以及
第二数据传输单元,其以所述多个字为单位,根据与相应的字相关联的地址的顺序,将由所述第一数据传输单元写入所述高速缓冲存储器中的数据从所述高速缓冲存储器传输到所述读出方。
7.根据权利要求5所述的装置,还包括:
第二数据传输单元,其以字为单位,根据与相应的字相关联的地址的顺序,将写入所述高速缓冲存储器中的数据从所述高速缓冲存储器传输到所述读出方。
8.根据权利要求5所述的装置,还包括:
写请求接收器,其获取将被写入所述存储器中的数据以及写地址,其中,所述数据将从请求将所述数据写入所述存储器的写入方写到所述写地址;
奇偶校验码生成器,其生成将写入所述存储器的数据的奇偶校验码;
奇偶校验码添加器,其将由所述奇偶校验码生成器生成的所述奇偶校验码添加到所述数据以生成添加了奇偶校验码的数据;
写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当所述写入方访问所述存储器时使用的写入方访问ID相关联;
写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及写地址生成所述写入方掩码数据;
第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;
写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;以及
写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址,其中
所述读单元从由所述写地址转换器转换后的地址读取所述第一运算后数据。
9.根据权利要求8所述的装置,还包括:
数据存储器,其将所述数据以及由所述写请求接收器获取的写地址,以及所述写入方访问ID彼此相关联地存储在所述高速缓冲存储器中。
10.一种访问控制系统,包括:
处理器;
存储器控制器;以及
存储器访问控制装置,其控制到存储器的访问,其中
所述存储器访问控制装置包括:
奇偶校验码生成器,其生成将写入所述存储器的写数据的奇偶校验码;
奇偶校验码添加器,其将所述奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;
写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;
写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;
第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;
写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;
写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址;
读出方校正子生成器,其生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;
读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及读地址生成所述读出方掩码数据,其中,所述读出方数据将在所述读地址被读取;
读地址转换器,其将所述读地址转换为根据所述读出方访问ID确定的另一个地址;
读单元,其从由所述读地址转换器转换后的地址读取所述第一运算后数据;
第二XOR计算器,其通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;
数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及
输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
11.一种访问控制系统,包括:
处理器;以及
存储器访问控制装置,其控制到存储器的访问,其中
所述存储器访问控制装置包括:
奇偶校验码生成器,其生成将写入所述存储器的写数据的奇偶校验码;
奇偶校验码添加器,其将由所述奇偶校验码生成器生成的所述奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;
写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;
写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;
第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;
写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;
写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址;
读出方校正子生成器,其生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;
读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及读地址生成所述读出方掩码数据,其中,所述读出方数据将在所述读地址被读取;
读地址转换器,其将所述读地址转换为根据所述读出方访问ID确定的另一个地址;
读单元,其从由所述读地址转换器转换后的地址读取所述第一运算后数据;
第二XOR计算器,其通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;
数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及
输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
12.一种访问控制系统,包括:
处理器;
存储器控制器;以及
存储器访问控制装置,其控制到存储器的访问,其中
所述存储器访问控制装置包括:
读请求接收器,其获取将从所述存储器读取的数据,并且从读出方获取所述数据的读地址,其中,所述读出方请求从所述存储器读出数据;
高速缓存监视器,其判断由所述读请求接收器获取的读地址是否存储在高速缓冲存储器中,其中,所述高速缓冲存储器存储由请求将数据写入所述存储器的写入方或读出方请求的数据,所述数据的地址以及当能够访问所述数据的所述写入方或所述读出方访问所述存储器时使用的请求者访问ID,其中,所述数据、所述地址以及所述请求者访问ID彼此相关联;
读出方校正子生成器,当所述高速缓存监视单元判断由所述读请求接收器获取的读地址未存储在所述高速缓冲存储器中时,所述读出方校正子生成器生成所述读出方掩码数据的读出方校正子以对存储在所述存储器中的数据进行掩码,其中,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联;
读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及所述读地址生成所述读出方掩码数据;
读地址转换器,其将由所述读请求接收器获取的地址转换为根据所述读出方访问ID确定的另一个地址;
读单元,其从由所述读地址转换器转换后的地址读取接受对所述数据进行的预定的计算的第一运算后数据;
第一XOR计算器,其通过计算所述读出方掩码数据与由所述读单元读取的第一运算后数据之间的XOR来获得第二运算后数据;
数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及
输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的数据来输出。
13.一种访问控制系统,包括:
处理器;以及
存储器访问控制装置,其控制到存储器的访问,其中
所述存储器访问控制装置包括:
读请求接收器,其获取将从所述存储器读取的数据,并且从读出方获取所述数据的读地址,其中,所述读出方请求从所述存储器读出数据;
高速缓存监视器,其判断由所述读请求接收器获取的读地址是否存储在高速缓冲存储器中,其中,所述高速缓冲存储器存储由请求将数据写入所述存储器的写入方或读出方请求的数据,所述数据的地址以及当能够访问所述数据的写入方或读出方访问所述存储器时使用的请求者访问ID,其中,所述数据、所述地址以及所述请求者访问ID彼此相关联;
读出方校正子生成器,当所述高速缓存监视单元判断由所述读请求接收器获取的读地址未存储在所述高速缓冲存储器中时,所述读出方校正子生成器生成所述读出方掩码数据的读出方校正子以对存储在所述存储器中的数据进行掩码,其中,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联;
读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及所述读地址生成所述读出方掩码数据;
读地址转换器,其将由所述读请求接收器获取的地址转换为根据所述读出方访问ID确定的另一个地址;
读单元,其从由所述读地址转换器转换后的地址读取接受对所述数据进行的预定的计算的第一运算后数据;
第一XOR计算器,其通过计算所述读出方掩码数据与由所述读单元读取的第一运算后数据之间的XOR来获得第二运算后数据;
数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及
输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的数据来输出。
14.一种处理器,包括:
存储器控制器;以及
存储器访问控制装置,其控制到存储器的访问,其中
所述存储器访问控制装置包括:
奇偶校验码生成器,其生成将写入所述存储器的写数据的奇偶校验码;
奇偶校验码添加器,其将由所述奇偶校验码生成器生成的所述奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;
写入方校正子生成器,其生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;
写掩码生成器,其根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;
第一XOR计算器,其通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;
写地址转换器,其将所述写地址转换为根据所述写入方访问ID确定的另一个地址;
写单元,其将所述第一运算后数据写到由所述写地址转换器转换后的地址;
读出方校正子生成器,其生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;
读出方掩码生成器,其根据所述读出方校正子、所述读出方访问ID以及读地址生成所述读出方掩码数据,其中,所述读出方数据将在所述读地址被读取;
读地址转换器,其将所述读地址转换为根据所述读出方访问ID确定的另一个地址;
读单元,其从由所述读地址转换器转换后的地址读取所述第一运算后数据;
第二XOR计算器,其通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;
数据校正子计算器,其根据所述第二运算后数据计算实际的数据校正子;以及
输出确定单元,其根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
15.一种访问控制方法,其控制写入方、读出方和存储器之间的访问,所述访问控制方法包括:
生成将写入所述存储器的写数据的奇偶校验码;
将所述生成的奇偶校验码添加到所述写数据以生成添加了奇偶校验码的数据;
生成写入方掩码数据的写入方校正子以对所述添加了奇偶校验码的数据进行掩码,所述写入方校正子与当所述写入方访问所述存储器时使用的写入方访问ID相关联,所述写入方请求将所述写数据写入所述存储器;
根据所述写入方校正子、所述写入方访问ID以及所述写入方在所述存储器中写入所述写数据的写地址来生成所述写入方掩码数据;
通过计算所述添加了奇偶校验码的数据与所述写入方掩码数据之间的XOR来获得第一运算后数据;
将所述写地址转换为根据所述写入方访问ID确定的另一个地址;
将所述第一运算后数据写到所述转换后的地址;
生成读出方掩码数据的读出方校正子以对所述第一运算后数据进行掩码,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联,所述读出方请求从所述存储器读数据;
根据所述读出方校正子、所述读出方访问ID以及将读取所述读数据的读地址来生成所述读出方掩码数据;
将所述读地址转换为根据所述读出方访问ID确定的另一个地址;
从所述转换后的地址读取所述第一运算后数据;
通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;
根据所述第二运算后数据计算实际的数据校正子;以及
根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的读数据来输出。
16.一种存储器访问控制方法,其控制写入方、读出方和存储器之间的访问,所述存储器访问控制方法包括:
获取将从所述存储器读取的数据,并且从读出方获取所述数据的读地址,其中,所述读出方请求从所述存储器读出数据;
判断所述读地址是否存储在高速缓冲存储器中,其中,所述高速缓冲存储器存储由请求将数据写入所述存储器的写入方或读出方请求的数据,所述数据的地址以及当能够访问所述数据的写入方或读出方访问所述存储器时使用的请求者访问ID,其中,所述数据、所述地址以及所述请求者访问ID彼此相关联;
当判断所述读地址未存储在所述高速缓冲存储器中时,生成所述读出方掩码数据的读出方校正子以对存储在所述存储器中的数据进行掩码,其中,所述读出方校正子与当所述读出方访问所述存储器时使用的读出方访问ID相关联;
根据所述读出方校正子、所述读出方访问ID以及所述读地址生成所述读出方掩码数据;
将所述地址转换为根据所述读出方访问ID确定的另一个地址;
从所述转换后的地址读取接受对所述数据进行的预定的计算的第一运算后数据;
通过计算所述读出方掩码数据与所述第一运算后数据之间的XOR来获得第二运算后数据;
根据所述第二运算后数据计算实际的数据校正子;以及
根据所述实际的数据校正子确定是否将所述第二运算后数据作为由所述读出方请求读取的数据来输出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP079689/2006 | 2006-03-22 | ||
JP2006079689A JP4643479B2 (ja) | 2006-03-22 | 2006-03-22 | アクセス制御装置、アクセス制御システム、プロセッサ、アクセス制御方法およびメモリアクセス制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101042682A true CN101042682A (zh) | 2007-09-26 |
Family
ID=38166105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100843799A Pending CN101042682A (zh) | 2006-03-22 | 2007-02-28 | 访问控制装置、系统和方法,处理器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7653861B2 (zh) |
EP (1) | EP1837774A3 (zh) |
JP (1) | JP4643479B2 (zh) |
CN (1) | CN101042682A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102378967A (zh) * | 2009-04-02 | 2012-03-14 | 美光科技公司 | 扩展式单位错误校正及多位错误检测 |
CN103885850A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | 存储器在线检查系统及方法 |
CN104598829A (zh) * | 2013-10-31 | 2015-05-06 | 上海复旦微电子集团股份有限公司 | 数据处理方法、装置及防攻击方法和装置以及存储装置 |
CN105743652A (zh) * | 2014-12-11 | 2016-07-06 | 上海华虹集成电路有限责任公司 | 基于地址异或的数据总线加密方法 |
CN105988942A (zh) * | 2015-02-13 | 2016-10-05 | 上海复旦微电子集团股份有限公司 | 地址总线中地址数据转换方法及装置 |
CN107111557A (zh) * | 2014-11-25 | 2017-08-29 | 高通股份有限公司 | 在共享高速缓存存储器系统中提供共享高速缓存存储器分配控制 |
CN107436821A (zh) * | 2016-05-31 | 2017-12-05 | Arm 有限公司 | 为包括多个数据位和地址位的块生成错误码的装置和方法 |
CN107924369A (zh) * | 2015-09-11 | 2018-04-17 | 东芝存储器株式会社 | 存储器装置 |
CN110245498A (zh) * | 2018-03-08 | 2019-09-17 | 意法半导体股份有限公司 | 解密方法和电路以及对应的设备 |
CN110362420A (zh) * | 2018-04-09 | 2019-10-22 | 爱思开海力士有限公司 | 存储系统和存储系统的操作方法 |
CN112134703A (zh) * | 2014-10-02 | 2020-12-25 | 华邦电子股份有限公司 | 使用改良式键熵汇流排保护的电子装置 |
CN112491876A (zh) * | 2020-11-26 | 2021-03-12 | 杭州迪普科技股份有限公司 | 地理位置的访问控制方法及装置 |
CN113518988A (zh) * | 2019-03-05 | 2021-10-19 | 密码研究公司 | 嵌入式中央处理单元上的抗侧通道攻击存储器访问 |
CN113626791A (zh) * | 2020-05-08 | 2021-11-09 | 慧与发展有限责任合伙企业 | 存储器模块认证扩展 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4469783B2 (ja) * | 2005-11-28 | 2010-05-26 | 株式会社東芝 | メモリ保護装置、メモリ保護システムおよびメモリ保護方法 |
US7836386B2 (en) * | 2006-09-27 | 2010-11-16 | Qimonda Ag | Phase shift adjusting method and circuit |
US20090055906A1 (en) * | 2007-08-20 | 2009-02-26 | Infineon Technologies Ag | Method and apparatus for embedded memory security |
US8250452B2 (en) * | 2007-08-20 | 2012-08-21 | Infineon Technologies Ag | Method and apparatus for embedded memory security |
JP2009104757A (ja) * | 2007-10-02 | 2009-05-14 | Panasonic Corp | 半導体記憶装置 |
US8438344B2 (en) * | 2010-03-12 | 2013-05-07 | Texas Instruments Incorporated | Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes |
US9311181B2 (en) * | 2012-11-15 | 2016-04-12 | Samsung Electronics Co., Ltd. | Memory controller changing partial data in memory device and method for changing partial data thereof |
US9164834B2 (en) * | 2013-05-06 | 2015-10-20 | Samsung Electronics Co., Ltd. | Semiconductor memory devices, memory systems including the same and method of writing data in the same |
KR20150043044A (ko) * | 2013-10-14 | 2015-04-22 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이를 포함하는 반도체 시스템 |
FR3048529B1 (fr) * | 2016-03-01 | 2018-03-23 | Ingenico Group | Procede de modulation d'acces a une ressource, dispositif et programme correspondant |
US10243584B2 (en) | 2016-05-11 | 2019-03-26 | Samsung Electronics Co., Ltd. | Memory device including parity error detection circuit |
US10606696B2 (en) | 2017-12-04 | 2020-03-31 | International Business Machines Corporation | Internally-generated data storage in spare memory locations |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5973628A (en) * | 1997-10-03 | 1999-10-26 | Cisco Technology, Inc. | Parallel variable bit encoder |
JP2000181802A (ja) * | 1998-12-11 | 2000-06-30 | Matsushita Electric Ind Co Ltd | 半導体記憶装置 |
US6973613B2 (en) * | 2002-06-28 | 2005-12-06 | Sun Microsystems, Inc. | Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure |
US6961877B2 (en) * | 2002-07-19 | 2005-11-01 | Qlogic Corporation | System and method for in-line error correction for storage systems |
JP4490192B2 (ja) * | 2004-07-02 | 2010-06-23 | 株式会社エヌ・ティ・ティ・ドコモ | マルチタスク実行システム |
-
2006
- 2006-03-22 JP JP2006079689A patent/JP4643479B2/ja not_active Expired - Fee Related
- 2006-09-19 US US11/523,003 patent/US7653861B2/en not_active Expired - Fee Related
-
2007
- 2007-02-28 CN CNA2007100843799A patent/CN101042682A/zh active Pending
- 2007-03-09 EP EP07004887A patent/EP1837774A3/en not_active Withdrawn
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102378967A (zh) * | 2009-04-02 | 2012-03-14 | 美光科技公司 | 扩展式单位错误校正及多位错误检测 |
CN103885850A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | 存储器在线检查系统及方法 |
CN104598829B (zh) * | 2013-10-31 | 2018-08-07 | 上海复旦微电子集团股份有限公司 | 数据处理方法、装置及防攻击方法和装置以及存储装置 |
CN104598829A (zh) * | 2013-10-31 | 2015-05-06 | 上海复旦微电子集团股份有限公司 | 数据处理方法、装置及防攻击方法和装置以及存储装置 |
CN112134703A (zh) * | 2014-10-02 | 2020-12-25 | 华邦电子股份有限公司 | 使用改良式键熵汇流排保护的电子装置 |
CN112134703B (zh) * | 2014-10-02 | 2024-04-05 | 华邦电子股份有限公司 | 使用改良式键熵汇流排保护的电子装置 |
CN107111557B (zh) * | 2014-11-25 | 2018-09-14 | 高通股份有限公司 | 在共享高速缓存存储器系统中提供共享高速缓存存储器分配控制 |
CN107111557A (zh) * | 2014-11-25 | 2017-08-29 | 高通股份有限公司 | 在共享高速缓存存储器系统中提供共享高速缓存存储器分配控制 |
CN105743652A (zh) * | 2014-12-11 | 2016-07-06 | 上海华虹集成电路有限责任公司 | 基于地址异或的数据总线加密方法 |
CN105743652B (zh) * | 2014-12-11 | 2019-01-22 | 上海华虹集成电路有限责任公司 | 基于地址异或的数据总线加密方法 |
CN105988942B (zh) * | 2015-02-13 | 2018-12-04 | 上海复旦微电子集团股份有限公司 | 地址总线中地址数据转换方法及装置 |
CN105988942A (zh) * | 2015-02-13 | 2016-10-05 | 上海复旦微电子集团股份有限公司 | 地址总线中地址数据转换方法及装置 |
CN107924369A (zh) * | 2015-09-11 | 2018-04-17 | 东芝存储器株式会社 | 存储器装置 |
CN107924369B (zh) * | 2015-09-11 | 2021-08-31 | 东芝存储器株式会社 | 存储器装置 |
CN107436821A (zh) * | 2016-05-31 | 2017-12-05 | Arm 有限公司 | 为包括多个数据位和地址位的块生成错误码的装置和方法 |
CN107436821B (zh) * | 2016-05-31 | 2022-08-19 | Arm 有限公司 | 为包括多个数据位和地址位的块生成错误码的装置和方法 |
CN110245498A (zh) * | 2018-03-08 | 2019-09-17 | 意法半导体股份有限公司 | 解密方法和电路以及对应的设备 |
CN110245498B (zh) * | 2018-03-08 | 2023-08-08 | 意法半导体股份有限公司 | 解密方法和电路以及对应的设备 |
CN110362420A (zh) * | 2018-04-09 | 2019-10-22 | 爱思开海力士有限公司 | 存储系统和存储系统的操作方法 |
CN113518988A (zh) * | 2019-03-05 | 2021-10-19 | 密码研究公司 | 嵌入式中央处理单元上的抗侧通道攻击存储器访问 |
CN113626791A (zh) * | 2020-05-08 | 2021-11-09 | 慧与发展有限责任合伙企业 | 存储器模块认证扩展 |
CN113626791B (zh) * | 2020-05-08 | 2023-09-12 | 慧与发展有限责任合伙企业 | 存储器模块认证扩展 |
US11899777B2 (en) | 2020-05-08 | 2024-02-13 | Hewlett Packard Enterprise Development Lp | Memory module authentication extension |
CN112491876A (zh) * | 2020-11-26 | 2021-03-12 | 杭州迪普科技股份有限公司 | 地理位置的访问控制方法及装置 |
CN112491876B (zh) * | 2020-11-26 | 2022-10-21 | 杭州迪普科技股份有限公司 | 地理位置的访问控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1837774A2 (en) | 2007-09-26 |
US7653861B2 (en) | 2010-01-26 |
EP1837774A3 (en) | 2008-03-05 |
JP2007257217A (ja) | 2007-10-04 |
JP4643479B2 (ja) | 2011-03-02 |
US20070221724A1 (en) | 2007-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101042682A (zh) | 访问控制装置、系统和方法,处理器 | |
CN1991801A (zh) | 访问控制设备、方法和存储器访问控制设备、方法 | |
CN1186714C (zh) | 高基除法器及方法 | |
CN1278245C (zh) | 信息存储器件、存储器存取控制系统及方法 | |
CN1303536C (zh) | 执行自高速缓存的快速推测式加载运算的微处理器及方法 | |
CN1299177C (zh) | 数据管理装置、计算机系统及数据处理方法 | |
CN1977531A (zh) | 程序生成装置、程序测试装置、程序执行装置及信息处理系统 | |
CN1268135C (zh) | 编码方法、编码装置和记录媒体、以及解码方法、解码装置和记录媒体 | |
CN1199177C (zh) | 可抑制电路规模能进行高速纠错的纠错装置和解码装置 | |
CN101065737A (zh) | 处理器和安全处理系统 | |
CN1292357C (zh) | 信息存储设备、存储器存取控制方法 | |
CN1252646C (zh) | 图像处理方法和图像处理装置 | |
CN1665185A (zh) | 内容提供系统、用户系统、跟踪系统、装置及方法 | |
CN1866399A (zh) | 存储器控制器、非易失性存储器、非易失性存储系统和数据写入方法 | |
CN1556953A (zh) | 信息存储器件、存储器存取控制系统、方法及计算机程序 | |
CN1922643A (zh) | 加密系统、加密装置、解密装置、程序和集成电路 | |
CN101040306A (zh) | 伪随机数生成装置 | |
CN1977250A (zh) | 进行加密或解密的计算机系统和计算机程序 | |
CN101047495A (zh) | 用于传送数据的方法和系统 | |
CN1726669A (zh) | 数据分割方法和使用异或运算的装置 | |
CN1641567A (zh) | 自堆栈快取存储器进行快速推测性弹出操作方法及装置 | |
CN1273902C (zh) | 调试系统,微处理器,以及调试器 | |
CN101080725A (zh) | 管理服务器装置、内容再现装置及记录介质 | |
CN1509475A (zh) | 存储单元电路、存储设备、运动矢量检测器、和运动补偿预测编码器 | |
CN101044450A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |