CN112100088A - 电子装置以及使用该电子装置的存储部的方法 - Google Patents
电子装置以及使用该电子装置的存储部的方法 Download PDFInfo
- Publication number
- CN112100088A CN112100088A CN202010544800.5A CN202010544800A CN112100088A CN 112100088 A CN112100088 A CN 112100088A CN 202010544800 A CN202010544800 A CN 202010544800A CN 112100088 A CN112100088 A CN 112100088A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- mapping information
- processor
- volatile memory
- 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/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及一种电子装置和使用该电子装置的存储部的方法,该电子装置可以包括处理器、第一易失性存储器以及包括非易失性存储器和第二易失性存储器的存储部。该处理器被配置为:响应于创建了数据的请求来识别特定文件的信息和该特定文件中包括的数据的请求的种类;基于所识别的该特定文件的信息在该请求中设置标志;识别该非易失性存储器的逻辑地址和物理地址彼此映射的映射信息中的包括该数据的逻辑地址的特定区域的映射信息是否存储在该第一易失性存储器中;确定是否使用该第一易失性存储器管理该特定区域的映射信息;以及确定是否更新该第一易失性存储器中的该特定区域的映射信息。
Description
技术领域
本公开涉及一种包括存储部的电子装置以及使用该存储部的方法。
背景技术
便携式终端可以使用单独的存储部以便存储大量数据。闪存是包括非易失性存储器的装置并且已被广泛地用于便携式终端、计算机、数字相机和存储卡中。
在闪存执行无用信息收集功能以最小化无用信息区域的情况下可以移动数据。因此,闪存可以将其中逻辑地址和物理地址相互映射的映射信息(逻辑到物理映射表(L2P表))用于存储数据的存储空间。
为了提高数据的请求的处理速度,主机装置可以将存储在存储部的非易失性存储器中的映射信息加载到主机装置的易失性存储器中以使用加载的映射信息。主机装置可以使用加载到易失性存储器中的映射信息来执行逻辑到物理(L2P)地址转换。主机装置的易失性存储器的大小受到限制并且仅映射信息的部分区域可以被加载到其中并被使用。
根据用于在主机装置的易失性存储器中加载和使用映射信息的部分区域的方法,基于存储部的内部策略来确定要加载到主机装置的易失性存储器中的映射信息的部分区域,并且因此可能不会直接使用包括用户期望的数据的区域的映射信息。
根据用于在主机装置的易失性存储器中加载和使用映射信息的部分区域的方法,基于存储部的内部策略确定将映射信息加载到主机装置的易失性存储器中的时间,因此,当将映射信息加载到主机装置的易失性存储器中时可能会发生开销。
发明内容
本公开的实施例提供了一种电子装置,该电子装置确定和管理要加载到主机装置的易失性存储器中的映射信息的部分区域,因此可以提高用户期望的数据的请求的处理速度。
本公开的实施例还提供一种电子装置,该电子装置确定处理器将映射信息加载到主机装置的易失性存储器中的时间,因此可以减少由于加载映射信息而引起的开销。
根据本公开的各种示例实施例的电子装置可以包括处理器、第一易失性存储器、以及包括非易失性存储器和第二易失性存储器的存储部。根据各种实施例的所述处理器被配置为:响应于创建了数据的请求来识别特定文件的信息和所述特定文件中包括的数据的请求的种类;基于所识别的特定文件的信息确定是否在所述请求中设置标志;识别所述非易失性存储器的逻辑地址和物理地址彼此映射的映射信息中的包括所述数据的逻辑地址的特定区域的映射信息是否存储在所述第一易失性存储器中;基于所识别的请求的种类以及是否在请求中设置了标志,确定是否使用所述第一易失性存储器管理所述特定区域的映射信息;以及基于所识别的请求的种类和识别是否存储了所述映射信息的结果,确定是否更新所述第一易失性存储器中的所述特定区域的映射信息。
根据本公开的各种示例实施例的使用电子装置的存储部(所述电子装置包括所述存储部)的方法可以包括:响应于创建了数据的请求来识别特定文件的信息和所述特定文件中包括的数据的请求的种类;基于所识别的所述特定文件的信息确定是否在所述请求中设置标志;识别所述存储部中包括的非易失性存储器的逻辑地址和物理地址彼此映射的映射信息中的包括所述数据的逻辑地址的特定区域的映射信息是否存储在所述第一易失性存储器中;基于所识别的请求的种类以及是否在请求中设置了标志,确定是否使用所述第一易失性存储器管理所述特定区域的映射信息;以及基于所识别的请求的种类和识别是否存储了所述映射信息的结果,确定是否更新所述第一易失性存储器中的所述特定区域的映射信息。
根据本公开的各种示例实施例的电子装置可以包括处理器、第一易失性存储器、以及包括非易失性存储器和第二易失性存储器的存储部。根据各种实施例的所述处理器被配置为:响应于文件中包括的创建了数据的请求来识别所述非易失性存储器的逻辑地址和物理地址彼此映射的映射消息中的包括数据的逻辑地址的特定区域的映射信息是否存储在所述第一易失性存储器中;向所述存储部发送所述数据的请求;以及响应于所述特定区域的映射信息未存储在所述第一易失性存储器中而向所述存储部发送读取所述特定区域的映射信息的请求。
附图说明
通过以下结合附图的详细描述,本公开的某些实施例的上述和其他方面、特征和优点将变得更加明显,其中:
图1是示出根据本公开的各种实施例的在网络环境中的示例电子装置的框图;
图2A是示出根据本公开的各种实施例的处理读取数据的请求的示例过程的电子装置的框图;
图2B是示出根据本公开的各种实施例的处理读取数据的请求示例过程的电子装置的框图;
图3是示出根据本公开的各种实施例的示例主机性能提高器(HPB)功能的电子装置的框图;
图4是示出根据本公开的各种实施例的示例电子装置的框图;
图5的电子装置的框图示出了根据本公开的各种实施例的执行HPB功能的电子装置的示例;
图6的电子装置的框图示出了根据本公开的各种实施例的电子装置处理读取数据的请求的示例过程;
图7的电子装置的框图示出了根据本公开的各种实施例的电子装置处理读取数据的请求的示例过程;
图8的电子装置的框图示出了根据本公开的各种实施例的电子装置处理写入数据的请求的示例过程;
图9的电子装置的框图示出了根据本公开的各种实施例的电子装置处理删除数据的请求的示例过程;
图10是示出根据本公开的各种实施例的电子装置的示例操作的流程图;
图11是示出根据本公开的各种实施例的电子装置的示例操作的流程图;
图12A是示出根据本公开的各种实施例的电子装置的示例操作的流程图;
图12B是示出根据本公开的各种实施例的电子装置的示例操作的流程图;以及
图13是示出根据本公开的各种实施例的电子装置的示例操作的流程图。
具体实施方式
图1是示出根据各种实施例的网络环境100中的电子装置101的框图。参照图1,网络环境100中的电子装置101可经由第一网络198(例如,短距离无线通信网络)与电子装置102进行通信,或者经由第二网络199(例如,长距离无线通信网络)与电子装置104或服务器108进行通信。根据实施例,电子装置101可经由服务器108与电子装置104进行通信。根据实施例,电子装置101可包括处理器120、存储器130、输入装置150、声音输出装置155、显示装置160、音频模块170、传感器模块176、接口177、触觉模块179、相机模块180、电力管理模块188、电池189、通信模块190、用户识别模块(SIM)196或天线模块197。在一些实施例中,可从电子装置101中省略所述部件中的至少一个(例如,显示装置160或相机模块180),或者可将一个或更多个其它部件添加到电子装置101中。在一些实施例中,可将所述部件中的一些部件实现为单个集成电路。例如,可将传感器模块176(例如,指纹传感器、虹膜传感器、或照度传感器)实现为嵌入在显示装置160(例如,显示器)中。
处理器120可运行例如软件(例如,程序140)来控制电子装置101的与处理器120连接的至少一个其它部件(例如,硬件部件或软件部件),并可执行各种数据处理或计算。根据一个实施例,作为所述数据处理或计算的至少部分,处理器120可将从另一部件(例如,传感器模块176或通信模块190)接收到的命令或数据加载到易失性存储器132中,对存储在易失性存储器132中的命令或数据进行处理,并将结果数据存储在非易失性存储器134中。根据实施例,处理器120可包括主处理器121(例如,中央处理器(CPU)或应用处理器(AP))以及与主处理器121在操作上独立的或者相结合的辅助处理器123(例如,图形处理单元(GPU)、图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。另外地或者可选择地,辅助处理器123可被适配为比主处理器121耗电更少,或者被适配为具体用于指定的功能。可将辅助处理器123实现为与主处理器121分离,或者实现为主处理器121的部分。
在主处理器121处于未激活(例如,睡眠)状态时,辅助处理器123可控制与电子装置101(而非主处理器121)的部件之中的至少一个部件(例如,显示装置160、传感器模块176或通信模块190)相关的功能或状态中的至少一些,或者在主处理器121处于激活状态(例如,运行应用)时,辅助处理器123可与主处理器121一起来控制与电子装置101的部件之中的至少一个部件(例如,显示装置160、传感器模块176或通信模块190)相关的功能或状态中的至少一些。根据实施例,可将辅助处理器123(例如,图像信号处理器或通信处理器)实现为在功能上与辅助处理器123相关的另一部件(例如,相机模块180或通信模块190)的部分。
存储器130可存储由电子装置101的至少一个部件(例如,处理器120或传感器模块176)使用的各种数据。所述各种数据可包括例如软件(例如,程序140)以及针对与其相关的命令的输入数据或输出数据。存储器130可包括易失性存储器132或非易失性存储器134。
可将程序140作为软件存储在存储器130中,并且程序140可包括例如操作系统(OS)142、中间件144或应用146。
输入装置150可从电子装置101的外部(例如,用户)接收将由电子装置101的其它部件(例如,处理器120)使用的命令或数据。输入装置150可包括例如麦克风、鼠标或键盘。
声音输出装置155可将声音信号输出到电子装置101的外部。声音输出装置155可包括例如扬声器或接收器。扬声器可用于诸如播放多媒体或播放唱片的通用目的,接收器可用于呼入呼叫。根据实施例,可将接收器实现为与扬声器分离,或实现为扬声器的部分。
显示装置160可向电子装置101的外部(例如,用户)视觉地提供信息。显示装置160可包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。根据实施例,显示装置160可包括被适配为检测触摸的触摸电路或被适配为测量由触摸引起的力的强度的传感器电路(例如,压力传感器)。
音频模块170可将声音转换为电信号,反之亦可。根据实施例,音频模块170可经由输入装置150获得声音,或者经由声音输出装置155或与电子装置101直接(例如,有线地)连接或无线连接的外部电子装置(例如,电子装置102)的耳机输出声音。
传感器模块176可检测电子装置101的操作状态(例如,功率或温度)或电子装置101外部的环境状态(例如,用户的状态),然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感器模块176可包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
接口177可支持将用来使电子装置101与外部电子装置(例如,电子装置102)直接(例如,有线地)或无线连接的一个或更多个特定协议。根据实施例,接口177可包括例如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端178可包括连接器,其中,电子装置101可经由所述连接器与外部电子装置(例如,电子装置102)物理连接。根据实施例,连接端178可包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块179可将电信号转换为可被用户经由他的触觉或动觉识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉模块179可包括例如电机、压电元件或电刺激器。
相机模块180可捕获静止图像或运动图像。根据实施例,相机模块180可包括一个或更多个透镜、图像传感器、图像信号处理器或闪光灯。
电力管理模块188可管理对电子装置101的供电。根据实施例,可将电力管理模块188实现为例如电力管理集成电路(PMIC)的至少部分。
电池189可对电子装置101的至少一个部件供电。根据实施例,电池189可包括例如不可再充电的原电池、可再充电的蓄电池、或燃料电池。
通信模块190可支持在电子装置101与外部电子装置(例如,电子装置102、电子装置104或服务器108)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块190可包括能够与处理器120(例如,应用处理器(AP))独立操作的一个或更多个通信处理器,并支持直接(例如,有线)通信或无线通信。根据实施例,通信模块190可包括无线通信模块192(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块194(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的相应一个可经由第一网络198(例如,短距离通信网络,诸如蓝牙、无线保真(Wi-Fi)直连或红外数据协会(IrDA))或第二网络199(例如,长距离通信网络,诸如蜂窝网络、互联网、或计算机网络(例如,LAN或广域网(WAN)))与外部电子装置进行通信。可将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块192可使用存储在用户识别模块196中的用户信息(例如,国际移动用户识别码(IMSI))识别并验证通信网络(诸如第一网络198或第二网络199)中的电子装置101。
天线模块197可将信号或电力发送到电子装置101的外部(例如,外部电子装置)或者从电子装置101的外部(例如,外部电子装置)接收信号或电力。根据实施例,天线模块197可包括一个或更多个天线,并且因此,可由例如通信模块190(例如,无线通信模块192)选择适合于在通信网络(诸如第一网络198或第二网络199)中使用的通信方案的至少一个天线。随后可经由所选择的至少一个天线在通信模块190和外部电子装置之间发送或接收信号或电力。
上述部件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口(MIPI))相互连接并在它们之间通信地传送信号(例如,命令或数据)。
根据实施例,可经由与第二网络199连接的服务器108在电子装置101与外部电子装置104之间发送或接收命令或数据。电子装置102和电子装置104中的每一个可以是与电子装置101相同类型的装置,或者是与电子装置101不同类型的装置。根据实施例,将在电子装置101运行的全部操作或一些操作可在外部电子装置102、外部电子装置104或服务器108中的一个或更多个运行。例如,如果电子装置101应该自动执行功能或服务或者应该响应于来自用户或另一装置的请求执行功能或服务,则电子装置101可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分,而不是运行所述功能或服务,或者电子装置101除了运行所述功能或服务以外,还可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分。接收到所述请求的所述一个或更多个外部电子装置可执行所述功能或服务中的所请求的所述至少部分,或者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送到电子装置101。电子装置101可在对所述结果进行进一步处理的情况下或者在不对所述结果进行进一步处理的情况下将所述结果提供作为对所述请求的至少部分答复。为此,可使用例如云计算技术、分布式计算技术或客户机-服务器计算技术。
图2A和图2B的电子装置的框图示出了根据本公开的各种实施例的处理读取数据的请求的示例过程。
图2A是示出根据各种实施例的示例过程的示图,在该示例过程中,如果对应于数据的映射信息被加载到存储部300的RAM 320(或易失性存储器)中,则电子装置(例如,图1的电子装置101)创建了读取数据的请求时处理读取数据的请求。
参照图2A,根据各种实施例的电子装置(例如,图1的电子装置101)可以包括应用处理器(AP)200和存储部300。
根据各种实施例的应用处理器200可以包括处理器(例如,包括处理电路)210(例如,图1的处理器120)和存储部主机控制器(例如,包括电路)220。
根据各种实施例的处理器210可以包括各种处理电路并执行各种软件(例如,程序140)。处理器210可以执行例如应用211、文件系统213或存储部驱动器215。
根据各种实施例的存储部300可以存储部由电子装置的至少一个元件使用的各种数据。根据各种实施例的存储部300可以包括例如NAND闪存(例如,非易失性存储器)310、RAM(例如,易失性存储器)320和存储部控制器(例如,包括电路)330。非易失性存储器可以例如可以是闪存。非易失性存储器包括例如满足通用闪存(UFS)标准规范的NAND闪存。根据各种实施例的NAND闪存310可以存储映射信息311(例如,映射表),该映射信息311指示针对存储部的数据的逻辑地址311a与物理地址311b之间的关系(例如,映射关系)。映射信息可以是例如其中NAND闪存310的逻辑地址311a和物理地址311b彼此映射的映射信息311(逻辑到物理地址映射信息(例如,L2P表))。存储部300的易失性存储器例如可以是RAM。根据各种实施例的RAM 320可以存储部(例如,缓存)例如存储在NAND闪存310中的映射信息311当中的部分区域的映射信息(例如,缓存的L2P)。根据各种实施例的存储部控制器330可以包括各种控制电路并且被配置为控制存储部300的各个元件和/或执行与通信有关的操作或数据处理。
根据各种实施例,可以通过应用211创建读取包括在特定文件中的数据的请求(数据读取I/O请求或读取I/O)。为了处理读取数据的请求,在操作①,处理器210可以通过文件系统213识别包括在相应的特定文件中的数据的逻辑地址。例如,如果创建了读取包括在A.apk文件214中的数据214a的请求,则处理器210可以通过文件系统213识别出对应数据214a的逻辑地址为“1”。
在操作②和③,根据各种实施例的处理器210可以通过执行存储部驱动器215将读取包括数据的逻辑地址的数据的请求发送到存储部主机控制器220。
在操作④,根据各种实施例的存储部主机控制器220可以将读取包括数据的逻辑地址的数据的请求发送到存储部300。根据实施例,存储部主机控制器220可以基于处理器210的控制将读取数据的请求发送到存储部300。
在操作⑤,根据各种实施例的存储部300可以基于存储部控制器330的控制来识别与数据相对应的地址信息是否包括在存储(例如缓存)在存储部300的RAM(例如易失性存储器)320中的部分区域的映射信息中。例如,存储部300的RAM 320可以存储被存储在NAND闪存(例如,非易失性存储器)310中的映射信息(例如,L2P表)311的部分区域中。例如,由于大小的限制,存储部300的RAM 320可以仅存储和使用存储在NAND闪存310中映射信息(例如,L2P表)311的一部分。在使用存储在存储部300的RAM 320中的部分区域的映射信息(例如,缓存的L2P表)来处理数据的请求的情况下,电子装置(例如,应用处理器200)不需要重新加载存储在NAND闪存310中的映射信息311,因此可以提高处理速度。
根据各种实施例,如果与数据相对应的地址信息被包括在存储在存储部300的RAM320中的部分区域的映射信息中,则存储部控制器330可以从存储在RAM 320中的部分区域的映射信息识别与数据的逻辑地址匹配的物理地址。例如,存储部控制器330可以从存储在RAM 320中的部分区域的映射信息中识别出与数据的逻辑地址“1”匹配的物理地址为“4”。
在操作⑥,根据各种实施例的存储部控制器330可以通过访问在物理NAND单元313中所识别的数据的物理地址来处理读取数据的请求。
图2B是示出根据各种实施例的示例过程的示图,在该示例过程中,如果对应于数据的映射信息未被加载到存储部300的RAM 320中,则电子装置(例如,图1的电子装置101)创建了读取数据的请求时处理读取数据的请求。在下文中,与先前参照图2A描述的内容重叠的内容在这里可以参照图2B不重复。
根据各种实施例,可以通过应用211创建读取包括在特定文件中的数据的请求(例如,数据读取I/O请求或读取I/O)。为了处理所创建的读取数据的请求,在操作①,处理器210可以通过文件系统213识别包括在相应的特定文件中的数据的逻辑地址。例如,如果创建了读取包括在A.apk文件214中的数据214b的请求,则处理器210可以通过文件系统213识别出对应数据214b的逻辑地址为“2”。
在操作②和③,根据各种实施例的处理器210可以通过执行存储部驱动器215将读取包括数据的逻辑地址的数据的请求发送到存储部主机控制器220。
在操作④,根据各种实施例的存储部主机控制器220可以将读取包括数据的逻辑地址的数据的请求发送到存储部300。根据实施例,存储部主机控制器220可以基于处理器210的控制将读取数据的请求发送到存储部300。
根据各种实施例的存储部300可以在存储部控制器330的控制下识别与数据相对应的地址信息是否包括在存储部(例如,缓存)在存储部300的RAM(例如,易失性存储器)320中的部分区域的映射信息中。在存储部300的RAM 320中由虚线表示的部分区域的映射信息可以是尚未从NAND闪存310加载的映射信息,因此尚未被存储在RAM 320中,因此例如可以指的是稍后要从NAND闪存310加载的映射信息。如果与数据相对应的地址信息未包括存储在存储部300的RAM 320中的部分区域的映射信息中,则存储部控制器330在操作⑤可以将包括数据的逻辑地址“2”的部分区域的映射信息从NAND闪存310的加载到到存储部300的RAM 320中。
在操作⑥,根据各种实施例的存储部控制器330可以将与数据的逻辑地址“2”相对应的部分区域的映射信息从NAND闪存310加载到RAM 320中,以将加载的映射信息存储在RAM 320中。在存储部300的RAM 320中由虚线表示的部分区域的映射信息可以指的是例如在从NAND闪存310加载之后能够使用的映射信息。
根据各种实施例的存储部控制器330可以通过新加载到RAM 320中的部分区域的映射信息(例如,缓存的L2P)来识别与数据的逻辑地址匹配的物理地址。例如,存储部控制器330可以通过新加载到RAM 320中的部分区域的映射信息来识别与数据的逻辑地址“2”匹配的物理地址“7”。
在操作⑦,根据各种实施例的存储部控制器330可以通过访问由物理NAND单元313识别的数据的物理地址来处理读取数据的请求。
图3是示出根据本公开的各种实施例的示例主机性能提高器(HPB)功能的电子装置的框图。
参照图3,根据各种实施例的电子装置(例如,图1的电子装置101)可以包括应用处理器200、第一RAM(例如,第一易失性存储器)400和存储部300。根据各种实施例,第一RAM400可以例如是由处理器210管理的主机端的RAM。
根据各种实施例的存储部300可以包括例如NAND闪存(例如,非易失性存储器)310、第二RAM(例如,第二易失性存储器)320和存储部控制器330。非易失性存储器可以例如是闪存。非易失性存储器可以包括例如满足通用闪存(UFS)标准规范的NAND闪存310。根据各种实施例的NAND闪存310可以存储映射信息311,该映射信息311指示用于所存储数据的逻辑地址311a与物理地址311b之间的关系。该映射信息311例如可以是其中NAND闪存310的逻辑地址与物理地址彼此映射的映射信息(逻辑到物理地址映射信息(例如,L2P表))。
根据各种实施例的第一RAM(第一易失性存储器)400可以从存储部300的NAND闪存(例如,非易失性存储器)310加载并存储映射信息的部分区域。根据各种实施例的处理器210可以处理使用存储在第一RAM 400中的部分区域的映射表(例如,HPB L2P表)410来读取数据的请求。例如,如果创建了读取对应于逻辑地址“2”的数据的请求,则处理器210可以识别与数据的逻辑地址“2”相对应的地址信息是否包括在第一RAM 400中存储的部分区域的映射表410中。与逻辑地址“2”相对应的信息包括在映射信息中当前存储在第一RAM 400中的映射表410中的区域“1”的地址411中,因此处理器210可以识别出对应于该数据的逻辑地址“2”的物理地址为“7”。处理器210可以在读取要传送到存储部300的数据的请求中包括物理地址。主机端的第一RAM 400被加载有存储部300的NAND闪存310的逻辑地址311a和物理地址311b彼此映射的映射信息311的一部分并且主机端的处理器210执行逻辑/物理地址转换的操作例如可以是UFS标准中定义的主机性能提高器(HPB)功能。使用HPB功能,主机端的处理器210可以执行将在存储部300中执行的部分区域的映射信息加载到存储部300的第二RAM 320中的操作以及使用加载到存储部300的第二RAM 320中的部分区域的映射信息(例如,缓存的L2P)将逻辑地址转换为物理地址的操作(图2B的操作⑥),因此可以提高数据请求的处理性能。
根据各种实施例,可以以预定大小(例如16MB、32MB或64MB)为单位来加载和管理被加载到第一RAM 400中的映射表(例如,HPB L2P表或HPB L2P映射表)。该单位可以被称为区域。例如,包括逻辑地址“1、2、3和4”的映射信息可以是第一区域(例如,区域“1”)的映射信息411,并且包括逻辑地址“5、6、7和8”的映射信息可以是第二区域(例如,区域“2”)的映射信息413。根据各种实施例的HPB L2P映射表410可以包括用于识别映射信息的完整性的元数据。
根据各种实施例,处理器210可以将映射信息中的部分区域的映射信息从存储部300的NAND闪存310加载到第一RAM 400中。根据使用HPB功能创建数据的请求的详细处理操作将在下面更详细地说明。
图4是示出根据本公开的各种实施例的示例电子装置的框图。图4是示出根据各种实施例的电子装置的软件和硬件层的框图。
参照图4,根据各种实施例的电子装置(例如,图1的电子装置101)可以被划分为主机(例如,主机装置)40和存储部300。根据各种实施例的主机40可以是包括用户应用的软件和操作系统(OS)在其中运行的环境。根据各种实施例的主机40可以包括第一RAM 400和应用处理器(例如,包括处理电路)200。第一RAM 400例如可以是易失性存储器并且其可以存储HPB L2P映射表410。该HPB L2P映射表410可以包括从存储部300的NAND闪存310加载的部分区域的映射信息。主机40可以将例如在软件运行期间创建的数据的各种请求(数据I/O请求)传送到存储部300。
根据各种实施例的应用处理器200可以包括各种处理电路并且可以是用于执行加载到第一RAM 400中的软件的硬件装置,并且其可以执行软件模块操作。根据各种实施例的应用处理器200可以包括文件系统213、存储部驱动器215和存储部主机控制器220。文件系统213和存储部驱动器215可以是在处理器(未示出)(例如,图1的处理器120或图2的处理器210)中执行的软件。根据各种实施例,处理器可以被配置为控制电子装置的各个元件和/或执行与通信有关的操作或数据处理。例如,处理器可以可操作地连接到电子装置的元件。处理器可以将从电子装置的其他元件接收到的命令或数据加载到存储部中,处理存储在存储部中的命令或数据,并存储结果数据。
根据各种实施例的文件系统213可以是用于管理存储在存储部300中的文件的软件模块并且可以支持对基本文件的数据的读取/写入/删除请求,并且管理文件的属性和权限。如果创建了包括在特定文件中的数据的请求,则根据各种实施例的文件系统213可以确定是否维护/管理存储在主机40端的第一RAM 400中的L2P映射表410,以便识别特定文件的扩展名、属性或权限。如果确定第一RAM 400管理存储在第一RAM 400中的L2P映射表,则文件系统213可以在对包括在相应文件中的数据的请求中设置标志(HOST HPB标志)。
根据各种实施例的存储部驱动器215可以是用于与存储部300通信的软件模块并且它可以使用HPB功能来管理存储在主机40端的第一RAM 400中的L2P映射表410。例如,存储部驱动器215可以基于是否在对通过文件系统213传送的数据的请求中设置标志以及数据的请求的种类来管理存储在第一RAM 400中的L2P映射表410。
根据各种实施例的存储部主机控制器220可以包括各种电路,并且可以是负责主机的应用处理器200与存储部300之间的通信的硬件模块。
根据各种实施例的第一RAM 400可以是在应用处理器200中使用的易失性存储器并且其可以临时存储部驱动软件和软件操作所需的数据。如果存储部300支持HPB功能,则L2P映射表410可以被存储在第一RAM 400中,该L2P映射表410是从存储部300的NAND闪存310加载的部分区域的映射信息。
根据各种实施例的L2P映射表410可以是从存储部300加载到主机40的第一RAM400中的L2P映射信息311的一部分,并且其可以在处理读取存储在存储部300中的数据的请求的期间使用并且可以由存储部驱动器215维护和管理。根据各种实施例,存储在第一RAM400中的L2P映射表410可以包括基准标志和更新(need-update)标志。基准标志例如可以是指示相应区域的映射信息是否由主机40管理的标志信息(例如,映射信息是否由第一RAM400管理)。例如,如果特定区域的映射信息的基准标志值被设置为“1”,则其可以例如指的是由主机40管理的特定区域的映射信息,然而如果特定区域的映射信息的值被设置为“0”,则其可以例如指的是未被主机40管理的特定区域的映射信息。更新标志可以是例如指示是否需要更新存储在主机40端的第一RAM 400中的特定区域的映射信息的标志信息。例如,如果将特定区域的映射信息的更新标志值设置为“1”,则例如可以指的是需要从NAND闪存310更新特定区域的映射信息,然而如果更新标志值被设置为“0”,则其例如可以指的是不需要更新特定区域的映射信息。根据各种实施例,可以为L2P映射表410的每个区域设置基准标志和更新标志。
根据各种实施例,存储部300可以包括NAND闪存310、存储部控制器330和第二RAM320(图4中未示出)。
根据各种实施例的NAND闪存310可以是非易失性存储器,并且可以是物理地存储数据的空间。根据各种实施例,L2P映射信息311(例如,映射表)可以被存储在NAND闪存310中。
根据各种实施例的NAND闪存310中的L2P映射信息311可以包括例如其中NAND闪存310的逻辑地址与物理地址彼此映射的整个映射信息。NAND闪存310中的L2P映射信息311的一部分可以被加载到存储部300的要被使用的第二RAM 320中。如果存储部300支持HPB功能,则可以将NAND闪存310中的L2P映射信息311的一部分加载到主机40的要被使用的第一RAM 400中。
根据各种实施例的存储部控制器330可以是包括负责主机40的应用处理器200与存储部300之间的通信的各种电路的硬件模块。例如,存储部控制器330可以处理正在从主机40传送的数据的请求并且管理NAND闪存310中的L2P映射信息311。
图5的电子装置的框图示出了根据本公开的各种实施例的执行HPB功能的电子装置。
参照图5,根据各种实施例的电子装置(例如,图1的电子装置101)可以包括应用处理器200、第一RAM(第一易失性存储器)400和存储部300。与上述内容重复的内容在此不再赘述。
如果存储部300支持HPB功能,则根据各种实施例的处理器210可以包括各种处理电路并且将特定区域的映射信息(例如,HPB L2P表)从存储部300映射到第一RAM 400,并且处理器210可以管理存储在第一RAM 400中的特定区域的映射表410。例如,处理器210可以使用存储在第一RAM 400中的特定区域的映射表410来处理读取数据的请求。
根据各种实施例的处理器210可以在数据的请求中设置标志并且可以基于该标志是否被设置在数据的请求中以及数据的请求的种类来管理存储在第一RAM 400中的映射表(例如,HPB L2P映射表)410。
参照图5所示的第一RAM 400,可以加载与存储在第一RAM 400中的HPB L2P映射表410的第一区域(例如,区域1)相对应的映射信息411。如果将第一区域的映射信息411的基准标志411a设置为“1”(基准=1),则确定第一区域的映射信息411由主机40端管理,因此,映射信息411可以存储在第一RAM 400中。如果第一区域的映射信息411的更新标志411b被设置为“1”(need_update=1),则可能需要更新第一区域的映射信息411。
根据各种实施例的处理器210可以向存储部300发送更新其中更新标志411b被设置为“1”的第一区域的映射信息411的请求。根据各种实施例的处理器210可以接收来自存储部300的特定区域的映射信息并且其可以更新第一RAM 400中的映射信息。
如果创建了包括在特定文件中的数据的请求,则根据各种实施例的处理器210可以例如通过通过文件系统213来识别特定文件的扩展名和属性信息来确定该特定文件是否是将用于执行特定应用的文件。例如,如果特定文件的扩展名是apk、vdex、so、sc或lib,则处理器210可以确定特定文件是用于执行特定应用的文件。例如,如果特定文件的文件属性是可执行文件,则处理器210可以确定该特定文件是用于执行特定应用的文件。根据各种实施例的处理器210可以通过识别特定文件是否是只读文件,来确定是否适合通过主机40端的第一RAM 400来管理与数据相对应的特定区域的映射信息。例如,如果特定文件的文件属性是只读文件,则处理器210可以确定适合通过主机40端的第一RAM 400来管理与数据相对应的特定区域的映射信息。
如果确定该特定文件是用于进入特定应用的文件,则根据各种实施例的处理器210可以在数据的请求中设置标志,并且可以确定包括数据的物理地址的特定区域的映射信息由主机40端的第一RAM 400端管理。
为了通过以上公开的方法平稳地执行HPB功能,处理器210可以在映射信息(L2P映射表)311中确定和管理将由第一RAM 400管理的特定区域。
尽管已经参考其中在执行(进入)特定应用期间创建数据的请求的示例描述了上述方法,但是显然,除了上述情况之外,即使在提高性能以处理具有高访问频率的文件的数据或最近被访问过的文件的数据的请求的过程的情况下还可以应用该方法。在下文中,为了便于说明,将主要在处理对在应用的执行期间创建的数据的请求的情况下进行说明。
图6和图7的电子装置的框图示出了根据本公开的各种实施例的电子装置处理读取数据的请求的示例过程。
图6是示出根据各种实施例的当创建读取数据的请求时如果特定区域的与数据相对应的映射信息未存在于主机40端的第一RAM 400的情况下电子装置处理读取数据的请求的示例过程的示图。
参照图6,在操作①,根据各种实施例的处理器210可以识别在应用的执行期间读取包括在特定文件中的创建了数据的请求(例如,数据读取I/O请求)。根据各种实施例的处理器210可以识别创建的数据的请求的类型(例如,读取/写入/删除请求)。根据各种实施例的处理器210可以通过文件系统213来识别创建了读取数据的请求的特定文件的数据的逻辑地址。例如,处理器210可以识别创建了读取包括在A.apk文件214中的数据之中的与逻辑地址“1”相对应的数据214a的请求。
在操作②,根据各种实施例的处理器210可以通过文件系统213来识别创建了读取数据的请求的特定文件214的信息。例如,处理器210可以识别特定文件214的扩展名和属性信息。例如,处理器210可以识别特定文件214是否包括在最近最少使用(LRU)列表中还是最近最多使用列表中。根据各种实施例的处理器210可以在LRU列表中管理和存储最近最少使用的应用。根据各种实施例的处理器210可以通过操作系统(OS)或运行的机器来记录和管理最近最多使用列表中的最近最多使用的应用或文件。
根据各种实施例的处理器210可以基于所识别的文件的信息在创建的读取数据的请求中设置标志。例如,响应于特定文件214是用于执行特定应用的文件的情况,处理器210可以在创建的读取数据的请求中设置标志。例如,处理器210可以响应于特定文件214被包括在最近最少使用(LRU)列表或最近最多使用列表中的情况在创建的读取数据的请求中设置标志。
例如,如果创建了读取数据的请求的特定文件214的扩展名是apk,则根据各种实施例的处理器210可以识别出特定文件214是用于执行特定应用的文件。此外,处理器210可以在创建的读取数据的请求中设置标志(例如,HOST HPB标志)。
在操作③,根据各种实施例的处理器210可以识别出在创建的读取数据的请求中是否设置了标志以及包括数据的逻辑地址的特定区域的映射信息是否存储在第一RAM(例如,第一易失性存储器)400中。由第一RAM 400中的虚线表示的第一区域(例如,区域“1”)的映射信息411是尚未从NAND闪存(例如,非易失性存储器)310加载的映射信息并且因此还没有被存储在第一RAM 400中,因此例如可以指的是稍后从NAND闪存310加载的映射信息。可以假设包括特定数据的映射信息的特定区域是第一区域(例如,区域“1”)411。因为当前在创建的读取数据的请求中设置了标志,所以处理器210可以确定包括数据的特定区域的映射信息411由主机端的第一RAM 400管理。处理器210可以针对要存储在第一RAM中的映射信息中的关于第一区域(例如,区域“1”)的信息,将第一区域的映射信息411的基准标志411a设置为“1”。第一区域的映射信息的基准标志411a的值为“1”的情况例如可以指的是由主机40端的第一RAM 400管理的第一区域的映射信息411。因为第一区域的映射信息411当前未存储在第一RAM 400中(由虚线表示),所以处理器210可以针对将要存储在第一RAM 400中的映射信息之中的关于第一区域的信息,将第一区域的映射信息411的更新标志(need_update标志)411b设置为“1”。第一区域的映射信息411的更新标志411b的值为“1”的情况指的是例如需要将第一区域的映射信息411从存储部300的NAND闪存(例如,非易失性存储器)310更新到第一RAM 400中。
在操作④,根据各种实施例的处理器210可以通过执行存储部300的存储部驱动器215来将读取包括数据的逻辑地址的数据的请求发送到存储部主机控制器220。例如,因为第一区域411的映射信息当前未存储在第一RAM 400中,则处理器210可以不使用存储在第一RAM 400中的信息来识别特定数据的物理地址。处理器210可以将读取包括特定信息的逻辑地址的数据的请求发送到存储部主机控制器220。例如,处理器210可以将读取包括特定数据的逻辑地址“1”的数据的请求发送到存储部主机控制器220。
在操作⑤,根据各种实施例的处理器210可以通过存储部主机控制器220将读取包括数据的逻辑地址的数据的请求发送到存储部300。
在操作⑥,根据各种实施例的存储部300可以基于存储部控制器330的控制来识别与数据相对应的地址信息是否包括存储部(例如,缓存)在存储部300的第二RAM(例如,易失性存储器)320中的部分区域的映射信息中。例如,存储部300的第二RAM 320可以存储被存储在NAND闪存(例如,非易失性存储器)310中的映射信息(例如,L2P表)311的部分区域。例如,因为第二RAM 320的尺寸较小,所以存储部300的第二RAM 320可以仅存储和使用存储在NAND闪存310中的映射信息(例如,L2P表)311的一部分中。如果与数据相对应的地址信息包括在存储在存储部300的第二RAM 320中的部分区域的映射信息中,则存储部控制器330可以从存储在第二RAM 320中的部分区域的映射信息中识别出映射到数据的逻辑地址上的物理地址。根据各种实施例的存储部控制器330可以通过访问在物理NAND单元中所识别的数据的物理地址来处理读取数据的请求。
在操作⑦,根据各种实施例的处理器210可以通过执行存储部300的存储部驱动器215,将第一RAM 400中的特定区域的映射信息411的更新请求发送到存储部300。例如,因为将第一RAM 400中的第一区域的映射信息411的更新标志411b设置为“1”,所以处理器210可以将第一区域的映射信息411的更新请求发送到存储部300。响应于接收到更新请求,根据各种实施例的存储部300可以提取第一区域的映射信息411并将其发送到处理器210。
在操作⑧,根据各种实施例的处理器210可以从存储部300接收特定区域的映射信息并且可以将接收到的映射信息存储在第一RAM 400中。可以通过操作⑧将第一RAM 400中用虚线表示的第一区域的映射信息411加载到第一RAM 400中。在特定区域的映射信息411被完全更新的情况下,根据各种实施例的处理器210可以将存储在第一RAM 400中的第一区域的映射信息411的更新标志(need_update标志)411b改变为“0”。如果第一区域的映射信息411的更新标志411b的值为“0”,则例如可以指的是不需要更新存储在第一RAM 400中的第一区域的映射信息411。
根据各种实施例,可以响应于读取数据的请求被完全处理的情况或者响应于数据的请求被完全处理并且没有当前正在处理的数据的请求的情况,执行更新特定区域的映射信息的操作⑥和⑦。
图7是示出根据各种实施例的当创建了读取数据的请求时在与数据相对应的特定区域的映射信息未存在于主机40端的第一RAM 400中的情况下电子装置处理读取数据的请求的示例过程的框图。在下文中,与以上参照图6描述的内容重复的内容在参照图7的描述中不再赘述。
参照图7,在操作①,根据各种实施例的处理器210可以识别在应用执行期间读取包括在特定文件中的数据的请求(例如,数据读取I/O请求)的创建。根据各种实施例的处理器210可以通过文件系统213来识别创建了读取数据的请求的特定文件的数据的逻辑地址。例如,处理器210可以识别读取包括在A.apk文件214中的数据之中的与逻辑地址“2”相对应的数据214b的请求的创建。
在操作②,根据各种实施例的处理器210可以通过文件系统213来识别创建了读取数据的请求的特定文件214的信息。
根据各种实施例的处理器210可以基于所识别的文件214的信息在创建的读取数据的请求中设置标志。
例如,因为创建了读取数据的请求的特定文件214的扩展名是apk,所以根据各种实施例的处理器210可以识别出特定文件214是用于执行特定应用的文件并且其可以在创建的读取数据的请求中设置标志(例如HOST HPB标志)。
在操作③,根据各种实施例的处理器210可以识别是否在创建的读取数据的请求中设置了标志以及包括数据的逻辑地址的特定区域的映射信息(例如,HPB L2P表)是否被存储在第一RAM(例如,第一易失性存储器)400中。第一RAM 400中由实线表示的第一区域(例如,区域“1”)的映射信息411可以是已经从NAND闪存(非易失性存储器)310中加载并且因此当前已被存储在第一RAM 400中的映射信息。假定包括特定数据的映射信息的特定区域是第一区域(例如,区域“1”)411。因为当前在创建的读取数据的请求中设置了标志,所以处理器210可以确定包括数据的特定区域的映射信息411由主机端的第一RAM 400管理。处理器210可以针对存储(或将要存储)在第一RAM 400中的映射信息之中的关于第一区域(例如,区域“1”)411的信息,将第一区域的映射信息411的基准标志411a设置为“1”。因为第一区域的映射信息411当前存储在第一RAM 400中(由实线表示),所以处理器210可以针对存储在第一RAM 400中的映射信息中的关于第一区域的信息来将第一区域的映射信息411的更新标志(need_update标志)411b设置为“0”。第一区域的映射信息411的更新标志411b的值为值“0”的情况可以例如指的是不需要将第一区域的映射信息411从存储部300的NAND闪存(例如,非易失性存储器)310更新到第一RAM 400中。
根据各种实施例的处理器210可以使用存储在第一RAM 400中的特定区域的映射信息411来识别映射到数据214b的逻辑地址上的物理地址。例如,处理器210可以通过存储在第一RAM 400中的第一区域的映射信息411来识别出被映射到数据214b的逻辑地址2上的物理地址是“7”。
在操作④,根据各种实施例的处理器210可以通过执行存储部300的存储部驱动器215来将读取包括数据的物理地址的数据的请求发送到存储部主机控制器220。例如,因为将第一区域的映射信息411存储在第一RAM 400中,所以处理器210可以使用存储在第一RAM400中的信息来识别特定数据214b的物理地址。处理器210可以将读取包括特定数据的物理地址的数据的请求发送到存储部主机控制器220。例如,处理器210可以将读取包括特定数据的物理地址“7”的数据的请求发送到存储部主机控制器220。
在操作⑤,根据各种实施例的处理器210可以通过存储部主机控制器220将读取包括数据的物理地址的数据的请求发送到存储部300。
在操作⑥,根据各种实施例的存储部300可以在存储部控制器330的控制下通过访问物理NAND单元中的数据的所识别的物理地址来处理读取数据的请求。
图8的电子装置的框图示出了根据本公开的各种实施例的电子装置处理写入数据的请求的示例过程。
参照图8,根据各种实施例的处理器210,在操作①,可以识别写入包括在特定文件中的数据的请求(例如,数据写入I/O请求)的创建,以便在应用211的执行期间更新应用211。根据各种实施例的处理器210可以识别创建的数据的请求的种类并且可以识别出创建的数据的请求是写入数据的请求。根据各种实施例的处理器210可以通过文件系统213来识别创建了写入数据的请求的特定文件的数据的逻辑地址。例如,处理器210可以识别创建写入与包括在A.apk文件214中的数据之中的与逻辑地址“3”相对应的数据214c的请求。
在操作②,根据各种实施例的处理器210可以通过文件系统213来识别其中创建了写入数据的请求的特定文件214的信息。例如,处理器210可以识别特定文件214的扩展名和属性信息。根据各种实施例的处理器210可以基于所识别的文件的信息在创建的写入数据的请求中设置标志。例如,响应于特定文件214是用于执行特定应用的文件的情况,处理器210可以在创建的写入数据的请求中设置标志。
例如,根据各种实施例的处理器210可以响应于识别出创建了写入数据的请求的特定文件214的扩展名是apk并且具有可执行文件属性的情况来识别出特定文件214是用于执行特定应用的文件。处理器210可以响应于识别出特定文件214是用于执行特定应用的文件的情况在创建的写入数据的请求中设置标志(例如,HOST HPB标志)。
在操作③,根据各种实施例的处理器210可以识别在创建的写入数据的请求中是否设置了标志以及包括数据的逻辑地址的特定区域的映射信息(例如,HPB L2P表)是否存储在第一RAM(例如,第一易失性存储器)400中。第一RAM 400中由虚线表示的第一区域(例如,区域“1”)的映射信息411可以指的是例如稍后将要从NAND闪存310更新的映射信息。假设包括特定数据的映射信息的特定区域是第一区域(例如,区域“1”)。因为当前在创建的写入数据的请求中设置了标志,所以处理器210可以确定包括数据的特定区域的映射信息411由主机40端的第一RAM 400管理。处理器210可以针对存储在(或将要存储)在第一RAM 400中的映射信息之中的关于第一区域(区域“1”)的信息,将第一区域的映射信息411的基准标志411a设置为“1”。
因为创建的数据的请求是写入数据的请求,所以根据各种实施例的处理器210可以确定当前存储在第一RAM 400中的第一区域的映射信息411稍后将被改变(由虚线表示),并且处理器210可以针对存储(将要存储)在第一RAM 400中的映射信息之中的关于第一区域的映射信息411的信息,将第一区域的映射信息411的更新标志(need_update标志)411b设置为“1”。第一区域的映射信息411的更新标志411b的值为“1”的情况例如可以指的是需要将第一区域411的映射信息从存储部300的NAND闪存(非易失性存储器)310更新到第一RAM 400中。
在操作④,根据各种实施例的处理器210可以通过执行存储部驱动器215将写入包括数据的逻辑地址的数据的请求发送到存储部主机控制器220。例如,处理器210可以将写入包括特定数据的逻辑地址“3”的数据的请求发送到存储部主机控制器220。
在操作⑤,根据各种实施例的处理器210可以通过存储部主机控制器220将写入包括数据的逻辑地址的数据的请求发送到存储部300。
在操作⑥,根据各种实施例的存储部控制器330可以执行将逻辑地址的数据写入NAND闪存(非易失性存储器)310中的请求。例如,存储部控制器330可以识别出由于写入数据的请求的原因导致NAND闪存310中的映射信息311之中的与逻辑地址“3”相对应的物理地址改变为“2”。
在操作⑦,根据各种实施例的处理器210可以通过执行存储部300的存储部驱动器215,将第一RAM 400中的特定区域的映射信息的更新请求发送到存储部300。例如,因为将第一RAM 400中的第一区域的映射信息411的更新标志411b设置为“1”,则处理器210可以将第一区域的映射信息411的更新请求发送到存储部300。响应于接收到更新请求,根据各种实施例的存储部300可以从NAND闪存310提取第一区域的映射信息,并且将提取出的映射信息发送到处理器210。
在操作⑧,根据各种实施例的处理器210可以从存储部300接收特定区域的映射信息并且可以将接收到的映射信息存储在第一RAM 400中。可以通过操作⑧将第一RAM 400中用虚线表示的第一区域的映射信息411加载到第一RAM 400中。在特定区域的映射信息411被完全更新的情况下,根据各种实施例的处理器210可以将存储在第一RAM 400中的第一区域的映射信息411的更新标志(need_update标志)411b改变为“0”。如果第一区域的映射信息411的更新标志411b的值为“0”,则例如可以指的是不需要更新存储在第一RAM 400中的第一区域的映射信息411。
根据各种实施例,可以响应于写入数据的请求被完全处理的情况或者响应于数据的请求被完全处理并且不存在当前正在处理的数据的请求的情况,执行更新特定区域的映射信息的操作⑥和⑦。
图9的电子装置的框图示出了根据本公开的各种实施例的电子装置处理删除数据的请求的示例过程。
参照图9,在操作①,根据各种实施例的处理器210可以识别删除特定文件的请求的创建(例如,数据删除I/O请求或数据丢弃I/O请求)。根据各种实施例的处理器210可以识别创建的数据的请求的种类(例如,读取/写入/删除请求),并且可以识别出创建的数据的请求是删除数据的请求。根据各种实施例的处理器210可以通过文件系统213来识别创建了删除数据的请求的特定文件的数据的逻辑地址。例如,处理器210可以识别出创建了删除与包括在A.apk文件214中的逻辑地址“1”至“3”相对应的数据的请求以便删除A.apk文件214。
在操作②,根据各种实施例的处理器210可以通过文件系统213来识别创建了读取数据的请求的特定文件214的信息。根据各种实施例的处理器210可以基于所识别的文件的信息在创建的删除数据的请求中设置标志。
在操作③,响应于创建的数据的请求是删除数据的请求,根据各种实施例的处理器210可以确定包括数据的特定区域的映射信息未被主机端的第一RAM 400管理。处理器210可以针对存储在第一RAM 400中的映射表410中的关于第一区域(例如,区域“1”)的信息将第一区域(例如,区域“1”)的映射信息411的基准标志411a设置为“0”。根据各种实施例的处理器210可以响应于创建的数据的请求是删除数据的请求的情况将第一区域的映射信息411的更新标志(need_update标志)411b设置为“0”。根据各种实施例的处理器210可以从第一RAM 400删除(或卸载)特定区域的映射信息411。由阴影线表示并且可以存储在第一RAM400中的特定区域的映射信息411可以指的是例如稍后要删除的映射信息。
在操作④,根据各种实施例的处理器210可以通过执行存储部驱动器215将删除包括数据的逻辑地址的数据的请求发送到存储部主机控制器220。例如,处理器210可以将删除包括逻辑地址“1”至“3”的数据的请求发送到存储部主机控制器220。
在操作⑤,根据各种实施例的处理器210可以通过存储部主机控制器220将删除包括逻辑地址的数据的请求发送到存储部300。
在操作⑥,根据各种实施例的存储部控制器330可以借助于NAND闪存(例如,非易失性存储器)310来处理删除数据的请求。例如,存储部控制器330可以删除映射到数据的逻辑地址“1”至“3”上的物理地址。
图10是示出根据本公开的各种实施例的电子装置的示例操作的流程图。
参照操作流程图1000,在操作1010,根据各种实施例的处理器210(例如,图4的文件系统213)可以识别出创建了包括在特定文件中的数据的请求。
在操作1020,根据各种实施例的处理器210(例如,图4的文件系统213)可以响应于创建了包括在特定文件中的数据的请求来识别特定文件的信息和数据的请求的种类(或类型)。例如,处理器210可以识别特定文件的扩展名(例如,apk、vdex、so、sc或lib)和属性信息(例如,可执行文件)。例如,处理器210可以识别出特定文件是包括在最近最少使用(LRU)列表中还是最近最多使用列表中。例如,处理器210可以管理和存储在LRU列表中最近最少使用的应用。例如,处理器210可以通过操作系统(OS)或运行的机器来记录和管理最近最多使用列表中的最近最多使用的应用或文件。例如,处理器210可以识别出创建的数据的请求是读取数据的请求、写入数据的请求还是删除数据的请求。
在操作1030,根据各种实施例的处理器210(例如,图4的文件系统213)可以基于所识别的特定文件的信息确定是否在创建的数据的请求中设置标志。例如,处理器210可以响应于确定特定文件是用于执行特定应用的文件的情况在创建的数据请求中设置标志。例如,处理器210可以通过识别出特定文件是否是只读文件借助于主机40端的第一易失性存储器(例如,图4的第一RAM 400)来确定是否适合于管理与数据相对应的特定区域的映射信息,并且处理器210可以响应于处理器210确定适合于借助于第一易失性存储器(例如,图4的第一RAM 400)来管理映射信息的情况来在数据的请求中设置标志。
在操作1040,根据各种实施例的处理器210(例如,存储部驱动器215)可以识别出包括数据的逻辑地址的特定区域的映射信息是否被存储在第一易失性存储器(例如,图4的第一RAM 400)中。例如,处理器210可以识别其中存储部300的非易失性存储器(例如,图4的NAND闪存310)的逻辑地址和物理地址彼此映射的映射信息(例如,图4的NAND闪存310中的L2P映射信息311)之中的包括数据的逻辑地址的特定区域的映射信息被存储在第一易失性存储器(例如,图4的第一RAM 400)中。
在操作1050,根据各种实施例的处理器210(例如,存储部驱动器215)可以基于所识别的数据的请求的种类以及是否在数据的请求中设置了标志来确定是否借助于第一易失性存储器(例如,图4的第一RAM 400)管理特定区域的映射信息。例如,如果所识别的数据的请求的种类是读取数据的请求并且在数据的请求中设置了标志,则处理器210可以确定特定区域的映射信息由第一易失性存储器(例如,图4的第一RAM 400)管理。例如,如果所识别的数据的请求的种类是写入数据的请求并且在数据的请求中设置了标志,则处理器210可以确定特定区域的映射信息由第一易失性存储器(例如,图4的第一RAM 400)管理。例如,如果所识别的数据的请求的种类是删除数据的请求,则处理器210可以确定特定区域的映射信息没有由第一易失性存储器(例如,图4的第一RAM 400)管理。
响应于特定区域的映射信息被确定为由第一易失性存储器(例如,图4的第一RAM400)管理,根据各种实施例的处理器210(例如,存储部驱动器215)可以将第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的基准标志411a设置为“1”。例如,处理器210可以响应于特定区域的映射信息被确定为不由第一易失性存储器(例如,图4的第一RAM 400)管理而将第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的基准标志411a设置为“0”。
在操作1060,根据各种实施例的处理器210(例如,存储部驱动器215)可以基于所识别的数据的请求的种类以及所识别的特定区域的映射信息是否存储在第一易失性存储器(例如,图4的第一RAM 400)中,确定是否更新第一易失性存储器(例如,图4的第一RAM400)中的特定区域的映射信息。
例如,处理器210可以基于所识别的数据的请求是读取数据的请求的情况确定不需要更新第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息,并且特定区域的映射信息被存储在第一易失性存储器(例如,图4的第一RAM 400)中。
例如,处理器210可以基于所识别的数据的请求是读取数据的请求的情况来确定需要更新第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息,并且特定区域的映射信息未存储在第一易失性存储器(例如,图4的第一RAM 400)中。
例如,如果所识别的数据的请求是写入数据的请求,则处理器210可以确定需要更新第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息。
例如,如果所识别的数据的请求是删除数据的请求,则处理器210可以确定不需要更新第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息。
根据各种实施例的处理器210可以响应于确定需要更新特定区域的映射信息的情况将第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的更新标志411b设置为“1”。例如,处理器210可以响应于确定不需要更新特定区域的映射信息将第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的更新标志411b设置为“0”。
图11是示出根据本公开的各种实施例的电子装置的示例操作的流程图。
操作流程图1100示出图10的操作1020和1030的详细操作的示例。
参考操作流程图1100,根据各种实施例的处理器210(例如,图4的文件系统213)可以在操作1110响应于创建包括在特定文件中的数据的请求来识别特定文件的信息。
在操作1120,根据各种实施例的处理器210可以确定特定文件是否是用于执行特定应用的文件作为识别结果。例如,处理器210可以通过识别特定文件的扩展名和属性信息来确定特定文件是否是用于执行特定应用的文件。例如,如果特定文件的扩展名是apk、vdex、so、sc或lib,并且特定文件的属性是可执行文件属性,则处理器210可以确定特定文件是用于执行特定应用的文件。
如果特定文件是被确定为用于执行特定应用的文件,则处理器210可以通过分支操作1130(1120-是)在数据的请求中设置标志。
如果确定该特定文件不是正在用于执行特定应用的文件,则处理器210可以通过分支操作1140(1120-否)来识别该特定文件是否被包括在最近最少使用(LRU)列表或最近最多使用列表中。
响应于特定文件包括在最近最少使用列表或最近最多使用列表中作为识别结果的情况,处理器210可以通过分支操作1130(1140-是)在数据的请求中设置标志。
响应于特定文件未包括在最近最少使用列表或最近最多使用列表中作为识别结果的情况,处理器210可以不通过分支操作1150(1140-否)在数据的请求中设置标志。
图12A和图12B是示出根据本公开的各种实施例的电子装置的示例操作的流程图。与参照图10和图11描述的内容重叠的内容的说明在此不再赘述。
参考操作流程图1200,在操作1201,根据各种实施例的处理器210(例如,图4的文件系统213)可以识别出创建包括在特定文件中的数据的请求。
在操作1203,根据各种实施例的处理器210可以识别出特定文件的文件信息以及数据的请求的种类(例如,读取/写入/删除请求)。
在操作1205,根据各种实施例的处理器210可以基于所识别的特定文件的信息来确定是否在请求中设置了标志。例如,如果确定特定文件是用于执行特定应用的文件或者如果特定文件被包括在最近最少使用(LRU)列表或最近最多使用列表中,则处理器210可以在数据的请求中设置标志。
如果在数据的请求中未设置标志,则处理器210可以通过分支操作1206(1205-否)将数据的请求直接发送到存储部300。
如果在数据的请求中设置了标志,则处理器210可以通过分支操作1207(1205-是)识别数据的请求是否是读取数据的请求。
如果数据的请求不是读取数据的请求作为识别结果,则处理器210的操作可以进行到操作B(1207-否)。下面将参考图12B描述操作B。
如果数据的请求是读取数据的请求作为识别结果,则处理器210可以通过分支操作1209(1207-是)确定包括数据的逻辑地址的特定区域的映射信息由第一易失性存储器(例如,图4的第一RAM 400)管理。例如,如果在创建的读取数据的请求中设置了标志,则处理器210可以确定包括数据的逻辑地址的特定区域的映射信息由第一易失性存储器(例如,第一RAM 400)管理。
在操作1211,根据各种实施例的处理器210可以识别特定区域的映射信息是否被存储在第一易失性存储器(例如,图4的第一RAM 400)中。
如果特定区域的映射信息被存储在第一易失性存储器(例如,图4的第一RAM 400)作为识别结果,则处理器210可以通过分支操作1219(1211-是)使用存储在第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息来识别映射到数据的逻辑地址上的物理地址。在操作1221,根据各种实施例的处理器210可以将读取包括数据的物理地址的数据的请求发送到存储部300。
如果特定区域的映射信息未存储在第一易失性存储器(例如,图4的第一RAM 400)作为识别结果,则处理器210可以通过分支操作1213(1211-否)将读取包括数据的逻辑地址的数据的请求发送到存储部300。
在操作1215,根据各种实施例的处理器210可以确定需要更新第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息,并且因此处理器210可以将更新第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息的请求发送到存储部300。
在操作1217,根据各种实施例的处理器210可以响应于更新请求的发送而从存储部300接收特定区域的映射信息并且可以将接收到的特定区域的映射信息存储在第一易失性存储器(例如,图4的第一RAM 400)中。
根据各种实施例,可以响应于读取数据的请求被完全处理的情况或者响应于数据的请求被完全处理并且不存在当前正在处理的数据的请求的情况,执行用于更新特定区域的映射信息的操作1215和1217。
参照图12B,在操作B,根据各种实施例的处理器210(例如,图4的文件系统213)可以通过分支操作1223中来识别数据的请求是否是写入数据的请求。
如果数据的请求是写入数据的请求作为识别结果,则处理器210可以通过分支操作1225(1223-是)确定特定区域的映射信息由第一易失性存储器(例如,图4的第一RAM400)管理。
在操作1227,根据各种实施例的处理器210可以将写入包括数据的逻辑地址的数据的请求发送到存储部300。
在操作1229,响应于数据的请求是写入数据的请求的情况下,根据各种实施例的处理器210可以确定需要更新第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息,并且处理器210可以将更新第一易失性存储器(例如,图4的第一RAM 400)中的特定区域的映射信息的请求发送到存储部300。
在操作1231,根据各种实施例的处理器210可以响应于发送更新特定区域的映射信息的请求,从存储部300接收更新特定区域的映射信息的请求,并且处理器210可以通过将接收到的特定区域的映射信息存储在第一易失性存储器(例如,图4的第一RAM 400)中来执行更新。
如果数据的请求不是写入数据的请求作为识别结果,则处理器210可以通过分支操作1233(1223-否)来识别出该数据的请求是删除数据的请求。
在操作1235,响应于该数据的请求是删除数据的请求,根据各种实施例的处理器210可以确定特定区域的映射信息没有由第一易失性存储器(例如,图4的第一RAM 400)管理。
在操作1237,根据各种实施例的处理器210可以将删除包括数据的逻辑地址的数据的请求发送到存储部300。
根据各种实施例,可以响应于写入数据的请求被完全处理的情况或者响应于数据的请求被完全处理并且不存在正在被处理的的数据的请求的情况,执行用于更新特定区域的映射信息的操作1229和1231。
图13是示出根据本公开的各种实施例的电子装置的示例操作的流程图。
参照操作流程图1300,在操作1310,根据各种实施例的处理器210(例如,图4的文件系统213)可以识别是否创建了包括在文件中的数据的请求。在操作1320,根据各种实施例的处理器210可以响应于创建文件中包括的数据的请求来识别包括数据的逻辑地址的特定区域的映射信息是否存储在第一易失性存储器(例如,图4的第一RAM 400)中。
在操作1330,根据各种实施例的处理器210可以将数据的请求发送到存储部300。例如,处理器210可以响应于特定区域的映射信息未存储在第一易失性存储器中的情况将包括数据的逻辑地址的数据的请求发送到存储部300。例如,处理器210可以响应于特定区域的映射信息被存储在第一易失性存储器中的情况,通过特定区域的映射信息来识别与数据的逻辑地址相对应的物理地址,并且,处理器210可以将包括数据的物理地址的数据的请求发送到存储部300。
在操作1340,根据各种实施例的处理器210可以响应于特定区域的映射信息未存储在第一易失性存储器中的情况将读取特定区域的映射信息的请求发送到存储部300。根据各种实施例的存储部300可以响应于接收到读取特定区域的映射信息的请求从存储部300的非易失性存储器310识别特定区域的映射信息,并且可以将特定区域的映射信息发送到处理器210。
根据本公开的各种示例实施例的电子装置(例如,电子装置101)可以包括处理器(例如,处理器210)、第一易失性存储器(例如,第一RAM 400)、以及包括非易失性存储器(例如,NAND闪存)和第二易失性存储器(例如,第二RAM 320)的存储部(例如,存储部300)。根据各种实施例的处理器被配置为:响应于创建了数据的请求来识别特定文件的信息和特定文件中包括的数据的请求的种类;基于所识别的特定文件的信息确定是否在请求中设置标志;识别非易失性存储器的逻辑地址和物理地址彼此映射的映射信息中的包括数据的逻辑地址的区域的映射信息是否存储在第一易失性存储器中;基于所识别的请求的种类以及是否在请求中设置了标志,确定是否使用第一易失性存储器管理特定区域的映射信息;以及基于所识别的请求的种类和识别是否存储了映射信息的结果,确定是否更新第一易失性存储器中的特定区域的映射信息。
在根据各种示例实施例的电子装置中,该处理器可以被配置为:识别特定文件的扩展名和属性信息,以及响应于特定文件是用于执行特定应用的文件,在数据的请求中设置标志。
在根据各种示例实施例的电子装置中,该处理器可以被配置为:识别特定文件是包含在最近最少使用列表或最近最多使用列表中,并且响应于特定文件包含在在最近最少使用列表或最近最多使用列表中,在数据的请求中设置标志。
在根据各种示例实施例的电子装置中,该处理器可以被配置为响应于数据的请求是读取数据的请求并且标志被设置在请求中,确定使用第一易失性存储器来管理特定区域的映射信息。
在根据各种示例实施例的电子装置中,该处理器可以被配置为响应于特定区域的映射信息未存储在第一易失性存储器中,向存储部发送读取包括数据的逻辑地址的数据的请求。
在根据各种示例实施例的电子装置101中,该处理器可以被配置为:向存储部发送更新第一易失性存储器中的特定区域的映射信息的请求,以及从存储部接收特定区域的映射信息并将接收到的映射信息存储在第一易失性存储器中。
在根据各种示例实施例的电子装置中,该处理器可以被配置为响应于读取被完全处理后的数据的请求而将更新请求发送到存储部。
在根据各种示例实施例的电子装置中,该处理器可以被配置为响应于不存在当前正在处理的数据的请求向存储部发送更新请求。
在根据各种示例实施例的电子装置中,该处理器可以被配置为:响应于将特定区域的映射信息存储在第一易失性存储器中,通过特定区域的映射信息来识别映射到数据的逻辑地址上的物理地址;以及向存储部发送读取包括所识别的物理地址的数据的请求。
在根据各种示例实施例的电子装置中,该处理器可以被配置为:响应于数据的请求是写入数据的请求,向存储部发送更新第一易失性存储器中的特定区域的映射信息的请求;以及通过从存储部接收特定区域的映射信息来更新第一易失性存储器中的特定区域的映射信息。
在根据各种示例实施例的电子装置中,该处理器可以被配置为响应于数据的请求是删除数据的请求,确定不使用第一易失性存储器管理特定区域的映射信息,以及向存储部发送删除数据的请求。
在根据各种示例实施例的电子装置中,特定区域的映射信息包括用于完整性识别的元数据。
根据本公开的各种示例实施例的使用电子装置(例如,电子装置101)的存储部的方法可以包括:响应于创建了数据的请求来识别特定文件的信息和特定文件中包括的数据的请求的种类;基于所识别的特定文件的信息确定是否在请求中设置标志;识别包括在存储部(例如,存储部300)中的非易失性存储器(例如,NAND闪存310)的逻辑地址和物理地址彼此映射的映射信息中的包括数据的逻辑地址的特定区域的映射信息是否存储在第一易失性存储器(例如,第一RAM 400)中;基于所识别的请求的种类以及是否在请求中设置了标志来确定是否使用第一易失性存储器管理特定区域的映射信息;以及基于所识别的请求的种类和识别是否存储了映射信息的结果,确定是否更新第一易失性存储器中的特定区域的映射信息。
在根据各种示例实施例的使用电子装置的存储部的方法中,识别特定文件的信息包括识别特定文件的扩展名和属性信息,并且设置标志包括响应于特定文件是用于特定应用的文件而在数据的请求中设置标志。
在根据各种示例实施例的使用电子装置的存储部的方法中,确定是否使用第一易失性存储器来管理特定区域的映射信息可以包括:响应于数据的请求是读取数据的请求并且标志被设置在请求中,确定使用第一易失性存储器来管理特定区域的映射信息。
根据各种示例实施例的使用电子装置的存储部的方法还可以包括:响应于特定区域的映射信息未存储在第一易失性存储器中来将读取包括数据的逻辑地址的数据的请求发送到存储部。
根据各种示例实施例的使用电子装置的存储部的方法还可以包括:将更新第一易失性存储器中的特定区域的映射信息的请求发送到存储部,以及从存储部接收特定区域的映射信息并将接收到的映射信息存储到第一易失性存储器中。
在根据各种示例实施例的使用电子装置的存储部的方法中,将更新请求发送到存储部可以包括响应于读取被完全处理后的数据的请求向存储部发送更新请求。
根据本公开的各种示例实施例的电子装置(例如,电子装置101)可以包括处理器(例如,处理器210)、第一易失性存储器(例如,第一RAM 400)、以及包括非易失性存储器(例如,NAND闪存310)和第二易失性存储器(例如,第二RAM 320)的存储部(例如,存储部300)。根据各种实施例的处理器被配置为:响应于创建了文件中包括的数据的请求来识别其中非易失性存储器的逻辑地址和物理地址彼此映射的映射消息中的包括数据的逻辑地址的特定区域的映射信息是否存储在第一易失性存储器中,向存储部发送数据的请求,以及响应于特定区域的映射信息未存储在第一易失性存储器中来向存储部发送读取特定区域的映射信息的请求。
在根据各种示例实施例的电子装置中,该处理器可以被配置为:响应于特定区域的映射信息未存储在第一易失性存储器中,向存储部发送包括数据的逻辑地址的数据的请求,以及响应于特定区域的映射信息存储在第一易失性存储器中向存储部发送包括数据的物理地址的数据的请求。
根据本公开的各种示例实施例的电子装置,该处理器确定并管理要加载到主机装置的易失性存储器中的映射信息的部分区域,因此,可以提高用户所需的数据的请求的处理速度。
根据本公开的各种示例实施例的电子装置,该处理器确定处理器将映射信息加载到主机装置的易失性存储器中的时间,因此,可以减少由于映射信息的加载而导致的开销发生。
根据各种实施例的电子装置可以是各种类型的电子装置之一。电子装置可包括例如便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据本公开的实施例,电子装置不限于以上所述的那些电子装置。
应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或C中的至少一个”的短语中的每一个短语可包括在与所述多个短语中的相应一个短语中一起列举出的项的所有可能组合。如这里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件)结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如,第二元件)连接”或“连接到另一元件(例如,第二元件)”,则意味着所述一元件可与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
如这里所使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并可与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”)可互换地使用。模块可以是被适配为执行一个或更多个功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(ASIC)的形式来实现模块。
可将在此阐述的各种实施例实现为包括存储在存储介质(例如,内部存储器136或外部存储器138)中的可由机器(例如,电子装置101)读取的一个或更多个指令的软件(例如,程序140)。例如,在处理器的控制下,所述机器(例如,电子装置101)的处理器(例如,处理器120)可在使用或无需使用一个或更多个其它部件的情况下调用存储在存储介质中的所述一个或更多个指令中的至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用于根据所调用的至少一个指令执行至少一个功能。所述一个或更多个指令可包括由编译器产生的代码或能够由解释器运行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。其中,术语“非暂时性”仅意味着所述存储介质是有形装置,并且不包括信号(例如,电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与数据被临时存储在存储介质中之间进行区分。
根据实施例,可在计算机程序产品中包括和提供根据本公开的各种实施例的方法。计算机程序产品可作为产品在销售者和购买者之间进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器(CD-ROM))的形式来发布计算机程序产品,或者可经由应用商店(例如,Play StoreTM)在线发布(例如,下载或上传)计算机程序产品,或者可直接在两个用户装置(例如,智能电话)之间分发(例如,下载或上传)计算机程序产品。如果是在线发布的,则计算机程序产品中的至少部分可以是临时产生的,或者可将计算机程序产品中的至少部分至少临时存储在机器可读存储介质(诸如制造商的服务器、应用商店的服务器或转发服务器的存储器)中。
根据各种实施例,上述部件中的每个部件(例如,模块或程序)可包括单个实体或多个实体。根据各种实施例,可省略上述部件中的一个或更多个部件,或者可添加一个或更多个其它部件。可选择地或者另外地,可将多个部件(例如,模块或程序)集成为单个部件。在这种情况下,根据各种实施例,该集成部件可仍旧按照与所述多个部件中的相应一个部件在集成之前执行一个或更多个功能相同或相似的方式,执行所述多个部件中的每一个部件的所述一个或更多个功能。根据各种实施例,由模块、程序或另一部件所执行的操作可顺序地、并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更多个操作可按照不同的顺序来运行或被省略,或者可添加一个或更多个其它操作。
尽管已经参考各种示例实施例示出和描述了本公开,但是将理解的是,各种示例实施例旨在是说明性的,而不是限制性的。本领域普通技术人员将理解,可以在形式和细节上进行各种改变,而不背离包括所附权利要求及其等同物的本公开的真实精神和完整范围。
Claims (20)
1.一种电子装置,所述电子装置包括:
处理器;
第一易失性存储器;以及
存储部,所述存储部包括非易失性存储器和第二易失性存储器,
其中,所述处理器被配置为:
响应于创建了对于文件中包括的数据的请求来识别所述文件的信息和对于数据的请求的种类,
基于所识别的所述文件的信息确定是否在所述请求中设置标志,
识别所述非易失性存储器的逻辑地址和物理地址彼此映射的映射信息中的包括所述数据的逻辑地址的区域的映射信息是否存储在所述第一易失性存储器中,
基于所识别的请求的种类以及是否在所述请求中设置了标志,确定是否使用所述第一易失性存储器来管理包括所述数据的逻辑地址的区域的映射信息,以及
基于所识别的请求的种类和识别是否存储了所述映射信息的结果,确定是否更新所述第一易失性存储器中包括所述数据的逻辑地址的区域的映射信息。
2.根据权利要求1所述的电子装置,其中,所述处理器进一步被配置为:
识别所述文件的扩展名和属性信息,以及
响应于所述文件是用于执行特定应用的文件,在针对所述数据的请求中设置所述标志。
3.根据权利要求1所述的电子装置,其中,所述处理器进一步被配置为:
识别所述文件是包含在最近最少使用列表还是最近最多使用列表中,并且
响应于所述文件包含在在最近最少使用列表还是最近最多使用列表中,在所述数据的请求中设置所述标志。
4.根据权利要求1所述的电子装置,其中,所述处理器进一步被配置为:响应于所述数据的请求是读取所述数据的请求并且所述标志被设置在所述请求中,确定使用所述第一易失性存储器来管理包括所述数据的逻辑地址的区域的映射信息。
5.根据权利要求4所述的电子装置,其中,所述处理器进一步被配置为:响应于包括所述数据的逻辑地址的区域的映射信息未存储在所述第一易失性存储器中,向所述存储部发送读取包括所述数据的逻辑地址的数据的请求。
6.根据权利要求5所述的电子装置,其中,所述处理器进一步被配置为:
向所述存储部发送更新所述第一易失性存储器中包括所述数据的逻辑地址的区域的映射信息的请求,以及
从所述存储部接收包括所述数据的逻辑地址的区域的映射信息并将所接收到的映射信息存储在所述第一易失性存储器中。
7.根据权利要求6所述的电子装置,其中,所述处理器进一步被配置为响应于读取所述数据的请求被完全处理而向所述存储部发送所述更新请求。
8.根据权利要求6所述的电子装置,其中,所述处理器进一步被配置为响应于不存在针对当前正在处理的数据的请求,向所述存储部发送所述更新请求。
9.根据权利要求4所述的电子装置,其中,所述处理器进一步被配置为:
响应于包括所述数据的逻辑地址的区域的映射信息存储在所述第一易失性存储器中,通过包括所述数据的逻辑地址的区域的映射信息来识别映射到所述数据的逻辑地址上的物理地址;以及
向所述存储部发送读取包括所识别的物理地址的所述数据的请求。
10.根据权利要求1所述的电子装置,其中,所述处理器进一步被配置为:
响应于所述数据的请求是写入所述数据的请求,向所述存储部发送更新所述第一易失性存储器中包括所述数据的逻辑地址的区域的映射信息的请求,以及
通过从所述存储部接收包括所述数据的逻辑地址的区域的映射信息来更新所述第一易失性存储器中包括所述数据的逻辑地址的区域的映射信息。
11.根据权利要求1所述的电子装置,其中,所述处理器进一步被配置为:
响应于所述数据的请求是删除所述数据的请求,确定不使用所述第一易失性存储器来管理包括所述数据的逻辑地址的区域的映射信息,以及
向所述存储部发送删除所述数据的请求。
12.根据权利要求1所述的电子装置,其中,包括所述数据的逻辑地址的区域的映射信息包括用于完整性识别的元数据。
13.一种使用电子装置的存储部的方法,所述方法包括:
响应于创建了针对文件中包括的数据的请求来识别所述文件的信息和针对数据的请求的种类,
基于所识别的所述文件的信息确定是否在所述请求中设置标志;
识别所述存储部中包括的非易失性存储器的逻辑地址和物理地址彼此映射的映射信息中的包括所述数据的逻辑地址的区域的映射信息是否存储在第一易失性存储器中;
基于所识别的请求的种类以及是否在所述请求中设置了标志,确定是否使用所述第一易失性存储器来管理包括所述数据的逻辑地址的区域的映射信息;以及
基于所识别的请求的种类和识别是否存储了所述映射信息的结果,确定是否更新所述第一易失性存储器中包括所述数据的逻辑地址的区域的映射信息。
14.根据权利要求13所述的方法,其中,识别所述文件的信息包括识别所述文件的扩展名和属性信息,以及
设置所述标志包括响应于所述文件是用于特定应用的文件而在所述数据的请求中设置所述标志。
15.根据权利要求13所述的方法,其中,确定是否使用所述第一易失性存储器来管理包括所述数据的逻辑地址的区域的映射信息包括:响应于所述数据的请求是读取所述数据的请求并且在所述请求中设置了所述标志,确定使用所述第一易失性存储器来管理包括所述数据的逻辑地址的区域的映射信息。
16.根据权利要求15所述的方法,所述方法还包括:响应于包括所述数据的逻辑地址的区域的映射信息未存储在所述第一易失性存储器中,向所述存储部发送读取包括所述数据的逻辑地址的数据的请求。
17.根据权利要求16所述的方法,所述方法还包括:
向所述存储部发送更新所述第一易失性存储器中包括所述所述数据的逻辑地址的区域的映射信息的请求;以及
从所述存储部接收包括所述数据的逻辑地址的区域的映射信息并将所接收到的映射信息存储在所述第一易失性存储器中。
18.根据权利要求17所述的方法,其中,向所述存储部发送更新请求包括:响应于读取所述数据的请求被完全处理而向所述存储部发送所述更新请求。
19.一种电子装置,所述电子装置包括:
处理器;
第一易失性存储器;以及
存储部,所述存储部包括非易失性存储器和第二易失性存储器,
其中,所述处理器被配置为:
响应于创建了针对文件中包括的数据的请求来识别所述非易失性存储器的逻辑地址和物理地址彼此映射的映射消息中的包括数据的逻辑地址的区域的映射信息是否存储在所述第一易失性存储器中,
向所述存储部发送针对所述数据的请求,以及
响应于包括所述数据的逻辑地址的区域的映射信息未存储在所述第一易失性存储器中,向所述存储部发送读取所述区域的映射信息的请求。
20.根据权利要求19所述的电子装置,其中,所述处理器进一步被配置为:
响应于包括所述数据的逻辑地址的区域的映射信息未存储在所述第一易失性存储器中,向所述存储部发送包括所述数据的逻辑地址的数据的请求;以及
响应于包括所述数据的逻辑地址的区域的映射信息存储在所述第一易失性存储器中,向所述存储部发送包括所述数据的物理地址的数据的请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190071473A KR20200143871A (ko) | 2019-06-17 | 2019-06-17 | 스토리지를 포함하는 전자 장치 및 그의 스토리지 이용 방법 |
KR10-2019-0071473 | 2019-06-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112100088A true CN112100088A (zh) | 2020-12-18 |
Family
ID=71092433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010544800.5A Pending CN112100088A (zh) | 2019-06-17 | 2020-06-15 | 电子装置以及使用该电子装置的存储部的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11656999B2 (zh) |
EP (1) | EP3754509B1 (zh) |
KR (1) | KR20200143871A (zh) |
CN (1) | CN112100088A (zh) |
WO (1) | WO2020256301A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022193126A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Performance benchmark for host performance booster |
CN117668319A (zh) * | 2024-02-01 | 2024-03-08 | 荣耀终端有限公司 | 数据查询方法、电子设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220132865A (ko) * | 2021-03-24 | 2022-10-04 | 삼성전자주식회사 | 스토리지를 포함하는 전자 장치 및 그 방법 |
CN113227995A (zh) * | 2021-03-31 | 2021-08-06 | 长江存储科技有限责任公司 | 用于闪存存储器的文件系统和主机性能增强器 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6922708B1 (en) * | 1999-02-18 | 2005-07-26 | Oracle International Corporation | File system that supports transactions |
US7739476B2 (en) * | 2005-11-04 | 2010-06-15 | Apple Inc. | R and C bit update handling |
US7549035B1 (en) * | 2006-09-22 | 2009-06-16 | Sun Microsystems, Inc. | System and method for reference and modification tracking |
US7836226B2 (en) * | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8171219B2 (en) * | 2009-03-31 | 2012-05-01 | Intel Corporation | Method and system to perform caching based on file-level heuristics |
JP5323030B2 (ja) * | 2010-12-01 | 2013-10-23 | 株式会社東芝 | メモリ装置及びメモリ制御方法 |
JP2013033337A (ja) | 2011-08-01 | 2013-02-14 | Toshiba Corp | 情報処理装置及び半導体記憶装置 |
US10102117B2 (en) * | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9263082B2 (en) * | 2013-01-30 | 2016-02-16 | International Business Machines Corporation | High density hybrid storage system |
US9575884B2 (en) | 2013-05-13 | 2017-02-21 | Qualcomm Incorporated | System and method for high performance and low cost flash translation layer |
US10268584B2 (en) | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
US9880939B2 (en) * | 2015-09-04 | 2018-01-30 | Toshiba Memory Corporation | Memory system and information processing system |
US10229051B2 (en) * | 2015-12-30 | 2019-03-12 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
CN109074318B (zh) | 2016-05-31 | 2023-07-04 | 桑迪士克科技有限责任公司 | 用于执行转换层表的自适应主机存储器缓冲区高速缓存的系统和方法 |
KR102667430B1 (ko) | 2016-08-04 | 2024-05-23 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
US10635584B2 (en) | 2017-06-29 | 2020-04-28 | Western Digital Technologies, Inc. | System and method for host system memory translation |
JP2019049876A (ja) | 2017-09-11 | 2019-03-28 | 大日本印刷株式会社 | 電子情報記憶媒体、icカード、電子情報記憶媒体によるテーブル管理方法及びテーブル管理プログラム |
KR102411290B1 (ko) | 2017-10-24 | 2022-06-22 | 삼성전자주식회사 | 선택적으로 퍼지 동작을 수행하도록 구성되는 호스트 장치 및 스토리지 장치를 포함하는 스토리지 시스템 |
US10712949B2 (en) * | 2017-11-09 | 2020-07-14 | Western Digital Technologies, Inc. | Adaptive device quality of service by host memory buffer range |
US20190042460A1 (en) * | 2018-02-07 | 2019-02-07 | Intel Corporation | Method and apparatus to accelerate shutdown and startup of a solid-state drive |
US11966329B2 (en) * | 2018-04-12 | 2024-04-23 | Micron Technology, Inc. | Address map caching for a memory system |
KR20190120573A (ko) * | 2018-04-16 | 2019-10-24 | 에스케이하이닉스 주식회사 | 메모리 시스템, 데이터 처리 시스템 및 메모리 시스템의 동작 방법 |
-
2019
- 2019-06-17 KR KR1020190071473A patent/KR20200143871A/ko unknown
-
2020
- 2020-05-27 WO PCT/KR2020/006848 patent/WO2020256301A1/en active Application Filing
- 2020-06-09 US US16/896,524 patent/US11656999B2/en active Active
- 2020-06-11 EP EP20179525.9A patent/EP3754509B1/en active Active
- 2020-06-15 CN CN202010544800.5A patent/CN112100088A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022193126A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Performance benchmark for host performance booster |
CN117668319A (zh) * | 2024-02-01 | 2024-03-08 | 荣耀终端有限公司 | 数据查询方法、电子设备及存储介质 |
CN117668319B (zh) * | 2024-02-01 | 2024-06-18 | 荣耀终端有限公司 | 数据查询方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20200143871A (ko) | 2020-12-28 |
EP3754509A1 (en) | 2020-12-23 |
US11656999B2 (en) | 2023-05-23 |
WO2020256301A1 (en) | 2020-12-24 |
EP3754509B1 (en) | 2023-02-22 |
US20200394139A1 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11507299B2 (en) | Method for processing data and electronic device supporting same | |
US11656999B2 (en) | Electronic device and method for determining and managing a partial region of mapping information in volatile memory | |
US11157264B2 (en) | Electronic device and method for controlling update of electronic device | |
US11379458B2 (en) | Electronic device and data management method thereof | |
US11086538B2 (en) | Method and electronic device for initializing storage | |
CN111666224B (zh) | 电子装置和用于利用电子装置的存储器空间的方法 | |
KR20220132865A (ko) | 스토리지를 포함하는 전자 장치 및 그 방법 | |
US20230244406A1 (en) | Electronic device and storage management method using same | |
US20210026807A1 (en) | Method for managing data associated with application and electronic device therefor | |
US11341095B2 (en) | Electronic device for searching for file information stored in external device and operation method thereof | |
US11237741B2 (en) | Electronic device and control method for controlling memory | |
KR20210101693A (ko) | 스토리지를 포함하는 전자 장치 및 이를 이용한 스토리지로 파일 시스템의 디스카드 커맨드 전달 방법 | |
EP4357928A1 (en) | Methods and system for efficient access to solid state drive | |
US20230024420A1 (en) | Methods and devices for file read latency reduction | |
EP4336337A1 (en) | Memory system and operating method for increasing data protection in storage failure scenarios and electronic device including the same | |
US20220308994A1 (en) | Electronic device including storage and method thereof | |
US20230393906A1 (en) | Method and system for accelerating application performance in solid state drive | |
US11907166B2 (en) | Electronic device and method for updating database based on reserved space | |
CN110442569B (zh) | 在键值固态设备中进行数据分析的装置和方法 | |
US20240160429A1 (en) | Firmware upgrade method of network storage and network storage | |
US20230177005A1 (en) | Electronic device and method for operating file system | |
CN117687567A (zh) | 存储器系统、存储器系统的方法和电子装置 | |
CN117194004A (zh) | 存储器装置及其操作方法 | |
CN117908766A (zh) | 用于高效访问固态驱动器的方法和系统 |
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 |