CN113297014B - 待测内存容量的识别方法及装置、电子设备及存储介质 - Google Patents
待测内存容量的识别方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113297014B CN113297014B CN202010109459.0A CN202010109459A CN113297014B CN 113297014 B CN113297014 B CN 113297014B CN 202010109459 A CN202010109459 A CN 202010109459A CN 113297014 B CN113297014 B CN 113297014B
- Authority
- CN
- China
- Prior art keywords
- memory
- address
- capacity
- tested
- actual data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 257
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 240000007320 Pinus strobus Species 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
Abstract
本发明提供一种待测内存容量的识别方法及装置、电子设备及存储介质。识别方法包括:确定第一地址,所述第一地址大于所述第二内存的第二寻址范围,小于或等于所述第一内存的第一寻址范围;根据所述第二内存的编码规则,确定所述第一地址的镜像地址,所述镜像地址小于或等于所述第二寻址范围,所述镜像地址为CPU访问所述第二内存时,与所述第一地址指向同一存储单元的地址;通过对所述第一地址和所述镜像地址的读写操作,识别待测内存的容量。本发明的识别方法,可以使得软件在初始化刚开始的阶段区分出内存的容量大小,硬件上不再需要为区分内存容量再单独做产品型号的识别标识。
Description
技术领域
本发明属于内存容量识别技术领域,具体涉及一种待测内存容量的识别方法、一种待测内存容量的识别装置、一种电子设备以及一种计算机可读存储介质。
背景技术
随着软件的发展,软件对内存大小的需求越来越大。已经发布的产品可能会面临着内存容量不够的情况。扩大内存容量的同时需要有必要的信息来指示内存容量的变更,这样才能保证一个软件镜像能够兼容两种硬件。如果硬件因为缺少必要的内存容量指示信息而改版,就会耗费资金和时间。如果软件针对两个版本提供两个镜像,会增加软件维护成本。
针对内存容量变更,目前普遍通过在电路板上设置型号识别电阻,或者提供容量识别寄存器等的硬件提供识别信息的方式来提供容量变更识别指示。
但是,上述内存容量变更的指示方式,均需要硬件因为提供必要的指示信息而改版。硬件改版会导致产品发布的周期延长,也会耗费更多的资金和人力。如果硬件不做改动,软件就需要提供两种镜像,增加了软件的维护成本。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一,提供一种待测内存容量的识别方法、一种待测内存容量的识别装置、一种电子设备以及一种计算机可读存储介质。
本发明的一个方面,提供一种待测内存容量的识别方法,所述待测内存包括第一内存和第二内存,所述第一内存的容量大于所述第二内存的容量,所述方法包括:
确定第一地址,所述第一地址大于所述第二内存的第二寻址范围,小于或等于所述第一内存的第一寻址范围;
根据所述第二内存的编码规则,确定所述第一地址的镜像地址,所述镜像地址小于或等于所述第二寻址范围,所述镜像地址为CPU访问所述第二内存时,与所述第一地址指向同一存储单元的地址;
通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量。
在一些可选地实施方式中,所述通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量,包括:
向所述第一地址写入第一数据,以及,向所述镜像地址写入第二数据;
从所述第一地址读取第一实际数据,从所述镜像地址读取第二实际数据;
根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量。
在一些可选地实施方式中,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
如果所述第一实际数据与所述第二数据相等,则所述待测内存的容量与所述第二内存的容量相匹配;
如果所述第一实际数据与所述第二数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
在一些可选地实施方式中,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
如果所述第二实际数据与所述第一数据相等,则所述待测内存的容量与所述第二内存的容量相匹配;
如果所述第二实际数据与所述第一数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
本发明的另一个方面,提供一种待测内存容量的识别装置,所述待测内存包括第一内存和第二内存,所述第一内存的容量大于所述第二内存的容量,所述装置包括:
地址确定单元,用于确定第一地址,所述第一地址大于所述第二内存的第二寻址范围,小于或等于所述第一内存的第一寻址范围;以及,
所述地址确定单元,还用于根据所述第二内存的编码规则,确定所述第一地址的镜像地址,所述镜像地址小于或等于所述第二寻址范围,所述镜像地址为CPU访问所述第二内存时,与所述第一地址指向同一存储单元的地址;
识别单元,用于通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量。
在一些可选地实施方式中,所述识别单元包括写入子单元、读取子单元以及识别子单元,所述通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量,包括:
所述写入子单元,用于向所述第一地址写入第一数据,以及,向所述镜像地址写入第二数据;
所述读取子单元,用于从所述第一地址读取第一实际数据,以及,从所述镜像地址读取第二实际数据;
所述识别子单元,用于根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量。
在一些可选地实施方式中,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
所述识别子单元具体用于:
如果所述第一实际数据与所述第二数据相等,则所述待测内存的容量与所述第二内存的容量相匹配;
如果所述第一实际数据与所述第二数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
在一些可选地实施方式中,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
所述识别子单元具体用于:
如果所述第二实际数据与所述第一数据相等,则所述待测内存的容量与所述第二内存的容量相匹配;
如果所述第二实际数据与所述第一数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
本发明的另一个方面,提供一种电子设备,包括:
一个或多个处理器;
存储单元,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,能使得所述一个或多个处理器实现根据前文记载的所述的方法。
本发明的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现根据前文记载的所述的方法。
本发明的另一个方面,提供一种计算机程序,所述计算机程序在被处理器执行时能实现根据前文记载的所述的方法。
本发明的内存容量识别方法及识别装置,根据已知容量的第一内存和第二内存,找出相对于小容量的第二内存具有镜像关系的第一地址和镜像地址,之后通过对该第一地址和镜像地址的读写操作,识别出待测内存的容量,本发明的识别方法简单,并且,还可以使得软件在初始化刚开始的阶段区分出内存的容量大小,此外,硬件上不再需要为区分内存容量再单独做产品型号的识别标识。
附图说明
图1为本发明第一实施例的一种电子设备的结构示意图;
图2为本发明第二实施例的一种待测内存容量的识别方法的流程图;
图3为本发明第三实施例的第一内存与第二内存的结构示意图;
图4为本发明第四实施例的DDR SDRAM的结构示意图;
图5为本发明第五实施例的一种待测内存容量的识别装置的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
首先,参照图1来描述用于实现本发明实施例的识别装置及识别方法的示例电子设备。
如图1所示,电子设备200包括一个或多个处理器210、一个或多个存储装置220、一个或多个输入装置230、一个或多个输出装置240等,这些组件通过总线系统250和/或其他形式的连接机构互连。应当注意,图1所示的电子设备的组件和结构只是示例性的,而非限制性的,根据需要,电子设备也可以具有其他组件和结构。
处理器210可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备200中的其他组件以执行期望的功能。
存储装置220可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如,所述应用程序使用和/或产生的各种数据等。
输入装置230可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
输出装置240可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
正如背景技术部分记载,假设有两个不同容量的内存,分别为大容量内存和小容量内存,但是对于待运行软件而言,其并不知晓将要运行在小容量内存上还是大容量内存上,因此,为了保证软件的兼容性,才引申出内存容量识别的问题,这里需要理解的是,作为软件,其没法挨个设备打开机壳来查看到底是哪种内存,只能通过软件能够进行的手段来识别。
基于此,本发明的发明人提出了对待测内存容量进行识别的识别方法及识别装置。
下面,将参考图2描述根据本发明实施例的识别方法。
如图2所示,一种待测内存容量的识别方法S100,所述待测内存包括第一内存和第二内存,所述第一内存的容量大于所述第二内存的容量,所述识别方法包括:
S110、确定第一地址,所述第一地址大于所述第二内存的第二寻址范围,小于或等于所述第一内存的第一寻址范围。
具体的,在本步骤中,根据所述第一内存的第一寻址范围和所述第二内存的第二寻址范围,选定一个不超出第一寻址范围但超出第二寻址范围的地址X,作为所述第一地址。
示例性的,假设第一内存的第一寻址范围是0x0~0x7FF,其中,A=0x7FF;第二内存的第二寻址范围是0x0~0x3FF,B=0x3FF,显然,地址X应该大于0x3FF且小于0x7FF。
S120、根据所述第二内存的编码规则,确定所述第一地址的镜像地址,所述镜像地址小于或等于所述第二寻址范围,所述镜像地址为CPU访问所述第二内存时,与所述第一地址指向同一存储单元的地址。
具体的,在本步骤中,根据所述第二内存的地址编码方式,确定出当内存为第二内存时,CPU在访问地址X对应的存储单元是实际上访问到的地址Y对应的存储单元,也就是说,在CPU访问该第二内存时,地址X与地址Y指向同一个存储单元,并且,地址Y应该在所述第二寻址范围内。我们称地址X和地址Y是一对第二内存的镜像地址,在第一内存中地址X和地址Y不构成镜像地址。
示例性的,如图3所示,第一内存的第一寻址范围为0x0~0x7FF,第二内存的第二寻址范围为0x0~0x3FF,因此,从大于第二寻址范围且小于或等于第一寻址范围的寻址地址范围0x400~0x7FF中选定一个目标寻址地址作为第一地址即可,如选定0x400地址作为第一地址。第二内存使用Addr0~Addr9,10根地址线进行地址编码,当地址为0x400时,Addr0~Addr9均为0,则当内存为第二内存时,CPU访问0x400地址,实际上访问的是0x0地址。即0x0地址和0x400地址对于第二内存来讲,对应同一个存储单元,因此这两个地址为镜像地址。
S130、通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量。
具体地,在本步骤中,根据前文记载,如果找到了第一地址以及与第一地址具有镜像关系的镜像地址,则可以通过对两个地址的读取操作,确定所述待测内存的容量。
本实施例的待测内存容量识别方法,根据已知容量的第一内存和第二内存,找出相对于小容量的第二内存具有镜像关系的第一地址和镜像地址,通过对该第一地址和镜像地址的读写操作,识别出待测内存的容量。
本发明实施例提供的内存识别方法简单,还可以使得软件在初始化刚开始的阶段区分出内存的容量大小,并且,硬件上不再需要为区分内存容量再单独做产品型号的识别标识。
示例性的,所述通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量,包括:
向所述第一地址写入第一数据,以及,向所述镜像地址写入第二数据。从所述第一地址读取第一实际数据,以及,从所述镜像地址读取第二实际数据。根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量。
示例性的,在一些可选地实施方式中,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
如果所述第一实际数据与所述第二数据相等,确定所述待测内存的容量与所述第二内存的容量相匹配,如果所述第一实际数据与所述第二数据不相等,确定所述待测内存的容量与所述第一内存的容量相匹配。
具体地,在本步骤中,如图3所示,根据前文记载,具有镜像关系的两个地址分别为地址0x400与地址0x0,这样,可以先向0x400地址写入第一数据,如0xAAAA,再向0x0地址写入第二数据,如0x5555。之后,根据0x400地址取出第一实际数据,如果从第一地址0x400取出的第一实际数据是0x5555,表示在地址0x400与地址0x0中写入的是同一个存储单元,这两个地址是镜像地址,待测内存为小内存,即第二内存。反之,如果从第一地址0x400取出的第一实际数据并不是0x5555,则表示在地址0x400与地址0x0中写入的并不是同一个存储单元,这两个地址不是镜像地址,待测内存为大内存,即第一内存。因此,可以根据第一实际数据和第二数据之间的关系,识别出待测内存是大容量内存还是小容量内存。
此外,也可以通过第二实际数据与第一数据的关系,确定待测内存是大容量内存还是小容量内存,示例性的,如果所述第二实际数据与所述第一数据相等,则所述待测内存的容量与所述第二内存的容量相匹配。如果所述第二实际数据与所述第一数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
具体地,在本步骤中,如前文记载,可以先向0x0地址写入第二数据,如0x5555,再向0x400地址写入第一数据,如0xAAAA。之后,根据0x0地址取出第二实际数据,如果从第二地址0x0取出的实际数据是0xAAAA,表示在地址0x400与地址0x0中写入的是同一个存储单元,这两个地址是镜像地址,待测内存为小内存,即第二内存。反之,如果从第二地址0x0取出的第一实际数据并不是0xAAAA,则表示在地址0x400与地址0x0中写入的并不是同一个存储单元,这两个地址不是镜像地址,待测内存为大内存,即第一内存。因此,可以根据第一实际数据和第二数据之间的关系,识别出待测内存是大容量内存还是小容量内存。
下文将以一个具体示例对本发明的内存容量识别方法进行具体阐述。
假设某产品最初使用某厂家的64兆字节(64MByte)的双倍速率同步动态随机存储器(Double Data Rate SDRAM,简称DDR SDRAM),后来因为业务逻辑扩展,原先的64MByte满足不了软件需求。则考虑更换容量更大的128MByte的DDR SDRAM。
一般地,DDR SDRAM的内部由块(bank)、列(column)、行(row)组成,这里为了便于理解,我们可以把DDR SDRAM的内部结构想象成Excel文件,bank即为工作表,column为工作表的列,row为工作表的行,一个Excel文件有多个工作表,每个表中有多行和多列。我们通过并行总线访问DDR SDRAM,DDR SDRAM内部地址空间是连续的,不同的DDR SDRAM的地址排列方式可能不一样,但只要给定bank、column、row的值就能唯一确定一个存储单元。
如图4和下表1所示,中央处理单元CPU的地址编码顺序为column、row、bank,128MByte的DDR SDRAM比64MByte的DDR SDRAM多了一根bank线,A0~A13用来选择row,A0~A9选择column。那么对于中央处理单元CPU来讲,当DDR SDRAM为64MByte时,寻址范围为0x0~0x3FFFFFF,当DDR SDRAM为128MByte时,寻址范围为0x0~0x7FFFFFF。在超出64MByte的DDR SDRAM的寻址空间中选取一个地址,例如0x400 0000,根据DDR SDRAM编址方式,64MByte DDR SDRAM没有Bank2地址线,即地址的bit26位悬空,那么地址的bit26无论是0还是1,对于64MByte DDR SDRAM地址解码没有影响。所以,当CPU发出0x400 0000地址时,64MByte DDR SDRAM选通了bank=0,row=0,column=0对应的内存单元;当CPU发出0x0000000地址时,64MByte DDR SDRAM仍然选通了bank=0,row=0,column=0对应的内存单元。因此,0x4000000和0x0000000这两个地址为镜像地址。
表1
在确定了存在镜像关系的两个地址以后,向0x4000000的地址写入0x55AA5555,然后向0x0的地址写0x55AAAAAA,接着再从0x4000000地址读取4字节数据,如果读取出来的值为0x55AA5555,那么证明0x0地址和0x4000000地址并不指向同一块存储单元,即DDR SDRAM容量为128MByte;如果读取出来的值为0x55AAAAAA,那么证明0x0地址和0x4000000地址指向了同一块存储单元,即bank2线没有生效,那么DDR SDRAM容量即为64MByte。
本发明的另一个方面,如图5所示,提供一种待测内存容量的识别装置100,所述待测内存包括第一内存和第二内存,所述第一内存的容量大于所述第二内存的容量。该识别装置100可以应用于前文记载的识别方法,具体可以参考前文相关记载,在此不作赘述。该识别装置100包括:
地址确定单元110,用于确定第一地址,所述第一地址大于所述第二内存的第二寻址范围,小于或等于所述第一内存的第一寻址范围;以及,还用于根据所述第二内存的编码规则,确定所述第一地址的镜像地址,所述镜像地址小于或等于所述第二寻址范围,所述镜像地址为CPU访问所述第二内存时,与所述第一地址指向同一存储单元的地址。
识别单元120,用于通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量。
本实施例的待测内存容量的识别装置,通过根据已知容量的第一内存和第二内存,找出相对于小容量的第二内存具有镜像关系的第一地址和镜像地址,之后通过对该第一地址和镜像地址的读写操作,识别出待测内存的容量。本发明实施例提供的内存识别装置,结构简单,还可以使得软件在初始化刚开始的阶段区分出内存的容量大小,并且,硬件上不再需要为区分内存容量再单独做产品型号的识别标识。
需要说明的是,至于具体如何从第二内存中找到与第一地址呈镜像关系的镜像地址可以参考本发明实施例识别方法中的详细描述,在此不作赘述。
在一些可选地实施方式中,所述识别单元120包括写入子单元121、读取子单元122以及识别子单元123,所述通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量,包括:
所述写入子单元121,用于向所述第一地址写入第一数据,以及,向所述镜像地址写入第二数据;
所述读取子单元122,用于从所述第一地址读取第一实际数据,以及,从所述镜像地址读取第二实际数据;
所述识别子单元123,用于根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量。
在一些可选地实施方式中,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
所述识别子单元123用于:
如果所述第一实际数据与所述第二数据相等,则所述待测内存的容量与所述第二内存的容量相匹配。如果所述第一实际数据与所述第二数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
此外,识别子单元123也可以根据第二实际数据与第一数据的关系,确定待测内存是大容量内存还是小容量内存,示例性的,如果所述第二实际数据与所述第一数据相等,则所述待测内存的容量与所述第二内存的容量相匹配。如果所述第二实际数据与所述第一数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
本发明的另一个方面,提供一种电子设备,包括:
一个或多个处理器;
存储单元,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,能使得所述一个或多个处理器实现根据前文记载的所述的方法。
本发明的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现根据前文记载的所述的方法。
其中,计算机可读介质可以是本发明的装置、设备、系统中所包含的,也可以是单独存在。
其中,计算机可读存储介质可是任何包含或存储程序的有形介质,其可以是电、磁、光、电磁、红外线、半导体的系统、装置、设备,更具体的例子包括但不限于:具有一个或多个导线的相连、便携式计算机磁盘、硬盘、光纤、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或它们任意合适的组合。
其中,计算机可读存储介质也可包括在基带中或作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码,其具体的例子包括但不限于电磁信号、光信号,或它们任意合适的组合。
本发明的另一个方面,提供一种计算机程序,所述计算机程序被处理器执行时能实现根据前文记载的所述的方法。
可以理解的是,计算机程序可以存储于计算机存储介质中,如前文记载的随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)等等。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (8)
1.一种待测内存容量的识别方法,所述待测内存包括第一内存和第二内存,所述第一内存的容量大于所述第二内存的容量,其特征在于,所述方法包括:
确定第一地址,所述第一地址大于所述第二内存的第二寻址范围,小于或等于所述第一内存的第一寻址范围;
根据所述第二内存的编码规则,确定所述第一地址的镜像地址,所述镜像地址小于或等于所述第二寻址范围,所述镜像地址为CPU访问所述第二内存时,与所述第一地址指向同一存储单元的地址;
通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量;
所述通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量,包括:
向所述第一地址写入第一数据,向所述镜像地址写入第二数据;
从所述第一地址读取第一实际数据,从所述镜像地址读取第二实际数据;
根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
如果所述第一实际数据与所述第二数据相等,则所述待测内存的容量与所述第二内存的容量相匹配;
如果所述第一实际数据与所述第二数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
如果所述第二实际数据与所述第一数据相等,则所述待测内存的容量与所述第二内存的容量相匹配;
如果所述第二实际数据与所述第一数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
4.一种待测内存容量的识别装置,所述待测内存包括第一内存和第二内存,所述第一内存的容量大于所述第二内存的容量,其特征在于,所述装置包括:
地址确定单元,用于确定第一地址,所述第一地址大于所述第二内存的第二寻址范围,小于或等于所述第一内存的第一寻址范围;以及,
所述地址确定单元,还用于根据所述第二内存的编码规则,确定所述第一地址的镜像地址,所述镜像地址小于或等于所述第二寻址范围,所述镜像地址为CPU访问所述第二内存时,与所述第一地址指向同一存储单元的地址;
识别单元,用于通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量;
所述识别单元包括写入子单元、读取子单元以及识别子单元,所述通过对所述第一地址和所述镜像地址的读写操作,识别所述待测内存的容量,包括:
所述写入子单元,用于向所述第一地址写入第一数据,以及,向所述镜像地址写入第二数据;
所述读取子单元,用于从所述第一地址读取第一实际数据,以及,从所述镜像地址中读取第二实际数据;
所述识别子单元,用于根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量。
5.根据权利要求4所述的装置,其特征在于,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
所述识别子单元具体用于:
如果所述第一实际数据与所述第二数据相等,则所述待测内存的容量与所述第二内存的容量相匹配;
如果所述第一实际数据与所述第二数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
6.根据权利要求4所述的装置,其特征在于,所述根据所述第一实际数据和所述第二实际数据,识别所述待测内存的容量,包括:
所述识别子单元具体用于:
如果所述第二实际数据与所述第一数据相等,则所述待测内存的容量与所述第二内存的容量相匹配;
如果所述第二实际数据与所述第一数据不相等,则所述待测内存的容量与所述第一内存的容量相匹配。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储单元,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,能使得所述一个或多个处理器实现根据权利要求1-3中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时能实现根据权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010109459.0A CN113297014B (zh) | 2020-02-22 | 2020-02-22 | 待测内存容量的识别方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010109459.0A CN113297014B (zh) | 2020-02-22 | 2020-02-22 | 待测内存容量的识别方法及装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113297014A CN113297014A (zh) | 2021-08-24 |
CN113297014B true CN113297014B (zh) | 2024-03-08 |
Family
ID=77317637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010109459.0A Active CN113297014B (zh) | 2020-02-22 | 2020-02-22 | 待测内存容量的识别方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297014B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4926314A (en) * | 1987-03-17 | 1990-05-15 | Apple Computer, Inc. | Method and apparatus for determining available memory size |
JPH0830750A (ja) * | 1994-07-14 | 1996-02-02 | Sony Corp | メモリカードの容量判定方法及び装置 |
JPH09282224A (ja) * | 1996-04-16 | 1997-10-31 | Casio Electron Mfg Co Ltd | メモリ容量認識方法 |
US6223271B1 (en) * | 1998-07-15 | 2001-04-24 | Compaq Computer Corp. | System and method for detecting system memory size using ROM based paging tables |
CN101937374A (zh) * | 2009-06-30 | 2011-01-05 | 恒忆有限责任公司 | 存储存储器重映射信息的非易失性存储器 |
CN102929753A (zh) * | 2012-09-27 | 2013-02-13 | 成都林海电子有限责任公司 | Pcie总线设备存储空间的测试方法 |
CN102981974A (zh) * | 2012-11-09 | 2013-03-20 | 深圳市共进电子股份有限公司 | 一种嵌入式系统中内存大小的自动识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661438B (zh) * | 2008-08-29 | 2013-08-28 | 鸿富锦精密工业(深圳)有限公司 | 电子装置及中央处理器寻址空间扩展方法 |
US10649665B2 (en) * | 2016-11-08 | 2020-05-12 | Micron Technology, Inc. | Data relocation in hybrid memory |
-
2020
- 2020-02-22 CN CN202010109459.0A patent/CN113297014B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4926314A (en) * | 1987-03-17 | 1990-05-15 | Apple Computer, Inc. | Method and apparatus for determining available memory size |
JPH0830750A (ja) * | 1994-07-14 | 1996-02-02 | Sony Corp | メモリカードの容量判定方法及び装置 |
JPH09282224A (ja) * | 1996-04-16 | 1997-10-31 | Casio Electron Mfg Co Ltd | メモリ容量認識方法 |
US6223271B1 (en) * | 1998-07-15 | 2001-04-24 | Compaq Computer Corp. | System and method for detecting system memory size using ROM based paging tables |
CN101937374A (zh) * | 2009-06-30 | 2011-01-05 | 恒忆有限责任公司 | 存储存储器重映射信息的非易失性存储器 |
CN102929753A (zh) * | 2012-09-27 | 2013-02-13 | 成都林海电子有限责任公司 | Pcie总线设备存储空间的测试方法 |
CN102981974A (zh) * | 2012-11-09 | 2013-03-20 | 深圳市共进电子股份有限公司 | 一种嵌入式系统中内存大小的自动识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113297014A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5222099B2 (ja) | トランスペアレントeccメモリシステム | |
US20170364301A1 (en) | Data deduplication | |
US9158683B2 (en) | Multiport memory emulation using single-port memory devices | |
CN102591783B (zh) | 可编程存储器控制器 | |
TWI668703B (zh) | 具有可程式化緩衝器及快取大小的記憶體協定 | |
US20190139594A1 (en) | Semiconductor memory device and data path configuration method thereof | |
KR20080097231A (ko) | 메모리 장치, 그 에러 정정의 지원 방법, 그 지원 프로그램을 저장한 컴퓨터로 판독가능한 기록매체, 메모리 카드, 회로 기판 및 전자 기기 | |
CN109445691B (zh) | 一种提高ftl算法开发和验证效率的方法及装置 | |
KR20170136829A (ko) | 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법 | |
KR20160061703A (ko) | 내부 카피 동작을 수행하는 메모리 장치 | |
CN101401078B (zh) | 存储装置、其控制方法、存储卡、电路基板以及电子设备 | |
US8914602B2 (en) | Display controller having an embedded non-volatile memory divided into a program code block and a data block and method for updating parameters of the same | |
US8677082B2 (en) | Data mask system and data mask method | |
CN114385089B (zh) | 一种基于交叉编址的动态bank存储方法、装置及电子设备 | |
JPH05173898A (ja) | パーソナルコンピュータシステム及びメモリ素子 | |
US20170103797A1 (en) | Calibration method and device for dynamic random access memory | |
CN113297014B (zh) | 待测内存容量的识别方法及装置、电子设备及存储介质 | |
CN101401077A (zh) | 存储装置及其控制方法和其控制程序、存储卡、电路基板及电子设备 | |
CN115048319A (zh) | 地址映射关系的确定方法、控制器和地址关系映射系统 | |
US6754857B2 (en) | Method of testing cache memory | |
CN109032966B (zh) | 一种高速缓存装置及数据高速读写终端 | |
CN117112452B (zh) | 寄存器模拟配置方法、装置、计算机设备和存储介质 | |
US11500776B2 (en) | Data write system and method with registers defining address range | |
CN116597886B (zh) | 对npu中的lsu进行验证的方法及相关设备 | |
US11429523B2 (en) | Two-way interleaving in a three-rank environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 201, No. 6 Fengtong Heng Street, Huangpu District, Guangzhou City, Guangdong Province, 510799 Applicant after: Guangzhou Ximu Semiconductor Technology Co.,Ltd. Address before: 100095 202-24, building 6, yard 1, gaolizhang Road, Haidian District, Beijing Applicant before: Beijing SIMM Computing Technology Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |