CN104424124A - 内存装置、电子设备和用于控制内存装置的方法 - Google Patents
内存装置、电子设备和用于控制内存装置的方法 Download PDFInfo
- Publication number
- CN104424124A CN104424124A CN201310410041.3A CN201310410041A CN104424124A CN 104424124 A CN104424124 A CN 104424124A CN 201310410041 A CN201310410041 A CN 201310410041A CN 104424124 A CN104424124 A CN 104424124A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- memory
- unit
- write
- 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.)
- Granted
Links
Abstract
提供了一种内存装置、电子设备和用于控制所述内存装置的方法。该内存装置包括:块存储单元,包括多个存储块,各个存储块包括多个页面,该块存储单元以页面为单位来执行数据的读写;映射控制单元,接收用于执行数据的读写的命令,并且对于要读写的数据的内存地址与其在块存储单元中的储存地址之间建立映射关系,并基于该映射关系控制数据的读写;缓存单元,根据映射控制单元的控制来缓存要读写的数据,从而以页面为单位执行所述块存储单元的数据读写;内存接口,用于将所述映射控制单元和缓存单元连接到所述处理单元。在根据本发明实施例的技术方案中,能够降低内存装置的成本、真实地向用户反映内存容量、并且不增加处理负载。
Description
技术领域
本发明涉及信息技术领域,更具体地,涉及一种内存装置、包括该内存装置的电子设备和用于控制所述内存装置的方法。
背景技术
内存是电子设备的重要组成部分。以电子设备是计算机为例,内存用于暂时存放中央处理单元(CPU)中的运算数据、以及与硬盘等外部存储器交换的数据。在计算机运行时,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来。因此,内存的性能对计算机的影响非常大。
在现有的技术中,使用基于随机存取存储器(RAM)发展而来的各种存储单元作为内存,但是该基于随机存取存储器的内存价格昂贵,使得电子设备的成本较高。此外,现有技术中还存在一种虚拟内存技术来提高内存性能,该虚拟内存技术在电子设备的外部存储器中建立页交换文件(paging file),并通过利用CPU控制在内存与外部存储器的页交换来将内存中的部分数据存储在所述页交换文件中,以扩展了内存的容量。然而,该虚拟内存技术增加了CPU的处理负载,并且由于外部存储器中的页交换文件的容量不被计算为内存的容量,因此用户可见的内存容量低于内存的实际测量结果。
因此,期望存在一种低成本、用户可见大容量的内存,并且希望其不增加CPU的处理负载。
发明内容
本发明实施例提供了一种内存装置、包括该内存装置的电子设备和用于控制所述内存装置的方法,其能够降低内存装置的成本、真实地向用户反映内存容量、并且不增加处理负载。
一方面,提供了一种内存装置,用于包括处理单元的电子设备,该处理单元连接到该内存装置,该内存装置可包括:块存储单元,包括多个存储块,各个存储块包括多个页面,该块存储单元以页面为单位来执行数据的读写;映射控制单元,接收用于执行数据的读写的命令,并且对于要读写的数据的内存地址与其在内存装置中的储存地址之间建立映射关系,并基于该映射关系控制数据的读写;缓存单元,根据映射控制单元的控制来缓存要读写的数据,从而以页面为单位执行所述块存储单元的数据读写;内存接口,用于将所述映射控制单元和缓存单元连接到所述处理单元,以传输所述处理单元的命令和数据。
在所述内存装置中,所述映射控制单元可包括:静态随机存取存储器,用于保存所述映射关系,从而提高该映射控制单元的控制效率。
在所述内存装置中,所述缓存单元可以是高速缓冲存储器。
在所述内存装置中,所述映射控制单元可以在接收到用于读取数据的命令时,先确定要读取的数据是否在高速缓冲存储器中,如果在高速缓冲存储器,则从高速缓冲存储器中获取所述要读取的数据,以经由内存接口传送出去。
在所述内存装置中,所述缓存单元可以是利用动态随机存取存储器的一部分来形成的高速缓冲存储器,该动态随机存取存储器的剩余部分被作为所述内存装置的附加存储单元,以与所述块存储单元协作来进行数据读写。
在所述内存装置中,所述映射控制单元可以在接收到用于读取数据的命令时,先确定要读取的数据是否在所述附加存储单元中,如果要读取的数据在所述附加存储单元中,则从该附加存储单元中获取要读取的数据;如果要读取的数据不在所述附加存储单元中,则确定要读取的数据是否在高速缓冲存储器中,如果在高速缓冲存储器,则从高速缓冲存储器中获取所述要读取的数据,以经由内存接口传送出去。
在所述内存装置中,所述块存储单元可以是基于优化闪存制成的,该优化闪存的读写速度大于单层单元闪存,并且其擦写次数大于单层单元闪存。
另一方面,提供了一种电子设备,其包括处理单元和如上所述的任一个内存装置。
另一方面,提供了一种用于控制内存装置的方法,所述内存装置可包括块存储单元、内存接口、与该块存储单元配合使用的缓存单元,所述块存储单元包括多个存储块,各个存储块包括多个页面,该块存储单元以页面为单位来执行数据的读写,该内存接口用于将所述内存装置连接到处理单元,所述方法可包括:在用于要读写的数据的内存地址与要读写的数据在内存单元中的储存地址之间建立映射关系;经由所述内存接口从处理单元接收用于执行数据的读写的命令,该命令包括用于要读写的数据的内存地址;基于所述映射关系确定要读写的数据的储存地址;经由所述内存接口来执行所述要读写的数据在所述储存地址中的读写,其中,当所确定的储存地址为所述块存储单元的地址时,借助于所述缓存单元来执行所述要读写的数据在所述储存地址中的读写。
在所述用于控制内存装置的方法中,所述内存装置还可包括:静态随机存取存储器,用于存储所述内存地址与所述储存地址之间的映射关系,从而提高利用该映射关系进行操作的效率。
在所述用于控制内存装置的方法中,所述缓存单元可以是高速缓冲存储器。
在所述用于控制内存装置的方法中,在从所述处理单元接收到用于读取数据的读命令时,所述基于所述映射关系确定要读写的数据的储存地址的步骤可包括:先确定要读取的数据是否在高速缓冲存储器中;如果要读取的数据不在所述高速缓冲存储器中,则确定要读取的数据在所述块存储单元中,并获取所述要读取的数据在所述块存储单元中的储存地址。所述经由所述内存接口来执行所述要读写的数据在所述储存地址中的读写的步骤可包括:如果确定要读取的数据在所述高速缓冲存储器中,则从高速缓冲存储器中获取所述要读取的数据,并经由内存接口传送出去。
在所述用于控制内存装置的方法中,所述缓存单元可以是利用动态随机存取存储器的一部分来形成的高速缓冲存储器,该动态随机存取存储器的剩余部分被作为所述内存装置的附加存储单元,以与所述块存储单元协作来进行数据读写。
在所述用于控制内存装置的方法中,在从所述处理单元接收到用于读取数据的读命令时,所述基于所述映射关系确定要读写的数据的储存地址的步骤可包括:基于所述映射关系确定要读取的数据是否在所述附加存储单元中;如果要读取的数据不在所述附加存储单元中,则确定要读取的数据是否在高速缓冲存储器中;如果要读取的数据不在所述高速缓冲存储器中,则确定要读取的数据在所述块存储单元中。所述经由所述内存接口来执行所述要读写的数据在所述储存地址中的读写的步骤可包括:如果确定要读取的数据在所述附加存储单元中,则从所述附加存储单元中获取所述要读取的数据,并经由内存接口传送出去;如果确定要读取的数据在所述高速缓冲存储器中,则从高速缓冲存储器中获取所述要读取的数据,并经由内存接口传送出去。
在所述用于控制内存装置的方法中,所述块存储单元可以是基于优化闪存制成的,该优化闪存的读写速度大于单层单元闪存,并且其擦写次数大于单层单元闪存。
在本发明实施例的内存装置、包括该内存装置的电子设备和用于控制所述内存装置的方法中,通过利用块存储单元来构成内存单元而能够降低内存装置的成本,通过经由内存接口与外部对接而能真实地向用户反映内存容量,并且通过在内存装置内执行映射关系的维护而不增加处理负载。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是示意性图示了根据本发明实施例的内存装置的框图;
图2是示意性图示了根据本发明另一实施例的内存装置的框图;
图3是示意性图示了根据本发明实施例的电子设备的框图;
图4是示意性图示了根据本发明实施例的用于控制内存装置的方法的流程图;
图5是示意性图示了在根据本发明实施例的用于控制内存装置的方法中当接收到读命令时所执行的操作的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
图1是示意性图示了根据本发明实施例的内存装置100的框图。该内存装置100可应用于各种电子设备,包括但不限于智能电话机、计算机、个人数字助理、网站服务器、文献数据库、或数据存储服务器等,电子设备的具体类型不构成对本发明的限制。典型地,该电子设备可包括诸如中央处理器之类的处理单元,从而向内存装置100发出各种命令和与内存装置100进行数据传输。
所述内存装置100可包括:块存储单元110,包括多个存储块,各个存储块包括多个页面,该块存储单元以页面为单位来执行数据的读写;映射控制单元120,接收用于执行数据的读写的命令,并且对于要读写的数据的内存地址与其在内存装置中的储存地址之间建立映射关系,并基于该映射关系控制数据的读写;缓存单元130,根据映射控制单元的控制来缓存要读写的数据,从而以页面为单位执行所述块存储单元的数据读写;内存接口140,用于将所述映射控制单元和缓存单元连接到所述处理单元,以传输所述处理单元的命令和数据。
所述块存储单元110典型地为固态硬盘,并且下面以固态硬盘为例进行说明。但是,固态硬盘仅仅所述块存储单元110的示例,不能作为对本发明实施例的限制,任何具有这里描述的块存储单元的属性的存储介质都可以作为块存储单元110。固态硬盘包括多个存储块,各个存储块包括多个页面,每个页面通常包括多个字节。在固态硬盘中以页面为单位来执行数据的读写。固态硬盘通常被用作电子设备的硬盘,其价格远远低于内存。因此,利用例如固态硬盘的块存储单元作为内存装置100的主存储单元能够大大地降低内存装置的价格。
固态硬盘典型地由控制单元和存储介质组成,该存储介质例如为闪存(Flash)或动态随机存取存储器。随着技术的发展,固态硬盘的性能也不断升级。例如现在研发出一种优化闪存,该优化闪存的读写速度大于单层单元闪存,并且其擦写次数大于单层单元闪存。因此,基于优化闪存制成的所述块存储单元110在用于内存装置100时具有更优的性能。
所述映射控制单元120例如从处理单元接收用于执行数据的读写的命令,该命令中例如为要读写的数据指明了在内存装置中的内存地址,该处理单元所指明的内存地址通常是按照更为通用的机制来设置的地址,其典型地为逻辑地址。然而,数据在内存装置中的储存地址是在内存装置中具体存储数据的位置的地址,其例如为物理地址。所述内存地址与所述储存地址通常不同,并因此需要在二者之间建立映射关系,从而根据处理单元的读指令从内存装置中读取数据、并根据处理单元的写指令向内存装置写入数据。
因为内存装置100的容量在逐渐增大,处理单元的处理复杂度也在逐渐上升,所以该映射控制单元120所建立和管理的所述映射关系也相对复杂。而且,在现有的诸如随机存取存储器的内存装置中,以字节为单位进行数据的读写,即处理单元的读写指令是以字节为单位;然而,在本发明的实施例中,以页面为单位来对块存储单元110执行数据的读写,这也进一步增加了映射控制单元120针对所述映射关系的维护难度。为了提高该映射控制单元120的控制效率,所述映射控制单元可包括静态随机存取存储器,用于保存所述映射关系。静态随机存取存储器具有非常块的读写速度,并且其内容可按需随意读取或写入,且读写的速度与存储单元的位置无关。因此,该映射控制单元120可利用所述静态随机存取存储器来协助管理在内存地址和储存地址之间的映射关系,从而提高控制效率。
在根据处理单元的指令获知了要读写的数据的读写地址之后,基于所述映射关系来获知要读写的数据在内存装置中的储存地址,从而在所述储存地址中执行数据读写。关于执行读写的具体操作,下面结合缓存单元130进一步描述。
缓存单元130用于根据映射控制单元的控制来缓存要读写的数据,从而以页面为单位执行所述块存储单元的数据读写。如前所述,在现有的内存装置中,以字节为单位进行数据的读写,即处理单元的读写指令是以字节为单位;然而,在本发明的实施例中,以页面为单位来对块存储单元110执行数据的读写,而每个页面通常包括多个字节。也就是说,块存储单元110的数据读写粒度大于现有的处理单元的操作粒度。因此,利用该缓存单元130来协助所述块存储单元110实现数据的读写。所述缓存单元130典型地是高速缓冲存储器,例如是动态随机存取存储器(DRAM)、可编程只读存器(PROM)等。
在从处理单元收到以字节为单位的数据读取时,映射控制单元120进行如下控制,以页面为单位将保存在块存储单元中的要读取的数据读取到所述缓存单元130中,从以页面为单位缓存的数据中确定处理单元所需要的字节,以将所确定的字节读取出去。在从处理单元收到以字节为单位的数据写入时,映射控制单元120进行如下控制,首先确定与要写入的数据对应的以页面为单元的储存地址,该储存地址的各个页面通常可以已经存储了部分字节的数据;将所确定的储存地址中的内容以页面为单元读取到所述缓存单元130中;将要写入的字节写入到缓存单元130中;以页面为单位将缓存单元130中的数据写入到块存储单元110中,该数据包括原来在页面存储的数据和后来写入的数据。此外,如果在与要写入的数据对应的储存地址的各个页面中没有数据,映射控制单元120也可以将要写入的数据直接写入到块存储单元110中。由此可见,尽管内存装置所接收的读写命令是以字节为单位进行读写,但是利用该缓存单元130也可以在以页面为单位的块存储单元110中实现读写。
根据上面关于缓存单元130的描述可知,该缓存单元130的最小容量是块存储单元110中的一个页面。在使用中,如果缓存单元130的容量大,则一次可以执行多个页面的读写,从而提高了内存的操作效率。在缓存单元130的容量较大的情况中,部分数据在被写入到块存储单元110的同时,可能也被保留在所述缓存单元130。相应地,在读取数据时,所述映射控制单元120可以先确定要读取的数据是否在缓存单元130中,如果在缓存单元130,则从缓存单元130中获取所述要读取的数据以传送出去;如果要读取的数据不在缓存单元130,则如上所述利用缓存单元130来从块存储单元110中获取所述要读取的数据以传送出去。这样,可以充分地利用缓存单元130既有的数据存储能力,来提高内存装置100的读写效率。
所述内存接口140用于将所述映射控制单元120和缓存单元130连接到所述处理单元,以传输所述处理单元的命令和数据。如前所述,尽管内存装置所接收的读写命令是以字节为单位进行读写,但是利用该缓存单元可以在以页面为单位的块存储单元中实现读写。即,现有的处理单元不需要任何改变,相应地可以利用现有的各种内存接口作为本发明实施例中的内存接口140。对于用户而言,通过该内存接口可以向其真实地呈现该内存装置100的容量。在所述缓存单元130的全部容量被用于缓存块存储单元110的数据的情况下,该向用户呈现的容量是块存储单元110的容量;在所述缓存单元130的部分容量被用于缓存块存储单元110的数据的情况下,该向用户呈现的容量是块存储单元110的容量加上缓存单元130中的除了所述用于缓存的部分容量之外的剩余容量。
在本发明实施例的内存装置的技术方案中,通过利用块存储单元来构成内存单元而能够降低内存装置的成本,通过经由内存接口与外部对接而能真实地向用户反映内存容量,并且通过在内部执行映射关系的维护而不增加处理负载。
为了更充分地公开本发明的实施例,下面结合图2描述内存装置的其它结构框图。图2是示意性图示了根据本发明另一实施例的内存装置200的框图。
在图2中,使用了相同的附图标记来表示与图1相同的组成单元。图2中的块存储单元110、映射控制单元120、缓存单元130、内存接口140与图1中的对应部分相同,这里省略其描述。图2的内存装置200与图1的内存装置100的不同之处在于增加了附加存储单元150。该附加存储单元150可以利用现有的各种内存部件来形成,例如可以为同步动态随机存取存储器(SDRAM)、双数据率同步动态随机存储器(DDR SDRAM)等,该附加存储单元150的类型不构成对本发明实施例的限制。在映射控制单元120的控制下,该附加存储单元150可以像现有的内存一样高速地进行数据的读写处理。
增加该附加存储单元150是为了进一步优化数据的读写操作。在现有的电子设备的操作过程中,所需的内存装置的容量是一个动态变化的过程,例如,对于电子设备的日常操作,其可能仅仅需要1吉字节(GB)的内存容量;但是,当利用电子设备来玩游戏时,可能需要3GB甚至更多的内存容量。如前所述,利用块存储单元110进行读写时通常要经由缓存单元130进行处理,这在一定程度上降低了数据的读写速度,尽管该降低是有限的。这里,在内存装置200中包括所述附加存储单元150来满足处理单元的日常要求。也就是说,在所需的内存容量小时,利用内存装置200中的该附加存储单元150来进行数据的读写;当所需的内存容量变大时,利用内存装置200中的该附加存储单元150和块存储单元110二者来进行数据的读写,从而在增加了内存装置的容量的同时也保证了内存装置的操作性能。
该附加存储单元150可以是单独的内存器件,还可以与所述缓存单元130共享内存器件。例如,所述缓存单元130可以是利用动态随机存取存储器的一部分来形成的高速缓冲存储器,而将该动态随机存取存储器的剩余部分作为内存装置的所述附加存储单元150,以与所述块存储单元110协作来进行数据读写。此外,在进行数据的读写时,优先利用附加存储单元150,并且在该附加存储单元150没有可用空间时,使所述缓存单元130和块存储单元110来进行数据的读写。作为示例,在接收到用于读取数据的命令时,所述映射控制单元在120首先确定要读取的数据是否在所述附加存储单元150中,如果要读取的数据在所述附加存储单元150中,则从该附加存储单元150中获取要读取的数据,以经由内存接口传送出去;如果要读取的数据不在所述附加存储单元150中,则确定要读取的数据是否在高速缓冲存储器130中,如果在高速缓冲存储器130,则从高速缓冲存储器中获取所述要读取的数据,以经由内存接口传送出去。如果要读取的数据不在高速缓冲存储器130中,则可确定该要读取的数据在块存储单元110,并从所述块存储单元110中获取所述要读取的数据,以经由内存接口传送出去。
在图2所示的内存装置中,通过混合地配置和使用不同类型的存储单元,包括所述附加存储单元150、和块存储单元110,能够在保证内存的性能的同时降低内存装置的成本、真实地向用户反映内存容量、并且不增加处理负载。
上面结合图1和图2描述的各个内存装置可使用在各种类型的电子设备中。相应地,包括上述任一个内存装置的电子设备也都处于本发明实施例的公开范围内。图3是示意性图示了根据本发明实施例的电子设备的框图。如图3所示,该电子设备包括处理单元和如上所述的任一个内存装置。利用该电子设备中的内存装置,同样能够降低内存装置的成本、真实地向用户反映内存容量、并且不增加处理单元的处理负载。
图4是示意性图示了根据本发明实施例的用于控制内存装置的方法400的流程图。所述内存装置可包括块存储单元、内存接口、与该块存储单元配合使用的缓存单元。所述块存储单元可包括多个存储块,各个存储块包括多个页面,该块存储单元以页面为单位来执行数据的读写,该内存接口用于将所述内存装置连接到处理单元。所述内存装置用于在电子设备的运行过程中暂时保存运行所需的程序、数据等。电子设备的具体类型不构成对本发明的限制。
所述块存储单元典型地为固态硬盘,还可以是具有这里描述的块存储单元的属性的任何其它存储介质。这里以固态硬盘为例进行描述。固态硬盘的价格远远低于内存。因此,利用例如固态硬盘的块存储单元作为内存装置的主存储单元能够大大地降低内存装置的价格。固态硬盘典型地由控制单元和存储介质组成,该存储介质例如为闪存或动态随机存取存储器。随着技术的发展,固态硬盘的性能也不断升级。例如现在研发出一种优化闪存,该优化闪存的读写速度大于单层单元闪存,并且其擦写次数大于单层单元闪存。因此,基于优化闪存制成的所述块存储单元在用于内存装置时具有更优的性能。
缓存单元用于缓存要读写的数据,从而以页面为单位执行所述块存储单元的数据读写。在现有的内存装置中,以字节为单位进行数据的读写;然而,在本发明的实施例中,以页面为单位来对块存储单元执行数据的读写,而每个页面通常包括多个字节。也就是说,块存储单元的数据读写粒度大于现有的处理单元的操作粒度。因此,利用该缓存单元来协助所述块存储单元实现数据的读写。所述缓存单元典型地是高速缓冲存储器,例如是动态随机存取存储器(DRAM)、可编程只读存器(PROM)等。此外,可利用动态随机存取存储器的一部分来形成所述缓存单元,并将该动态随机存取存储器的剩余部分作为所述内存装置的附加存储单元,以与所述块存储单元协作来进行数据读写。
所述内存接口是内存装置的对外连接接口,用于在内存装置和其外部的部件之间命令和数据。如前所述,尽管内存装置所接收的读写命令是以字节为单位进行读写,但是利用该缓存单元可以在以页面为单位的块存储单元中实现读写,现有的处理单元不需要任何改变,相应地可以利用现有的各种内存接口作为所述内存接口。通过该内存接口可以向用户真实地呈现该内存装置的容量。下面结合图4和图5的流程图来描述内存装置的操作。
如图4所示,所述用于控制内存装置的方法400可包括:在用于要读写的数据的内存地址与要读写的数据在内存单元中的储存地址之间建立映射关系(S410);经由所述内存接口从处理单元接收用于执行数据的读写的命令,该命令包括用于要读写的数据的内存地址(S420);基于所述映射关系确定要读写的数据的储存地址(S430);经由所述内存接口来执行所述要读写的数据在所述储存地址中的读写,其中,当所确定的储存地址为所述块存储单元的地址时,借助于所述缓存单元来执行所述要读写的数据在所述储存地址中的读写(S440)。
在S410中,在用于要读写的数据的内存地址与要读写的数据在内存单元中的储存地址之间建立映射关系。该用于要读写的数据的内存地址例如由与内存接口通信的处理单元所指明,其例如包括在从处理单元接收的用于执行数据的读写的命令中,该内存地址通常是按照更为通用的机制来设置的地址,其典型地为逻辑地址。然而,数据在内存装置中的储存地址是在内存装置中具体存储数据的位置的地址,其例如为要读写的数据在块存储单元或缓存单元中的物理地址。该储存地址不同于所述内存地址,并因此需要在二者之间建立映射关系,从而根据数据的读指令从内存装置中读取数据、并根据处理单元的写指令向内存装置写入数据。
因为内存装置的容量在逐渐增大,处理单元的处理复杂度也在逐渐上升,所以所建立和管理的所述映射关系也相对复杂。而且,在现有的诸如随机存取存储器的内存装置中,以字节为单位进行数据的读写,即处理单元的读写指令是以字节为单位;然而,在本发明的实施例中,以页面为单位来对块存储单元执行数据的读写,这也进一步增加了所述映射关系的维护难度。为了提高的操作效率,所述内存装置可包括静态随机存取存储器,用于保存所述映射关系。静态随机存取存储器具有非常块的读写速度,并且其内容可按需随意读取或写入,且读写的速度与存储单元的位置无关。因此,所述内存装置可利用所述静态随机存取存储器来协助管理在内存地址和储存地址之间的映射关系,从而提高操作效率。这里的静态随机存取存储器仅仅是示意性的,还可以采取动态随机存取存储器等的存储所述映射关系。
在S420中,经由所述内存接口从处理单元接收用于执行数据的读写的命令,该命令包括用于要读写的数据的内存地址。如前所述,根据需要可以利用现有的各种内存接口作为所述内存接口,即现有的与所述内存接口的处理单元不需要进行改变,从而具有良好的兼容性。经由内存接口从处理单元接收的所述用于要读写的数据的内存地址通常是按照更为通用的机制来设置的地址,其典型地为逻辑地址。该内存地址是处理单元所理解的内存地址。
在S430中,基于所述映射关系确定要读写的数据的储存地址。在根据处理单元的指令获知了要读写的数据的读写地址之后,基于所述映射关系来获知要读写的数据在内存装置中的储存地址,从而在所述储存地址中执行数据读写。该储存地址可以是要读写的数据在块存储单元中的地址、也可以是所述要读写的数据在缓存单元中的地址。
在S440中,经由所述内存接口来执行所述要读写的数据在所述储存地址中的读写,其中,当所确定的储存地址为所述块存储单元的地址时,借助于所述缓存单元来执行所述要读写的数据在所述储存地址中的读写。下面相互结合地描述S430和S440,以更加清晰地说明本发明。
如前所述,缓存单元用于暂时存储要在块存储单元读写的数据,与块存储单元协作来实现以页面为单位在块存储单元中的读写。具体地,在从处理单元收到以字节为单位的数据读取时,在S430中确定了要读取的数据的储存地址为块存储单元的地址,则在S440中将保存在块存储单元中的要读取的数据以页面为单位存放到所述缓存单元中,从以页面为单位缓存的数据中确定处理单元所需要的字节,并将所确定的字节读取出去。在从处理单元收到以字节为单位的数据写入时,在S430中根据映射关系确定与要写入的数据对应的储存地址例如是块存储单元的地址;则在S440中将所确定的储存地址中的内容以页面为单元读取到所述缓存单元中,将要写入的字节写入到缓存单元中的对应位置,然后以页面为单位将缓存单元中的数据写入到块存储单元中,该数据包括原来在页面存储的数据和后来写入的数据。此外,在S440中,如果在与要写入的数据对应的储存地址的各个页面中没有数据,也可以将要写入的数据直接写入到块存储单元中。可见,该缓存单元的最小容量是块存储单元的一个页面。
在使用中,如果缓存单元的容量大,则一次可以执行多个页面的读写,从而提高了内存的操作效率。在缓存单元的容量较大的情况中,部分数据在被写入到块存储单元的同时,可能也被保留在所述缓存单元。相应地,在读取数据时,在该S430中可以先确定要读取的数据是否在缓存单元中,如果在例如高速缓冲存储器的缓存单元,则在S440中从缓存单元中获取所述要读取的数据以传送出去;在S430中,如果要读取的数据不在缓存单元,则可以确定要读取的数据在所述块存储单元中,并确定要读取的数据在所述块存储单元中的储存地址,从而在S440中从块存储单元中获取所述要读取的数据以传送出去。这样,可以充分地利用缓存单元既有的数据存储能力,来提高内存装置的读写效率。
此外,可以在内存中增加附加存储单元。该附加存储单元可以利用现有的各种内存部件来形成,例如可以为SDRAM、DDR SDRAM等,该附加存储单元的类型不构成对本发明实施例的限制。该附加存储单元可以像现有的内存一样高速地进行数据的读写处理。增加该附加存储单元是为了进一步优化数据的读写操作。如前所述,利用块存储单元可以以低成本提供大容量的内存,但是利用块存储单元进行读写时通常要经由缓存单元进行处理,这在一定程度上降低了数据的读写速度,尽管该降低是有限的。在现有的电子设备的操作过程中,所需的内存装置的容量是一个动态变化的过程。因此,在所需的内存容量小时,利用内存装置中的该附加存储单元来进行数据的读写;当所需的内存容量变大时,利用内存装置中的该附加存储单元和块存储单元二者来进行数据的读写,从而在增加了内存装置的容量的同时也保证了内存装置的操作性能。
该附加存储单元可以是单独的内存器件,也可以与所述缓存单元共享内存器件。例如,所述缓存单元可以是利用动态随机存取存储器的一部分来形成的高速缓冲存储器,而将该动态随机存取存储器的剩余部分作为内存装置的所述附加存储单元,以与所述块存储单元协作来进行数据读写。下面结合图5来进行说明。图5是示意性图示了在根据本发明实施例的用于控制内存装置的方法中当接收到读命令时所执行的操作的流程图。
作为示例,在接收到用于读取数据的命令时,在S431中首先确定要读取的数据是否在所述附加存储单元中,如果要读取的数据在所述附加存储单元中(S431中的是),则在S441中从该附加存储单元中获取要读取的数据,以经由内存接口传送出去;如果要读取的数据不在所述附加存储单元中(S431中的否),则在S432中确定要读取的数据是否在高速缓冲存储器中,如果在高速缓冲存储器(S432中的是),则在S442中从高速缓冲存储器中获取所述要读取的数据,以经由内存接口传送出去;如果要读取的数据不在高速缓冲存储器中(S432中的否),则可确定该要读取的数据在块存储单元,并获取该要读取的数据在块存储单元中的储存地址(S443),从所获取的储存地址中读出所述要读取的数据,以利用缓存单元经由内存接口传送出去(S444)。这里,S431、S432是步骤S430中的各个子步骤,S441、S442、S443、S444是步骤S440中的各个子步骤。在图5所示的流程图中,通过混合地配置和使用不同类型的存储单元,包括所述附加存储单元、和块存储单元,能够在保证内存的性能的同时降低内存装置的成本。
在所述缓存单元的全部容量被用于缓存块存储单元的数据的情况下,该向用户呈现的容量是块存储单元的容量;在所述缓存单元的部分容量被用于缓存块存储单元的数据的情况下,该向用户呈现的容量是块存储单元的容量加上缓存单元中的除了所述用于缓存的部分容量之外的剩余容量。当然,在内存装置还包括附加存储单元的情况下,其内存容量还要加上所述附加存储单元的容量。
在本发明实施例的用于控制内存装置的方法的技术方案中,通过利用块存储单元来构成内存单元而能够降低内存装置的成本,通过经由内存接口与外部对接而能真实地向用户反映内存容量,并且通过在内部执行映射关系的维护而不增加处理负载。
所属领域的技术人员可以清楚地了解到,上述描述的方法实施例所应用于内存装置的结构,可以参考前述产品实施例中的对应说明和图示;上述描述的设备和单元的具体工作过程,可以参考方法实施例中的对应过程。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种内存装置,用于包括处理单元的电子设备,该处理单元连接到该内存装置,该内存装置包括:
块存储单元,包括多个存储块,各个存储块包括多个页面,该块存储单元以页面为单位来执行数据的读写;
映射控制单元,接收用于执行数据的读写的命令,并且对于要读写的数据的内存地址与其在内存装置中的储存地址之间建立映射关系,并基于该映射关系控制数据的读写;
缓存单元,根据映射控制单元的控制来缓存要读写的数据,从而以页面为单位执行所述块存储单元的数据读写;
内存接口,用于将所述映射控制单元和缓存单元连接到所述处理单元,以传输所述处理单元的命令和数据。
2.根据权利要求1的内存装置,其中,所述映射控制单元包括:静态随机存取存储器,用于保存所述映射关系,从而提高该映射控制单元的控制效率。
3.根据权利要求1的内存装置,其中,所述缓存单元是高速缓冲存储器。
4.根据权利要求3的内存装置,其中,所述映射控制单元在接收到用于读取数据的命令时,先确定要读取的数据是否在高速缓冲存储器中,如果在高速缓冲存储器,则从高速缓冲存储器中获取所述要读取的数据,以经由内存接口传送出去。
5.根据权利要求1的内存装置,其中,所述缓存单元是利用动态随机存取存储器的一部分来形成的高速缓冲存储器,该动态随机存取存储器的剩余部分被作为所述内存装置的附加存储单元,以与所述块存储单元协作来进行数据读写。
6.根据权利要求5的内存装置,其中,所述映射控制单元在接收到用于读取数据的命令时,先确定要读取的数据是否在所述附加存储单元中,如果要读取的数据在所述附加存储单元中,则从该附加存储单元中获取要读取的数据;如果要读取的数据不在所述附加存储单元中,则确定要读取的数据是否在高速缓冲存储器中,如果在高速缓冲存储器,则从高速缓冲存储器中获取所述要读取的数据,以经由内存接口传送出去。
7.根据权利要求1的内存装置,其中,所述块存储单元是基于优化闪存制成的,该优化闪存的读写速度大于单层单元闪存,并且其擦写次数大于单层单元闪存。
8.一种电子设备,包括:
处理单元;和
如权利要求1到7中任一项所述的内存装置。
9.一种用于控制内存装置的方法,所述内存装置包括块存储单元、内存接口、与该块存储单元配合使用的缓存单元,所述块存储单元包括多个存储块,各个存储块包括多个页面,该块存储单元以页面为单位来执行数据的读写,该内存接口用于将所述内存装置连接到处理单元,所述方法包括:
在用于要读写的数据的内存地址与要读写的数据在内存单元中的储存地址之间建立映射关系;
经由所述内存接口从处理单元接收用于执行数据的读写的命令,该命令包括用于要读写的数据的内存地址;
基于所述映射关系确定要读写的数据的储存地址;
经由所述内存接口来执行所述要读写的数据在所述储存地址中的读写,
其中,当所确定的储存地址为所述块存储单元的地址时,借助于所述缓存单元来执行所述要读写的数据在所述储存地址中的读写。
10.根据权利要求9的方法,其中,所述内存装置还包括:
静态随机存取存储器,用于存储所述内存地址与所述储存地址之间的映射关系,从而提高利用该映射关系进行操作的效率。
11.根据权利要求9的方法,其中,所述缓存单元是高速缓冲存储器。
12.根据权利要求11的方法,其中,在从所述处理单元接收到用于读取数据的读命令时,所述基于所述映射关系确定要读写的数据的储存地址的步骤包括:
先确定要读取的数据是否在高速缓冲存储器中;
如果要读取的数据不在所述高速缓冲存储器中,则确定要读取的数据在所述块存储单元中,并获取所述要读取的数据在所述块存储单元中的储存地址,
其中,所述经由所述内存接口来执行所述要读写的数据在所述储存地址中的读写的步骤包括:如果确定要读取的数据在所述高速缓冲存储器中,则从高速缓冲存储器中获取所述要读取的数据,并经由内存接口传送出去。
13.根据权利要求9的方法,其中,所述缓存单元是利用动态随机存取存储器的一部分来形成的高速缓冲存储器,该动态随机存取存储器的剩余部分被作为所述内存装置的附加存储单元,以与所述块存储单元协作来进行数据读写。
14.根据权利要求13的方法,其中,在从所述处理单元接收到用于读取数据的读命令时,所述基于所述映射关系确定要读写的数据的储存地址的步骤包括:
基于所述映射关系确定要读取的数据是否在所述附加存储单元中;
如果要读取的数据不在所述附加存储单元中,则确定要读取的数据是否在高速缓冲存储器中;
如果要读取的数据不在所述高速缓冲存储器中,则确定要读取的数据在所述块存储单元中,并获取所述要读取的数据在所述块存储单元中的储存地址,
其中,所述经由所述内存接口来执行所述要读写的数据在所述储存地址中的读写的步骤包括:如果确定要读取的数据在所述附加存储单元中,则从所述附加存储单元中获取所述要读取的数据,并经由内存接口传送出去;如果确定要读取的数据在所述高速缓冲存储器中,则从高速缓冲存储器中获取所述要读取的数据,并经由内存接口传送出去。
15.根据权利要求9的方法,其中,所述块存储单元是基于优化闪存制成的,该优化闪存的读写速度大于单层单元闪存,并且其擦写次数大于单层单元闪存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310410041.3A CN104424124B (zh) | 2013-09-10 | 2013-09-10 | 内存装置、电子设备和用于控制内存装置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310410041.3A CN104424124B (zh) | 2013-09-10 | 2013-09-10 | 内存装置、电子设备和用于控制内存装置的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104424124A true CN104424124A (zh) | 2015-03-18 |
CN104424124B CN104424124B (zh) | 2018-07-06 |
Family
ID=52973158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310410041.3A Active CN104424124B (zh) | 2013-09-10 | 2013-09-10 | 内存装置、电子设备和用于控制内存装置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104424124B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932991A (zh) * | 2015-06-15 | 2015-09-23 | 上海新储集成电路有限公司 | 一种利用最后一级混合缓存替代混合内存的方法 |
WO2020019173A1 (zh) * | 2018-07-24 | 2020-01-30 | 华为技术有限公司 | 一种用于对象存储的存储器控制电路 |
CN111949203A (zh) * | 2019-05-17 | 2020-11-17 | 北京兆易创新科技股份有限公司 | 一种存储器及其控制方法和控制装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552032A (zh) * | 2008-12-12 | 2009-10-07 | 深圳市晶凯电子技术有限公司 | 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置 |
CN103019955A (zh) * | 2011-09-28 | 2013-04-03 | 中国科学院上海微***与信息技术研究所 | 基于pcram主存应用的内存管理方法 |
CN103092534A (zh) * | 2013-02-04 | 2013-05-08 | 中国科学院微电子研究所 | 一种内存结构的调度方法和装置 |
CN103229155A (zh) * | 2010-09-24 | 2013-07-31 | 德克萨斯存储***股份有限公司 | 高速内存*** |
-
2013
- 2013-09-10 CN CN201310410041.3A patent/CN104424124B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552032A (zh) * | 2008-12-12 | 2009-10-07 | 深圳市晶凯电子技术有限公司 | 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置 |
CN103229155A (zh) * | 2010-09-24 | 2013-07-31 | 德克萨斯存储***股份有限公司 | 高速内存*** |
CN103019955A (zh) * | 2011-09-28 | 2013-04-03 | 中国科学院上海微***与信息技术研究所 | 基于pcram主存应用的内存管理方法 |
CN103092534A (zh) * | 2013-02-04 | 2013-05-08 | 中国科学院微电子研究所 | 一种内存结构的调度方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932991A (zh) * | 2015-06-15 | 2015-09-23 | 上海新储集成电路有限公司 | 一种利用最后一级混合缓存替代混合内存的方法 |
CN104932991B (zh) * | 2015-06-15 | 2018-08-28 | 上海新储集成电路有限公司 | 一种利用最后一级混合缓存替代混合内存的方法 |
WO2020019173A1 (zh) * | 2018-07-24 | 2020-01-30 | 华为技术有限公司 | 一种用于对象存储的存储器控制电路 |
CN111949203A (zh) * | 2019-05-17 | 2020-11-17 | 北京兆易创新科技股份有限公司 | 一种存储器及其控制方法和控制装置 |
CN111949203B (zh) * | 2019-05-17 | 2024-03-01 | 兆易创新科技集团股份有限公司 | 一种存储器及其控制方法和控制装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104424124B (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101086857B1 (ko) | 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법 | |
US8924659B2 (en) | Performance improvement in flash memory accesses | |
US9053019B2 (en) | Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
US10795599B2 (en) | Data migration method, host and solid state disk | |
KR102020466B1 (ko) | 버퍼 메모리 장치를 포함하는 데이터 저장 장치 | |
JP2014154155A (ja) | コマンド・プッシュ・モデルの使用によりデータ・ストレージ・システムにおける書込みレイテンシを低減させるための方法およびシステム | |
KR20100132244A (ko) | 메모리 시스템 및 메모리 시스템 관리 방법 | |
CN105159622A (zh) | 一种减小ssd读写io时延的方法与*** | |
CN108431783A (zh) | 访问请求处理方法、装置及计算机*** | |
US20180089088A1 (en) | Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
TW201643690A (zh) | 資料儲存系統及其特定指令執行方法 | |
CN107515827A (zh) | Pcie ssd自定义日志的存储方法、装置及ssd | |
CN113760185A (zh) | 内存块回收方法和装置 | |
CN110597742A (zh) | 用于具有持久***存储器的计算机***的改进存储模型 | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN115794669A (zh) | 一种扩展内存的方法、装置及相关设备 | |
US20130173855A1 (en) | Method of operating storage device including volatile memory and nonvolatile memory | |
CN108431784A (zh) | 访问请求处理方法、装置及计算机*** | |
CN104424124A (zh) | 内存装置、电子设备和用于控制内存装置的方法 | |
KR20200114086A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
CN108519860B (zh) | 一种ssd读命中的处理方法和装置 | |
JP2018106573A (ja) | ストレージ制御装置及び制御プログラム | |
KR20110116404A (ko) | 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |