CN103942009B - 扩展终端中存储器的设备和方法 - Google Patents
扩展终端中存储器的设备和方法 Download PDFInfo
- Publication number
- CN103942009B CN103942009B CN201410022640.2A CN201410022640A CN103942009B CN 103942009 B CN103942009 B CN 103942009B CN 201410022640 A CN201410022640 A CN 201410022640A CN 103942009 B CN103942009 B CN 103942009B
- Authority
- CN
- China
- Prior art keywords
- ram
- terminal
- external memory
- data
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提出了一种能够选择性地扩展终端中存储器的设备和方法。该设备包括:插座单元,具有内置随机存取存储器(RAM)的外部存储器插入到插座单元中;以及控制器,当具有内置RAM的外部存储器插入到插座单元中时,控制器执行控制操作,用于将终端的RAM中存储的数据移动到外部存储器的RAM中,并且确保终端的RAM的可用空间。
Description
技术领域
本公开涉及一种用于扩展终端中存储器的设备和方法。更具体地,本公开涉及一种能够选择性地扩展终端中存储器的设备和方法。
背景技术
终端中包括的易失性存储器如动态随机存取存储器(DRAM)的量受到限制。因此,当具有有限存储容量的DRAM中可用空间不足时,系统的操作速度可能变低,正在执行的应用程序可能终止,或者新的操作系统(OS)可能不能更新。
典型地,数据或代码存储在DRAM中。因此,当在请求记录新数据或新代码的情况下DRAM的可用空间不足时,检测具有最低使用频率的数据或代码。当检测到已经存储在终端的非易失性存储器中的代码时,通过删除检测的代码来确保DRAM的可用空间。
然而,当检测到数据时,将所述数据记录为具有最高优先级使用频率的数据,然后检测具有低使用频率的数据或代码。
当通过上述操作删除所有代码并且在DRAM中只存储有数据时,如果请求记录新数据或新代码,则DRAM不再能够存储新数据或代码。因此,发生正在执行的应用程序终止的问题。
此外,具有内置非易失性存储器(例如,“与非”(NAND)存储器)的外部存储装置可以插入到终端中。当将DRAM中存储的数据移动到外部存储装置的NAND存储器中时,移动数据的速度变低,并且终端的预期寿命变短。
因此,需要一种能够选择性地扩展终端中存储器的设备和方法。
以上信息作为背景信息给出,只是为了辅助理解本公开。对于上述任意内容是否可用作相对于本公开的现有技术,没有任何判定也没有任何断言。
发明内容
本公开的方面旨在至少解决上述问题和/或缺点,并且至少提供下述优点。因此,本公开的一个方面旨在提供一种能够选择性地扩展终端中存储器的设备和方法。
本公开的另一方面旨在提供一种设备和方法,通过所述设备和方法,在终端中Linux交换(swap)技术可以用于将具有内置随机存取存储器(RAM)的外部存储器扩展为系统存储器,从而可以使用扩展为系统存储器的具有内置RAM的外部存储器。
根据本公开的一个方面,提出了一种扩展终端中存储器的设备。该设备包括:插座单元,具有内置RAM的外部存储器插入到插座单元中;以及控制器,当具有内置RAM的外部存储器插入到插座单元中时,控制器执行控制操作,用于将终端的RAM中存储的数据移动到外部存储器的RAM中,并且确保终端的RAM的可用空间。
根据本公开的另一个方面,提出了一种扩展终端中存储器的方法。该方法包括:确定插入到终端的插座单元中的外部存储器的类型;以及当插入到终端的插座单元中的外部存储器对应于具有内置RAM的外部存储器时,通过将终端的RAM中存储的数据移动到外部存储器的RAM中来确保终端的RAM的可用空间。
根据结合附图公开了本公开各种实施例的以下详细描述,本领域普通技术人员将清楚本公开的其他方面、优点和显著特征。
附图说明
根据结合附图的以下描述,本公开的一些实施例的以上和其他方面、特征和优点将变得更加清楚明白,其中:
图1是示出了根据本公开实施例的终端的配置的方框图;
图2A和2B是分别示出了根据本公开实施例的具有内置随机存取存储器(RAM)的外部存储器的视图;
图3是示出了根据本公开实施例的用于在终端中扩展并使用存储器的方法的流程图;
图4A和图4B是示出了根据本公开实施例的处理的流程图,该处理用于将终端的RAM中存储的数据从终端的RAM转出到与终端相连的外部存储器的RAM;
图5是示出了根据本公开的列表的图,该列表根据数据的使用频率列举了终端的RAM中存储的数据;以及
图6是示出了根据本公开实施例的处理的流程图,该处理用于将与终端相连的外部存储器的RAM中存储的数据从外部存储器的RAM转入到终端中的RAM。
贯穿附图,应该注意的是相似的附图标记用于描述相同或类似的元件、特征和结构。
具体实施方式
参考附图提供以下描述来帮助全面理解由权利要求及其等同物限定的本公开的各种实施例。以下描述包括多种具体细节以帮助理解,但是应将这些细节看作仅是示例性的。因此,本领域普通技术人员将认识到,可以在不背离本公开精神和范围的情况下对本文所描述的各种实施例进行多种改变和修改。此外,为了清楚和简明的目的,可以省略对公知功能和结构的描述。
以下描述和权利要求中使用的术语和词语并不限于字面意思,而是仅由发明人用来实现对本公开的清楚和一致理解。因此,本领域技术人员应清楚,以下对本公开各种实施例的描述仅为了说明的目的,而不是为了限制由所附权利要求及其等同物限定的本公开。
应该理解,除非上下文清楚地指示,否则单数形式的“一”、“一个”和“该”包括复数形式。因此,例如,提及“一部件表面”包括提及一个或多个这种表面。
尽管在此可以使用包括诸如第一和第二等序数在内的术语来描述各种元件,这些元件不应该受限于这些术语。这些术语只是用于将一个元件与另一个元件相区分。例如,在不脱离本公开权利范围的情况下,第一元件可以称作第二元件,并且类似地第二元件可以称作第一元件。这里使用的术语是为了描述本公开的具体实施例的目的,而不是限制本公开的范围。这里所使用的术语“和/或”包括相关列举项目中的一项或多项的任意及全部组合。
根据本公开实施例的终端的示例包括便携终端和固定终端。在本公开的该实施例中,便携终端是易于携带并且易于移动的电子装置。便携终端的示例可以包括视频电话、移动电话、智能电话、宽带码分多址(WCDMA)终端、通用移动电信服务(UMTS)终端、个人数字助手(PDA)、便携多媒体播放器(PMP)、数字多媒体广播(DMB)终端、电子书(E-book)、膝上型计算机、平板个人计算机(TPC)、数码相机、全球定位系统(GPS)导航、便携游戏机等。固定终端的示例可以包括台式计算机、个人计算机(PC)、光盘播放器、机顶盒、高清电视(HDTV)、家用电器等。
图1是示出了根据本公开实施例的终端的配置的方框图。图2A和2B是分别示出了根据本公开实施例的具有内置随机存取存储器(RAM)的外部存储器的视图。
参考图1,其中扩展了存储器并使用扩展存储器的终端包括控制器110、插座(socket)单元120和动态随机存取存储器(DRAM)130。
控制器110控制终端的整体操作。根据本公开的各种实施例,控制器110不但用作中央处理单元(CPU),而且还用作图形处理单元(GPU),并且根据设计执行与能够用作通信芯片并且甚至执行附加功能(例如,音频功能、通用串行总线(USB)功能等)的应用处理器(AP)相同的功能。
根据本公开的各种实施例,当具有内置RAM的外部存储器插入到插座单元120中时,控制器110执行控制操作,用于将终端的DRAM130中存储的数据移动到外部存储器的RAM(例如,传送数据或者以其他方式通信数据),从而确保了终端的DRAM130的可用空间。
根据本公开的各种实施例,当具有内置RAM的外部存储器插入到插座单元120中时,控制器110包括通用闪存(UFS)接口112b,能够在外部存储器的RAM和终端的DRAM130之间高速移动数据。
根据本公开的各种实施例,控制器110执行控制操作,用于通过交换(swap)技术在终端的DRAM130和外部存储器的RAM之间以页面为单位转入/转出数据。
根据本公开的各种实施例,当在终端中执行系统引导操作时,控制器110从具有内置RAM的外部存储器(插入到(例如,或者以其他方式可操作地连接到)插座单元120中)接收特定信息,并且基于接收的特定信息来确定外部存储器的类型。当控制器110确定外部存储器具有内置RAM时,控制器110执行控制操作,用于将外部存储器的RAM登记为块设备(blockdevice),并且然后通过交换技术在终端的DRAM130和外部存储器的RAM之间转入/转出数据。
根据本公开的各种实施例,当在请求记录新数据或新代码的情况下终端的DRAM130中可用空间不足时,控制器110执行控制操作,用于将终端的DRAM130中存储的数据中具有最低使用频率的数据从终端的DRAM130转出至外部存储器的RAM,从而在终端的DRAM130的可用空间内记录新数据或代码。在控制器110执行用于将终端的DRAM130中存储的数据从终端的DRAM130转出至外部存储器的RAM的控制操作之后,控制器110执行控制操作,用于改变转出至外部存储器的RAM的数据的存储位置信息,并且将改变的存储位置信息记录在页面管理表中。随后,控制器110执行控制操作,用于将终端的DRAM130中新存储的数据记录为具有最高使用频率的数据。
根据本公开的各种实施例,当请求读取外部存储器的RAM中存储的数据时,控制器110执行控制操作,用于将外部存储器的RAM中存储的数据从外部存储器的RAM转入至终端的DRAM130,然后读取该数据。在控制器110执行用于将外部存储器的RAM中存储的数据从外部存储器的RAM转入至终端的DRAM130的控制操作之后,控制器110执行控制操作,用于改变转入至终端的DRAM130的数据的存储位置信息,并且将改变的存储位置信息记录在页面管理表中。随后,控制器110执行控制操作,用于将已经从外部存储器的RAM转入至终端的DRAM130中的数据记录为具有最高使用频率的数据。
根据本公开的各种实施例,如上所述的控制器110包括核心子系统111、高速存储控制单元112和DRAM控制单元113。
当具有内置非易失性存储器(例如“与非”(NAND)存储器)的外部存储器插入到插座单元120中时,高速存储控制单元112包括安全数字(SD)接口112a,用于向/从插入到插座单元120中的具有内置NAND存储器的外部存储器发送/接收特定信息和数据。
当将具有内置RAM(易失性存储器)的外部存储器插入到插座单元120中时,高速存储控制单元112包括UFS接口112b作为高速接口,用于向/从插入到插座单元120中的具有内置RAM的外部存储器发送/接收特定信息和数据。
当在终端中执行系统引导操作时,如果高速存储控制单元112从核心子系统111接收到用于检测是否将外部存储器插入到插座单元120中的询问命令,则高速存储控制单元112通过UFS接口112b将询问命令发送至插入到插座单元120中的具有内置RAM的外部存储器。
当高速存储控制单元112通过UFS接口112b从外部存储器接收到对于询问命令的响应信号时,高速存储控制单元112将响应信号发送至核心子系统111。
当高速存储控制单元112通过UFS接口112b从外部存储器接收到对外部存储器的类型加以表示的特定信息时,高速存储控制单元112将关于外部存储器的特定信息发送至核心子系统111。外部存储器的类型包括具有内置RAM的外部存储器、具有内置NAND存储器的外部存储器以及具有内置RAM和内置NAND存储器的外部存储器。
随后,在核心子系统111的控制下,高速存储控制单元112通过UFS接口112b将从DRAM控制单元113接收的数据发送至外部存储器的RAM。
此外,在核心子系统111的控制下,高速存储控制单元112通过UFS接口112b将从外部存储器的RAM接收的数据发送至DRAM控制单元113。
在核心子系统111的控制下,DRAM控制单元113将DRAM130中存储的数据发送至高速存储控制单元112,并且将从高速存储控制单元112接收的数据存储在DRAM130中。
当在终端中执行系统引导操作时,核心子系统111通过高速存储控制单元112的UFS接口112b向插座单元120发送用于检测是否将外部存储器插入到插座单元120中的询问命令。
当核心子系统111通过高速存储控制单元112的UFS接口112b接收到对于询问命令的响应信号时,核心子系统111确定外部存储器插入到(例如,或者以其他方式可操作地连接到)插座单元120中。相反,当核心子系统111没有通过高速存储控制单元112的UFS接口112b接收到对于询问命令的响应信号,或者当核心子系统111接收到不正确的数据时,核心子系统111确定没有将外部存储器插入到(例如,或者以其他方式可操作地连接到)插座单元120中或者发生了错误。
当核心子系统111通过高速存储控制单元112的UFS接口112b从外部存储器接收到对外部存储器的类型加以表示的特定信息时,核心子系统111基于该特定信息来确定插入到插座单元120中的外部存储器的类型。从外部存储器接收的特定信息包括对Linux的管理单元(块设备或字符设备)加以表示的外围设备类型信息、对设备是可连接/可拆卸加以表示的可拆卸介质比特(RMB)信息以及对外部存储器的类型(例如,具有内置RAM的外部存储器、具有内置NAND存储器的外部存储器以及具有内置RAM和内置NAND存储器的外部存储器)加以表示的产品识别/供应商专用信息。
当请求在DRAM130中存储新数据或新代码的情况下DRAM130中可用空间不足时,核心子系统111执行控制操作,用于通过高速存储控制单元112的UFS接口112b将DRAM130中存储的数据中具有最低使用频率的数据以页面为单位从DRAM130转出至外部存储器的RAM。随后,核心子系统111执行控制操作,用于将新数据或代码存储在通过转出数据所确保的DRAM130的可用空间中。在本示例中,核心子系统111执行控制操作,用于改变转出至外部存储器的RAM的数据的存储位置信息,并且将改变的存储位置信息记录在页面管理表中,所述页面管理表对多种信息和DRAM130中存储的数据或代码的存储位置信息进行管理。随后,核心子系统111执行控制操作,用于将新存储在终端的DRAM130中的数据记录为具有最高使用频率的数据。
当请求读取外部存储器的RAM中存储的数据时,核心子系统111执行控制操作,用于通过高速存储控制单元112的UFS接口112将外部存储器的RAM中存储的数据以页面为单位从外部存储器的RAM转入至终端的DRAM130中,然后读取该数据。在本示例中,核心子系统111执行控制操作,用于改变转入至DRAM130中的数据的存储位置信息,并且将改变的存储位置信息记录在页面管理表中。随后,核心子系统111执行控制操作,用于将已经从外部存储器的RAM转入至终端的DRAM130中的数据记录为具有最高使用频率的数据。
插座单元120包括预定位置处的第一端子121,用于连接包括NAND存储器的外部存储器。第一端子121连接到高速存储控制单元112的SD接口112a。
插座单元120也可以在与第一端子121的位置不同的位置处包括第二端子122,用于连接包括RAM的外部存储器。第二端子122连接到高速存储控制单元112的UFS接口112b。
图2A和2B示出了根据本公开实施例的各自均可以插入到终端的插座单元120中、具有内置RAM的外部存储器。
参考图2A,示出了具有内置RAM的外部存储器。根据本公开的各种实施例,当将具有内置RAM的外部存储器200插入到终端的插座单元120中时,外部存储器200包括在能够与插座单元120的第二端子122接触的位置处的预定端子210。
参考图2B,示出了具有内置RAM和内置NAND存储器的外部存储器。根据本公开的各种实施例,当将具有内置RAM和内置NAND存储器的外部存储器250插入到终端的插座单元120中时,外部存储器250包括在能够与插座单元120的第二端子122接触(例如,配置为接触)的位置处的预定端子252,以便使用RAM。为了与RAM同时使用NAND存储器,外部存储器250包括在能够与插座单元120的第一端子121接触(例如,配置为接触)的位置处的预定端子251。
下面将参考图3至图6详细地描述如上所述进行配置的终端用于扩展存储器并且使用扩展的存储器的操作。在本公开的以下各种实施例中,描述了这样的示例,其中将具有内置RAM的外部存储器插入到终端的插座单元中。然而,即使当将具有内置RAM和内置NAND存储器的外部存储器插入到终端的插座单元中时,也可以执行与该示例类似的操作。
图3是示出了根据本公开实施例的在终端中扩展和使用存储器的方法的流程图。
下文中,将参考图1描述本公开的各种实施例。
参考图3,在操作301,控制器110确定是否在终端中执行系统引导操作。例如,当在终端中执行系统引导操作时,控制器110检测到在终端中执行系统引导操作。
如果在操作301控制器110确定在终端中没有执行系统引导操作,则控制器110继续执行终端的相关功能。
相反,如果在操作301控制器110确定在终端中执行系统引导操作,则控制器110进行至操作302,其中控制器110确定是否将外部存储器插入到终端中(例如,或者以其他方式可操作地连接到终端)。例如,控制器110通过UFS接口112b向插座单元120发送询问命令。当控制器110通过UFS接口112b从插座单元120接收到对于询问命令的响应信号时,控制器110检测到将外部存储器插入到插座单元120中。
如果在操作302控制器确定没有将外部存储器插入到终端中,则控制器110继续执行终端的相关功能。
相反,如果在操作302控制器110确定将外部存储器插入到终端中,则控制器110进行至操作303,其中控制器110从外部存储器接收信息。当控制器110通过UFS接口112b从外部存储器接收对外部存储器的类型加以表示的特定信息时,控制器110基于从外部存储器接收的特定信息来确定插入到插座单元120中的外部存储器的类型。
在操作304,控制器110确定外部存储器是否具有内置RAM。
如果在操作304控制器110确定外部存储器不具有内置RAM,则控制器110继续执行终端的相关功能。
相反,如果在操作304控制器110确定外部存储器具有内置RAM,则控制器110进行至操作305,其中控制器110将外部装置的RAM登记为块设备。例如,当控制器110确定插入到插座单元120中的外部存储器的类型是具有内置RAM的外部存储器200时,控制器110检测到插入到插座单元120中的外部存储器的类型是具有内置RAM的外部存储器200,并且进行至操作305,其中控制器110将外部存储器200的RAM登记为块设备。
典型地,将Linux的管理单元分类为以扇区为单位访问的块设备以及以比特为单位访问的字符设备。因为将存储器作为块设备进行管理,所以将存储器登记为块设备。根据本公开的各种实施例,只有当将存储器登记为块设备时,才可以对存储器进行交换。
在操作306,控制器110通过使用能够在两个RAM之间移动数据的交换,在外部存储器的RAM和终端的DRAM130之间转入/转出数据,从而将外部存储器的RAM扩展为系统存储器,并且使得扩展为系统存储器的外部存储器的RAM用作系统存储器。
下面将参考图4A至图6详细描述操作306的操作示例,该操作用于将外部存储器的RAM扩展为系统存储器,并且使扩展为系统存储器的外部存储器的RAM用作系统存储器。
图4A和图4B是示出了根据本公开实施例的处理的流程图,该处理用于将终端的RAM中存储的数据从终端的RAM转出至与终端相连的外部存储器的RAM。图5是示出了根据本公开实施例的列表的图,该列表根据数据的使用频率列举了终端的RAM中存储的数据。
参考图5,示出了活动列表和非活动列表,作为根据数据的使用频率对终端的RAM中存储的数据进行列举的列表。
下文中将参考图4A、4B和图5并且参考图1和图2描述本公开的实施例。
参考图4A和图4B,在操作401,控制器110确定请求记录新数据。
如果在操作401控制器110确定请求记录新数据,则控制器110进行至操作402,其中控制器110确定终端的DRAM130的可用存储器容量是否足以记录新数据。例如,当请求在DRAM130中记录新数据时,控制器110检测到请求在DRAM130中记录新数据,随后识别DRAM的存储器容量。
如果在操作402控制器110确定DRAM130的可用存储器容量足以记录新数据,则控制器110进行至操作403,其中控制器110将新代码或新数据存储在DRAM130中。例如,当在DRAM130中存在能够记录新数据的可用空间时,控制器110检测到在DRAM130中存在能够记录新数据的可用空间,并且进行至操作403。
相反,如果在操作402控制器110确定DRAM130的可用存储器容量不足以记录新数据,则控制器110进行至操作404,其中控制器110识别被记录为在活动列表中具有最低优先级的代码或数据的使用频率。例如,当DRAM130中能够记录新数据的可用空间不足时,控制器110检测到DRAM130中能够记录新数据的可用空间不足,并且进行至操作404。作为示例,在操作404,控制器110首先将被记录为在活动列表中具有最低优先级的数据或代码an的使用频率与第一参考值进行比较。
如果在操作405控制器110确定被记录为在活动列表中具有最低优先级的数据或代码an的使用频率小于第一参考值,则控制器110进行至图4B的操作B。例如,当在操作405被记录为在活动列表中具有最低优先级的数据或代码an的使用频率大于第一参考值时,控制器110检测到被记录为在活动列表中具有最低优先级的数据或代码an的使用频率大于第一参考值,并且进行至与操作409相对应的图4B的操作B。
在操作409,控制器110将被记录为在活动列表中具有最低优先级的数据或代码an记录为在活动列表中具有最高优先级的数据或代码a1。随后,控制器110进行至与操作404相对应的图4A的操作C。
相反,如果在操作405控制器110确定被记录为在活动列表中具有最低优先级的数据或代码an的使用频率大于或等于第一参考值,则控制器110进行至操作406,其中控制器110将数据或代码b1记录为在非活动列表中具有最高优先级的数据。例如,当被记录为在活动列表中具有最低优先级的数据或代码an的使用频率大于或等于第一参考值时,控制器110检测到被记录为在活动列表中具有最低优先级的数据或代码an的使用频率大于或等于第一参考值,并且进行至操作406。作为示例,在操作406,将被记录为在活动列表中具有最低优先级的数据或代码an记录为在非活动列表中具有最高优先级的数据或代码b1。随后,控制器110进行至操作407。
在操作407,控制器110识别被记录为在非活动列表中具有最低优先级的代码或数据的使用频率。随后,控制器110进行至与操作408相对应的图4B的操作A。
在操作408,控制器将被记录为在非活动列表中具有最低优先级的数据或代码bn的使用频率与第二参考值进行比较。
如果在操作408控制器110确定被记录为在非活动列表中具有最低优先级的数据或代码bn的使用频率大于第二参考值,则控制器110进行至操作409,其中控制器110将数据或代码记录为在活动列表中具有最高优先级的数据或代码a1。例如,当被记录为在非活动列表中具有最低优先级的数据或代码bn的使用频率大于第二参考值时,控制器110检测到被记录为在非活动列表中具有最低优先级的数据或代码bn的使用频率大于第二参考值,并且进行至操作409。例如,在操作409,控制器110将被记录为在非活动列表中具有最低优先级的数据或代码bn记录为在活动列表中具有最高优先级的数据a1。
相反,如果在操作408控制器110确定被记录为在非活动列表中具有最低优先级的数据或代码bn的使用频率小于或等于第二参考值,则控制器110进行至操作410,其中控制器110确定被记录为在非活动列表中具有最低优先级的数据或代码bn是否对应于代码。例如,当被记录为在非活动列表中具有最低优先级的数据或代码bn的使用频率小于或等于第二参考值时,在操作408控制器110检测到被记录为在非活动列表中具有最低优先级的数据或代码bn的使用频率小于或等于第二参考值,并且删除或转出被记录为在非活动列表中具有最低优先级的数据或代码bn。
如果在操作410控制器110确定被记录为在非活动列表中具有最低优先级的数据或代码bn对应于代码,则控制器110进行至操作411,其中控制器110删除该代码。例如,代码被记录为在非活动列表中具有最低优先级,控制器110检测到该代码被记录为在非活动列表中具有最低优先级,并且在操作411删除该代码。随后,控制器110进行至操作412。
在操作412,控制器110将新数据或新代码存储在通过删除代码而确保的DRAM的可用空间内。此时,控制器110执行控制操作,用于将DRAM130中新存储的数据记录为在活动列表中具有最高优先级的数据。
相反,如果在操作410控制器110确定被记录为在非活动列表中具有最低优先级的数据或代码bn不对应于代码,则控制器110进行至操作413,其中控制器110确定被记录为在非活动列表中具有最低优先级的数据或代码bn是否对应于数据。
如果在操作413控制器110确定被记录为在非活动列表中具有最低优先级的数据或代码bn不对应于数据,则控制器110进行至操作410。
相反,如果在操作413控制器110确定被记录为在非活动列表中具有最低优先级的数据或代码bn对应于数据,则控制器110进行至操作414,其中控制器110将该数据转出至外部存储器的RAM。例如,当数据被记录为在非活动列表中具有最低优先级时,控制器110检测到该数据被记录为在非活动列表中具有最低优先级,并且进行至操作414。在操作414,控制器110以页面为单位将数据从终端的DRAM130转出至外部存储器200的RAM。随后,控制器110进行至操作412,其中控制器110将新数据或新代码存储在通过转出数据而确保的DRAM的可用空间内。
在控制器110将DRAM130中存储的数据从DRAM130转出至外部存储器200的RAM之后,控制器110将数据的存储位置信息改变为外部存储器的RAM的预定地址值,并且将外部存储器的RAM的预定地址值在页面管理表中记录为数据的改变后的存储位置信息。
相反,如果在操作401控制器110确定没有请求记录新数据,则控制器110进行至操作415,其中控制器110确定是否请求记录新代码。
如果在操作415控制器110确定没有请求记录新代码,则控制器110继续执行终端的相应功能。
相反,如果在操作415控制器110确定请求记录新代码,则控制器110进行至操作416,其中控制器110确定终端的DRAM130的可用存储器容量是否足以记录新代码。例如,当请求在DRAM130中记录新代码时,控制器110检测到请求在DRAM130中记录新代码,并且识别DRAM的存储器容量。
如果在操作416控制器110确定终端的DRAM130的可用存储器容量足以记录新代码,则控制器110继续操作403,其中控制器将代码存储在终端的DRAM130中。例如,当DRAM130中存在能够记录新代码的可用空间时,控制器110检测到DRAM130中存在能够记录新代码的可用空间,并且进行至操作403。作为示例,在操作403,控制器110将新代码记录在DRAM130中。
相反,如果在操作416控制器110确定终端的DRAM130的可用存储器空间不足以记录新代码,则控制器110进行至操作407,其中控制器110识别被记录为在非活动列表中具有最低优先级的代码或数据的使用频率。例如,当DRAM130中能够记录新代码的可用空间不足时,控制器110检测到DRAM130中能够记录新代码的可用空间不足,并且进行至操作407。在操作408,控制器110将被记录为在非活动列表中具有最低优先级的数据或代码的使用频率与第二参考值进行比较。然后,控制器110继续并且执行操作409至414。
根据相关技术,只有当代码被记录为在非活动列表中具有最低优先级时,删除该代码。当数据被记录为在非活动列表中具有最低优先级时,将该数据记录为在活动列表中具有最高优先级。因此,当删除了所有代码并且只有数据存储在DRAM中时,不再确保能够记录新数据或代码的可用空间。
然而根据本公开的各个实施例,可以按照以下方式来确保能够在终端的DRAM130中记录新数据或代码的可用空间:删除被记录为在非活动列表中具有最低优先级的代码,并且将被记录为在非活动列表中具有最低优先级的数据从终端的DRAM130转出至外部存储器的RAM,如以上参考图4A和图4B所述。此外,外部存储器的RAM不是与直接存储器存取(DMA)控制器物理相连,而是与高速存储控制单元112相连,从而可以用作扩展虚拟系统存储器。
图6是示出了根据本公开实施例的处理的流程图,该处理用于将与终端相连的外部存储器的RAM中存储的数据从外部存储器的RAM转入至终端中的RAM。
下文中,将参考图6并且参考图1描述本公开的实施例。
参考图6,在操作601,控制器110确定是否请求读取外部存储器200的RAM中存储的数据。
如果在操作601控制器110确定没有请求读取外部存储器200的RAM中存储的数据,则控制器110继续执行终端的相应功能。
相反,如果在操作601控制器110确定请求读取外部存储器200的RAM中存储的数据,则控制器110进行至操作602,其中控制器110将外部存储器200的RAM中存储的数据转入至终端的DRAM130。例如,当请求数据时,如果页面管理表表示所请求的数据的存储位置信息对应于插入到插座单元120中的外部存储器200的RAM,则控制器110检测到请求读取外部存储器200的RAM中存储的数据,并且进行至操作602。例如,在操作602,控制器110将外部存储器200的RAM中存储的数据从外部存储器200的RAM转入至终端的DRAM130的空闲区域。
在操作602控制器110转入数据之后,控制器110将数据的存储位置信息改变为数据所存储到的DRAM130中的空闲区域的地址值,并且将该空闲区域的地址值在页面管理表中记录为数据的改变后的存储位置信息。
此外,控制器110将已经从外部存储器200的RAM转入至DRAM130的数据记录为在活动列表中具有最高使用频率的数据。
在操作603,控制器110读取已经从外部存储器200的RAM转入至DRAM130的数据。
根据本公开实施例的用于扩展终端中存储器的设备和方法可以实现为非瞬时计算机可读记录介质中的计算机可读代码。非瞬时计算机可读记录介质包括可以由计算机系统读取并且其上存储有数据的所有类型的记录装置。记录介质的示例包括只读存储器(ROM)、RAM、光盘、磁带、软盘、硬盘、非易失性存储器等。此外,非瞬时计算机可读记录介质分布在与网络相连的计算机系统中,使得计算机可读代码可以存储在分布式存储介质中,并且可以按照分布式方案执行。
根据本公开各种实施例的扩展终端中存储器的设备和方法可以将外部存储器的RAM选择性地扩展为系统存储器,从而可以使用扩展为系统存储器的外部存储器的RAM。此外,在外部存储器具有内置非易失性存储器的情况下,数据移动的速度较高,并且终端的预期寿命较长。
尽管已经参考本公开的各种实施例示出和描述了本公开,但是本领域普通技术人员应该理解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以进行形式和细节上的各种改变。
Claims (16)
1.一种终端,包括:
插座单元,具有内置随机存取存储器RAM的外部存储器插入到所述插座单元中;以及
控制器,被配置为:
当具有内置RAM的外部存储器插入到插座单元中时,将终端的RAM中存储的数据移动到外部存储器的内置RAM中,以确保终端的RAM的可用空间,
其中当在终端中执行系统引导操作时,所述控制器执行控制操作,用于从插入到插座单元中的外部存储器接收特定信息,所述特定信息配置为识别插座单元中包括的具有内置RAM的外部存储器;以及
所述控制器基于接收的特定信息,确定插入到插座单元中的外部存储器是否对应于具有内置RAM的外部存储器。
2.根据权利要求1所述的终端,其中所述控制器包括通用闪存UFS接口,所述UFS接口配置为当具有内置RAM的外部存储器插入到插座单元中时,在外部存储器的RAM和终端的RAM之间高速移动数据。
3.根据权利要求1所述的终端,其中所述控制器执行控制操作,用于通过使用交换来在终端的RAM和外部存储器的RAM之间以页面为单位转入/转出数据。
4.根据权利要求1所述的终端,其中当所述控制器基于接收的特定信息确定外部存储器具有内置RAM时,所述控制器执行控制操作,用于将外部存储器的RAM登记为块设备,并且通过使用交换来在终端的RAM和外部存储器的RAM之间转入/转出数据。
5.根据权利要求1所述的终端,其中当请求记录新数据或新代码时,在终端的RAM中的可用空间不足时,所述控制器执行用于将终端的RAM中存储的数据中具有最低使用频率的数据从终端的RAM转出至外部存储器的RAM的控制操作,并且执行用于在通过将具有最低使用频率的数据转出至外部存储器的RAM而确保的终端的RAM的可用空间内记录新数据或代码的控制操作,
其中所述控制器执行将终端的RAM中新存储的数据或代码记录为具有最高使用频率的数据或代码的控制操作。
6.根据权利要求5所述的终端,其中在所述控制器执行将终端的RAM中存储的数据转出至外部存储器的RAM的控制操作之后,所述控制器执行用于改变转出至外部存储器的RAM的数据的存储位置信息的控制操作,并且执行用于将改变的存储位置信息记录在页面管理表中的控制操作。
7.根据权利要求1所述的终端,其中当请求读取外部存储器的RAM中存储的数据时,所述控制器执行用于将外部存储器的RAM中存储的数据从外部存储器的RAM转入至终端的RAM的控制操作,并执行用于读取转入到终端的RAM中的数据的控制操作,
其中所述控制器执行用于将已经从外部存储器的RAM转入至终端的RAM的数据记录为具有最高使用频率的数据的控制操作。
8.根据权利要求7所述的终端,其中在执行将外部存储器的RAM中存储的数据从外部存储器的RAM转入至终端的RAM的控制操作之后,所述控制器执行用于改变转入至终端的RAM的数据的存储位置信息、并且将改变的存储位置信息记录在页面管理表中的控制操作。
9.一种扩展终端中存储器的方法,所述方法包括:
确定插入到终端的插座单元中的外部存储器的类型;以及
当插入到终端的插座单元中的外部存储器对应于具有内置随机存取存储器RAM的外部存储器时,通过将终端的RAM中存储的数据移动到外部存储器的RAM中来确保终端的RAM的可用空间,
其中确定外部存储器的类型包括:
当在终端中执行系统引导操作时,通过端子从外部存储器接收特定信息,所述特定信息配置为识别插座单元中包括的具有内置RAM的外部存储器;以及
基于从外部存储器接收的特定信息,确定插入到插座单元中的外部存储器是否对应于具有内置RAM的外部存储器。
10.根据权利要求9所述的方法,其中当具有内置RAM的外部存储器插入到插座单元中时,通过通用闪存UFS接口在外部存储器的RAM和终端的RAM之间高速移动数据。
11.根据权利要求9所述的方法,其中通过使用交换来在终端的RAM和外部存储器的RAM之间以页面为单位转入/转出数据。
12.根据权利要求9所述的方法,其中确保可用空间包括:当确定外部存储器具有内置RAM时,将外部存储器的RAM登记为块设备,并且通过使用交换来在终端的RAM和外部存储器的RAM之间转入/转出数据。
13.根据权利要求9所述的方法,其中确保可用空间包括:
当请求记录新数据或新代码时,在终端的RAM中的可用空间不足时,将终端的RAM中存储的数据中具有最低使用频率的数据从终端的RAM转出至外部存储器的RAM;
在通过将具有最低使用频率的数据转出至外部存储器的RAM而确保的终端的RAM的可用空间内记录新数据或代码;以及
将终端的RAM中新存储的数据或代码记录为具有最高使用频率的数据或代码。
14.根据权利要求13所述的方法,还包括:
在将终端的RAM中存储的数据从终端的RAM转出至外部存储器的RAM之后,改变转出至外部存储器的RAM的数据的存储位置信息,并且将改变的存储位置信息记录在页面管理表中。
15.根据权利要求9所述的方法,还包括:
当请求读取外部存储器的RAM中存储的数据时,将外部存储器的RAM中存储的数据从外部存储器的RAM转入至终端的RAM;
读取转入到终端的RAM中的数据;以及
将已经从外部存储器的RAM转入至终端的RAM的数据记录为具有最高使用频率的数据。
16.根据权利要求15所述的方法,还包括:
在将外部存储器的RAM中存储的数据从外部存储器的RAM转入至终端的RAM之后,改变转入至终端的RAM的数据的存储位置信息,并且将改变的存储位置信息记录在页面管理表中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130005981A KR20140093505A (ko) | 2013-01-18 | 2013-01-18 | 단말기의 메모리 확장 장치 및 방법 |
KR10-2013-0005981 | 2013-01-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942009A CN103942009A (zh) | 2014-07-23 |
CN103942009B true CN103942009B (zh) | 2018-07-13 |
Family
ID=49958304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410022640.2A Expired - Fee Related CN103942009B (zh) | 2013-01-18 | 2014-01-17 | 扩展终端中存储器的设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140208006A1 (zh) |
EP (1) | EP2757483B1 (zh) |
KR (1) | KR20140093505A (zh) |
CN (1) | CN103942009B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6165008B2 (ja) * | 2013-09-25 | 2017-07-19 | キヤノン株式会社 | メモリ制御装置、メモリ制御方法、情報機器及びプログラム |
US9823846B2 (en) * | 2014-08-20 | 2017-11-21 | Qualcomm Incorporated | Systems and methods for expanding memory for a system on chip |
KR101654724B1 (ko) * | 2014-11-18 | 2016-09-22 | 엘지전자 주식회사 | 적어도 하나의 메모리를 포함하는 디바이스의 제어 방법 및 스마트 tv |
CN104731530B (zh) * | 2015-03-23 | 2017-11-14 | 广东欧珀移动通信有限公司 | 一种应用于移动终端的文件管理方法和移动终端 |
CN105739982B (zh) * | 2016-01-29 | 2019-05-10 | 浪潮(北京)电子信息产业有限公司 | 一种系统休眠的方法及装置 |
KR102461972B1 (ko) * | 2017-12-12 | 2022-11-03 | 삼성전자주식회사 | Usb 인터페이스를 이용하여 도킹 장치와 데이터 전송을 수행하기 위한 장치 및 방법 |
KR102444234B1 (ko) * | 2018-01-03 | 2022-09-16 | 삼성전자주식회사 | 메모리 카드 및 전자 시스템 |
CN116737608A (zh) * | 2022-03-02 | 2023-09-12 | 深圳市江波龙电子股份有限公司 | 存储装置的程序运行方法、电子设备及可读存储装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541775A (zh) * | 2012-01-12 | 2012-07-04 | 航天科工深圳(集团)有限公司 | 双口ram替代系统及采用该系统实现数据传输的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05204591A (ja) * | 1992-01-24 | 1993-08-13 | Ricoh Co Ltd | 画像描画装置 |
US7028215B2 (en) * | 2002-05-03 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Hot mirroring in a computer system with redundant memory subsystems |
TWI222028B (en) * | 2002-06-07 | 2004-10-11 | Carry Computer Eng Co Ltd | Switching method and judgment method of common connector and terminals of memory card |
EP1768021A1 (en) * | 2005-09-09 | 2007-03-28 | Matsushita Electric Industrial Co., Ltd. | Software module installation and automatic memory release using external repositories |
US20070094439A1 (en) * | 2005-10-20 | 2007-04-26 | Xipkey, Inc. | Expandable portable solid-state device & method |
US7925854B2 (en) * | 2006-12-06 | 2011-04-12 | Mosaid Technologies Incorporated | System and method of operating memory devices of mixed type |
US8396515B2 (en) * | 2007-11-30 | 2013-03-12 | Symbol Technologies, Inc. | Dynamic battery capacity allocation for data retention among mobile computers and electronic devices |
JP2011128998A (ja) * | 2009-12-18 | 2011-06-30 | Toshiba Corp | 半導体記憶装置 |
-
2013
- 2013-01-18 KR KR1020130005981A patent/KR20140093505A/ko not_active Application Discontinuation
-
2014
- 2014-01-15 US US14/155,829 patent/US20140208006A1/en not_active Abandoned
- 2014-01-17 EP EP14151614.6A patent/EP2757483B1/en not_active Not-in-force
- 2014-01-17 CN CN201410022640.2A patent/CN103942009B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541775A (zh) * | 2012-01-12 | 2012-07-04 | 航天科工深圳(集团)有限公司 | 双口ram替代系统及采用该系统实现数据传输的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140208006A1 (en) | 2014-07-24 |
CN103942009A (zh) | 2014-07-23 |
KR20140093505A (ko) | 2014-07-28 |
EP2757483A1 (en) | 2014-07-23 |
EP2757483B1 (en) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942009B (zh) | 扩展终端中存储器的设备和方法 | |
EP3992801A1 (en) | Data storage method for flash memory device and flash memory device | |
US11270734B2 (en) | Method for accessing shingled magnetic recording SMR disk, and server | |
CN106776358B (zh) | Dimm ssd寻址性能技术 | |
KR20160117420A (ko) | 스토리지 모듈 디프래그먼트화를 위한 스토리지 모듈 및 호스트 디바이스 | |
US20180189174A1 (en) | Method for creating multi-namespace and method for accessing data therein | |
CN107608625B (zh) | 一种提升固存储设备读性能的方法 | |
CN106201652B (zh) | 一种数据处理方法及虚拟机 | |
CN104216796B (zh) | 一种数据备份、恢复方法及电子设备 | |
WO2011095516A1 (en) | Method and system for mass storage on flash memory | |
CN106170757B (zh) | 一种数据存储方法及装置 | |
US20160313927A1 (en) | Method for dynamically storing data of translation layer in solid state disk | |
CN110688256B (zh) | 一种元数据上电恢复方法、装置、电子设备及存储介质 | |
CN101714065A (zh) | 一种闪存控制器的映射信息管理方法 | |
CN110908927A (zh) | 数据储存装置及其删除命名空间的方法 | |
CN108604165A (zh) | 存储装置 | |
CN110377233A (zh) | Ssd读性能优化方法、装置、计算机设备及存储介质 | |
KR20170110810A (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
US20130173855A1 (en) | Method of operating storage device including volatile memory and nonvolatile memory | |
CN109840218A (zh) | 有效数据管理方法以及存储控制器 | |
CN106155910B (zh) | 一种实现内存访问的方法、装置和系统 | |
CN112148226A (zh) | 一种数据存储方法及相关装置 | |
CN101625902B (zh) | 半导体存储介质的寿命获取方法、系统及装置 | |
US9870320B2 (en) | Method for dynamically storing a flash translation layer of a solid state disk module | |
CN112799475B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180713 Termination date: 20210117 |
|
CF01 | Termination of patent right due to non-payment of annual fee |