CN111666224B - 电子装置和用于利用电子装置的存储器空间的方法 - Google Patents

电子装置和用于利用电子装置的存储器空间的方法 Download PDF

Info

Publication number
CN111666224B
CN111666224B CN202010134718.5A CN202010134718A CN111666224B CN 111666224 B CN111666224 B CN 111666224B CN 202010134718 A CN202010134718 A CN 202010134718A CN 111666224 B CN111666224 B CN 111666224B
Authority
CN
China
Prior art keywords
space
data storage
electronic device
size
fast 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
Application number
CN202010134718.5A
Other languages
English (en)
Other versions
CN111666224A (zh
Inventor
李昶宪
文胜道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from KR1020190070430A external-priority patent/KR20200107716A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN111666224A publication Critical patent/CN111666224A/zh
Application granted granted Critical
Publication of CN111666224B publication Critical patent/CN111666224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/311In host system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/463File
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种电子装置和用于利用电子装置的存储器空间的方法,所述电子装置可包括:显示器;存储器,包括未存储数据的第一空间和存储数据的第二空间;以及处理器。处理器可被配置为控制电子装置进行以下操作:接收用于输入存储器的快速数据存储模式的设置值的输入,基于快速数据存储模式的设置值,将电子装置的文件系统的预定大小的自由空间分配为用于快速数据存储模式的临时存储器空间,控制存储器将预定大小的第一空间分配为与临时存储器空间的大小相应的用于快速数据存储模式的借用空间,识别通过快速数据存储模式开始数据存储的事件的发生,并且响应于所述事件的发生,控制存储器通过快速数据存储模式使用借用空间执行数据存储。

Description

电子装置和用于利用电子装置的存储器空间的方法
技术领域
本公开涉及一种电子装置和用于利用电子装置的存储器空间的方法。例如,本公开涉及一种电子装置和用于通过文件系统执行存储器的快速数据存储模式的方法。
背景技术
通常,诸如便携式终端装置的电子装置可具有使用以高密度存储数据的模式的存储器以便存储大量的数据。
当在电子装置的存储器中存储数据时使用高密度数据存储模式使得比使用低密度数据存储模式存储更大量的数据。然而,可能牺牲数据存储速度。
随着高速数据传输技术的发展,也研究并开发了在存储器中快速存储接收的数据的技术。
为了提高存储器的数据存储速度,存储器可例如在后台处理中使用快速数据存储模式,在快速数据存储模式中,通过低密度数据存储模式将数据临时存储在存储器空间的一部分中并且随后通过高密度数据存储模式再次存储数据。在这种情况下,存储器将一定大小的存储器空间分配用于临时地存储数据,但电子装置的处理器难以识别分配的存储器空间的大小。
因此,尽管电子装置的存储器使用以上快速数据存储模式,但即使在被分配为数据已经被临时存储的临时存储器空间的部分中,处理器也可生成用于存储数据的写入I/O请求。其结果是,存储器必须将临时存储器空间恢复为空闲空间,使得数据处理时间可能被延迟。
此外,当电子装置连续激活并使用存储器的快速数据存储模式时,会不必要地浪费存储器空间并且会减少存储器的寿命。
发明内容
本公开的实施例提供一种通过以下操作解决上述缺点的方法和装置:允许用户通过文件系统设置并管理在存储器的存储器空间中被临时分配用于快速数据存储模式的空间的大小,并且通过确定激活快速数据存储模式/使快速数据存储模式去激活的时间点有效地使用存储器的快速数据存储模式。
根据本公开的各种实施例,一种电子装置可包括:显示器;存储器,包括被配置为未存储数据的第一空间和被配置为存储数据的第二空间;以及处理器。处理器可被配置为控制电子装置进行以下操作:接收用于输入存储器的快速数据存储模式的设置值的输入,基于快速数据存储模式的设置值将电子装置的文件系统的预定大小的自由空间分配为用于快速数据存储模式的临时存储器空间,控制存储器将预定大小的第一空间分配为与临时存储器空间的大小相应的用于快速数据存储模式的借用空间,识别通过快速数据存储模式开始数据存储的事件的发生,并且响应于所述事件的发生,控制存储器通过快速数据存储模式使用借用空间执行数据存储。
根据本公开的各种示例实施例,一种用于利用电子装置的存储器空间的方法可包括:接收用于输入存储器的快速数据存储模式的设置值的输入;基于快速数据存储模式的设置值将电子装置的文件系统的预定大小的自由空间分配为用于快速数据存储模式的临时存储器空间;将存储器的预定大小的第一空间分配为与临时存储器空间的大小相应的用于快速数据存储模式的借用空间,其中,第一空间未存储数据;识别通过快速数据存储模式开始数据存储的事件的发生;并且响应于所述事件的发生,在存储器中通过快速数据存储模式使用借用空间执行数据存储。
根据本公开的各种示例实施例,电子装置可允许用户通过文件系统设置并管理在存储器的存储器空间中被临时分配用于快速数据存储模式的空间的大小。经由文件系统防止并且/或者减少存储器的内部数据I/O请求和用户的数据I/O请求之间的重叠,因此减小数据处理延迟和性能劣化。
此外,电子装置可通过确定激活快速数据存储模式/使快速数据存储模式去激活的时间点有效地使用存储器的快速数据存储模式。
附图说明
从以下结合附图的详细描述,本公开的特定实施例的上述及其他方面、特征和优点将会更加明显。
图1是示出根据各种实施例的网络环境中的示例电子装置的框图;
图2A、图2B和图2C是示出根据各种实施例的电子装置的示例硬件/软件架构的框图;
图3A、图3B、图3C和图3D是示出根据各种实施例的通过文件系统识别的存储装置的存储器空间的示例大小和存储装置内的实际存储器空间的大小的示图;
图4是示出根据各种实施例的电子装置的示例硬件/软件分层架构的框图;
图5是示出根据各种实施例的电子装置的示例操作的流程图;
图6是示出根据各种实施例的示例电子装置在基于用户的设置值执行用于设置用于快速数据存储模式的借用空间的设置操作时的示例操作的框图;
图7是示出根据各种实施例的示例电子装置的示例操作的流程图;
图8A和图8B是示出根据各种实施例的当快速数据存储开始时的示例电子装置的示例操作的框图;
图9是示出根据各种实施例的示例电子装置的示例操作的流程图;
图10是示出根据各种实施例的示例电子装置的示例操作的流程图;
图11是示出根据各种实施例的示例电子装置在基于生成的存储I/O请求的量或数量执行用于设置用于快速数据存储模式的借用空间的设置操作时的示例操作的框图;以及
图12是示出根据各种实施例的示例电子装置的示例操作的流程图。
具体实施方式
在下文中,将参照附图更详细地描述本公开的各种示例实施例。
图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和图2C是示出根据各种实施例的示例电子装置的硬件/软件架构的框图。
首先参照图2A,根据各种实施例的电子装置101可包括主机220和存储装置230(例如,图1中的存储器130)。图2A中示出的组件中的一些组件可被省略或者被代替。根据各种实施例,电子装置101可包括显示器(未示出,例如,图1中的显示装置160)、电池(未示出,例如,图1中的电池189)和/或电力管理模块(未示出,例如,图1中的电力管理模块188)。根据各种实施例,电子装置101还可包括相机(例如,图1中的相机模块180)、LCD(例如,图1中的显示装置160)、扬声器(例如,图1中的声音输出装置155)、触摸屏(例如,图1中的显示装置160)、通信电路(例如,图1中的通信模块190)和/或USB(例如,图1中的连接端178)中的至少一个。
根据各种实施例,主机220可以是例如,包括例如用户应用和操作系统(OS)的软件运行的环境。主机220可将用于在软件操作期间生成的数据的各种数据输入/输出(I/O)请求发送到存储装置230。主机220可以是例如,包括芯片组的功能的片上系统(SoC),其中,芯片组执行电子装置101的各种应用的操作和图形处理。根据各种实施例,通过应用处理器(例如,图1中的处理器120)控制存储装置230的配置可例如被称为主机。
根据各种实施例,主机220可包括应用处理器(AP)(未示出,例如,图1中的处理器120)并且在应用处理器的控制下控制电子装置101的各个组件。根据各种实施例,应用处理器可被配置为执行与电子装置101的各个组件的控制和/或通信相关的操作或数据处理,并且可包括图1中示出的处理器120的配置和/或功能的至少一部分。例如,应用处理器可以可操作地连接到电子装置101的组件。
根据各种实施例,主机220可包括应用221、存储驱动器223、控制器(例如,包括处理电路)225和/或存储接口(例如,包括接口电路)227。通过虚线指示的应用221和存储驱动器223可以是例如包含在应用处理器中的例如软件程序。
根据各种实施例,控制器225可包括例如执行与主机220的各个组件的控制和/或通信相关的操作或数据处理的各种处理和/或控制电路。控制器225可包括控制电子装置101的各个组件的控制器。例如,控制器225可包括控制存储装置230的操作的存储主机控制器225a。
根据各种实施例,控制器225可通过主机220的存储接口227将各种控制命令发送到存储装置230。例如,控制器225的存储主机控制器225a可通过存储驱动器223从应用221接收数据存储请求,并且响应于数据存储请求,通过存储接口227将数据写入I/O请求发送到存储装置230。根据各种实施例,主机220的存储接口227可包括提供数据链路功能的各种链路接口。主机220的存储接口227可包括例如但不限于,在MIPI联盟中定义的MIPI M-PHY接口或MIPI unipro接口。主机220可通过例如MIPI M-PHY接口或MIPI unipro接口执行与存储装置230的高速数据通信。
根据各种实施例,显示器(未示出)可在处理器的控制下输出各种屏幕。显示器(未示出)可包括例如能够识别各种外部对象的接触或接近(例如,悬停)的触摸传感器面板(TSP)。触摸传感器面板可具有各种结构和类型,并且无论触摸传感器面板的结构和类型如何都可应用本公开。
根据各种实施例,存储装置230可存储通过电子装置101的至少一个组件(例如,应用处理器)使用的各种数据。这样的数据可包括例如用于相关命令的软件(例如,图1中的程序140)和I/O数据,但本公开不限于此。
根据各种实施例,存储装置230可包括闪存231、存储装置控制器(例如,包括处理和/控制电路)233和/或存储接口(例如,包括接口电路)235。
根据各种实施例,闪存231可以是例如非易失性存储器(例如,图1中的非易失性存储器134)。闪存231可包括例如符合通用闪存(UFS)标准的NAND闪存231。根据各种实施例,存储装置控制器233可包括执行与存储装置230的各个组件的控制和/或通信相关的操作或数据处理的各种处理和/或控制电路。存储装置控制器233可通过存储装置230的存储接口235从主机220接收各种控制命令。例如,存储装置控制器233可通过存储装置230的存储接口235从主机220接收包括例如但不限于数据写入I/O请求、数据读取I/O请求或数据删除I/O请求的数据请求。根据各种实施例,存储装置230的存储接口235可包括提供数据链路功能的各种链路接口。存储装置230的存储接口235可包括例如但不限于在MIPI联盟中定义的MIPI M-PHY接口或MIPI unipro接口。
根据各种实施例,存储装置控制器233的存储管理单元233a可包括各种存储管理电路并且可配置并控制至少一个逻辑单元233b。例如,至少一个逻辑单元233b可存储与闪存231的至少一个存储器单元231a相应的数据。
根据各种实施例,存储装置230的闪存231可根据可被存储在一个单元中的数据比特的数量使用各种数据存储模式。例如,单层单元(SLC)模式可每单元存储一比特数据,多层单元(MLC)模式可每单元存储两比特数据,三层单元(TLC)模式可每单元存储三比特数据,并且四层单元(QLC)模式可每单元存储四比特数据。与使用SLC或MLC模式的存储装置相比,使用TLC或QLC模式的存储装置可实现相对高密度的数据存储,但可能牺牲数据存储速度(或写入速度)。
根据各种实施例,存储装置230可在两个存储模式之间进行转换。例如,在TLC模式下将数据存储在闪存231中的存储装置230可在必须以高速存储数据的情况下将存储模式临时转换成SLC模式。在本公开中,此方案将被称为“快速数据存储模式”。
根据各种实施例,使用TLC模式的存储装置230可使用快速数据存储模式来提高存储速度(或写入速度)。例如,快速数据存储模式可以是通过SLC模式将数据临时存储在存储装置230中并且其后通过TLC模式将数据再次内部地存储在存储装置230中的技术。在根据SLC模式临时存储数据的处理中,存储装置230可将存储装置230的一定大小的空闲空间(例如,未存储数据的空间)作为借用空间来分配并使用。存储装置230可根据TLC模式将数据内部地重新存储在存储装置230中。这种重新存储的处理可以是例如UFS标准turbo写入(TW)模式的刷新处理(例如,迁移处理)。在重新存储处理中,临时存储在借用空间中的数据可被删除以将借用空间恢复为空闲空间。例如,存储装置230的一定大小的空闲空间可被借用作为用于在SLC模式下临时存储数据的快速写入缓冲空间,并且通过电子装置101的文件系统传输的数据可被临时地存储在快速写入缓冲空间中。存储在快速写入缓冲空间中的数据可通过在TLC模式下重新写入数据被移动并被再次存储在存储装置230内。通过TLC模式重新写入处理可以是存储装置230的通过文件系统不可识别的内部处理,使得用户可仅仅感觉到存储速度变快。根据各种实施例,快速数据存储模式可以是例如JEDEC标准UFS 3.1的turbo写入模式。
根据各种实施例,主机220的应用处理器(例如,图1中的处理器120)可通过电子装置101的文件系统将文件形式的数据存储在存储装置230中。文件系统可指例如由应用处理器管理以将数据存储在存储装置230中的数据结构。电子装置101可利用文件系统来有效地将数据写入存储装置230中或者从存储装置230读取数据。例如,当通过文件系统将数据存储在存储装置230中时,应用处理器可将存储器写入I/O请求或存储装置写入I/O请求传输到存储装置230。文件系统可包括例如但不限于文件分配表16(FAT16)、文件分配表32(FAT32)、新技术文件系统(NTFS)、第二扩展文件系统(ext2)、ext3、ext4、闪存友好型文件系统(F2FS)或ReiserFS。
根据各种实施例,通信电路(未示出)可建立与外部装置的通信信道并且将各种数据发送到外部装置/从外部装置接收各种数据。在各种实施例中,通信电路可被配置为包括将被连接到蜂窝网络(例如,3G、LTE、5G、Wibro、Wimax等)的蜂窝通信模块。在各种实施例中,通信电路可包括包含各种通信电路的短距离通信模块以通过短距离通信(例如,Wi-Fi、蓝牙、蓝牙低能耗(BLE)、UWB等)将数据发送到外部装置/从外部装置接收数据。
根据各种实施例,连接端(未示出)可包括可物理地连接到外部装置(例如,USB存储器)的连接器。在各种实施例中,连接端可包括例如但不限于,HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。例如,电子装置101可通过USB连接器被连接到符合USB 3.1或USB 3.0标准的USB存储器。
图2B是示出根据各种实施例的示例电子装置的框图。图2B示出当大量的数据从外部被发送到电子装置时电子装置的示例操作。
参照图2B,在各种实施例中,电子装置101的主机220可通过网络241、连接端243或传感器(未示出)接收大量的数据。高速大数据可通过主机220的通信电路(例如,5G调制解调器222a、Wi-Fi通信模块222b)、连接端(例如,USB 3.1连接端222c)或相机222d被提供给AP 229。当以高速从外部接收到大量的数据时,主机220的应用处理器229(例如,图1中的处理器120)可能必须将大量的数据快速地存储在存储装置230中。因为存储装置230可使用高密度数据存储模式(例如,TLC、QLC)来存储大量的数据,所以可能需要在使用高密度数据存储模式的同时以高速度存储数据的技术。为了提高存储装置230的数据存储速度,存储装置230可使用通过低密度数据存储模式(例如,SLC)将数据临时存储在存储器空间的一部分中并且随后通过高密度数据存储模式(例如,MLC、TLC或QLC)再次存储数据的上述快速数据存储模式。快速数据存储模式可以是例如JEDEC标准UFS 3.1的turbo写入模式。
图2C是示出根据各种实施例的示例电子装置的框图。图2C示出了通过激活电子装置的存储装置的快速数据存储模式(或功能)存储数据的模式。
参照图2C,在各种实施例中,主机220可在应用处理器229(例如图1中的处理器120)的控制下激活(开启)快速数据存储模式或使快速数据存储模式去激活(关闭)。应用处理器229可将控制命令发送到存储装置230以促使存储装置230通过快速数据存储模式(例如,turbo写入模式)存储数据。在实施例中,应用处理器229可确定是否发生被预定义为通过快速数据存储模式开始存储数据的特定事件,并且响应于发生预定义的事件将以上控制命令发送到存储装置230。
根据各种实施例,在存储装置230中,闪存231的存储器空间(例如,图2A中的存储器单元231a)可包括缓冲空间231b和通用存储器空间231c。缓冲空间231b可以是被分配用于通过SLC模式以高速存储数据的借用空间。通用存储器空间231c可以是用于通过TLC(或MLC或QLC)模式存储数据的存储器空间。缓冲空间231b可以是借用存储器装置230的通用存储器空间231c的空闲空间的一部分用于快速数据存储模式的空间,并且因此可以不是固定的存储器空间。根据各种实施例,在需要的情况下,存储装置230可将通用存储器空间231c的空闲空间中具有预定大小的特定空间分配为用于快速数据存储模式的借用空间。在各种实施例中,当不使用快速数据存储模式时,存储装置230可将分配的缓冲空间231b恢复为通用存储器空间231c。
根据各种实施例,当从主机220的应用处理器229接收到用于通过快速数据存储模式执行数据存储的控制命令时,存储装置230可将闪存的存储器空间的一部分分配为用于快速数据存储模式的缓冲空间231b。
根据各种实施例,存储装置230的缓冲空间231b的大小可基于例如由用户设置的快速数据存储模式的设置值来确定。在实施例中,存储装置230的闪存231可通过TLC模式将数据存储在通用存储器空间中并且也可通过作为快速数据存储模式的SLC模式将数据存储在缓冲空间中。例如,当发生具有10GB的大小的数据写入请求时,存储装置230可将缓冲空间231b分配为30GB的大小。这样的数据存储模式和数据大小仅是示例,并且任何其他模式和大小可被应用。
图3A、图3B、图3C和图3D是示出根据各种实施例的通过文件系统识别的存储装置的存储器空间的大小和在存储装置内的实际存储器空间的大小的示例的示图。
例如,在图3A和图3B中,附图标号310指示当快速数据存储模式被执行时通过文件系统识别的存储装置230的存储器空间的大小,并且附图标号320指示在存储装置230内的实际存储器空间的大小。
参照图3A和图3B,在各种实施例中,应用处理器229(例如,图1中的处理器120)可通过文件系统识别并管理存储装置230(例如,图1中的非易失性存储器134)的存储器空间。应用处理器229可通过文件系统将数据存储在存储装置230中。通过文件系统识别的存储装置230的存储器空间(在下文中,被称为文件系统的存储器空间)可包括尚未存储数据的自由空间311(在下文中,被称为文件系统的自由空间)和存储了数据的空间313。数据存储的空间313可包括例如存储了用户数据的用户数据空间(在下文中,被称为文件系统的用户数据空间)和存储了系统数据的系统数据空间(在下文中,被称为文件系统的系统数据空间)。
根据各种实施例,在存储装置230内的存储器空间可包括未存储数据的空闲空间321、通过应用处理器229存储了数据的已用空间323、以及存储了由存储装置230本身使用的元数据的元数据空间325。空闲空间321、已用空间323和元数据空间325是例如用于通过预定的存储模式(例如,TLC)存储数据的空间并且可以是图2C中示出的通用存储器空间231c。元数据空间325可以是不被文件系统识别的隐藏空间。文件系统的自由空间311可与存储装置230的空闲空间321相应,并且文件系统的用户数据空间和系统数据空间可与存储装置230的已用空间323相应。
根据各种实施例,当接收到将数据存储在文件系统的自由空间311中的数据写入输入/输出请求(即,存储装置写入I/O或存储器写入I/O)时,应用处理器229可控制存储装置230将数据存储在空闲空间321中。
根据各种实施例,为了通过快速数据存储模式执行数据存储,存储装置230可将预定大小的空闲空间321分配为借用空间322(例如,图2C中的缓冲空间231b)并且使用借用空间322作为用于快速数据存储模式的临时空间。例如,当存储装置230的空闲空间321的大小总共为40GB时,3GB的空闲空间可被分配为用于快速数据存储模式的借用空间322。被分配用于快速数据存储模式的大小可被任意地预先确定。在一些实施例中,当存储装置230的快速数据存储模式是UFS的turbo写入功能时,存储装置230可通过SLC模式将数据临时存储在具有预定大小的借用空间322中,随后通过TLC模式(或MLC模式)将存储在借用空间322中的数据重新写入存储装置230的不包括借用空间322的空闲空间中,并且将借用空间322恢复为空闲空间321。在示例实施例中,存储装置230可将预定大小的元数据空间325分配为用于快速数据存储模式的借用空间322。
根据各种实施例,因为与快速数据存储模式相关的操作是存储装置230的内部操作,所以应用处理器229可能无法通过文件系统识别关于在存储装置230中被分配用于快速数据存储模式的借用空间322的信息(例如,大小)。根据实施例,在无法识别关于借用空间322的信息的情况下,即使借用空间322正被存储装置230用于快速数据存储模式时,应用处理器229也可发送存储另外的数据的数据写入I/O请求。响应于该请求,存储装置230可能必须删除临时存储在借用空间322中的数据并且将借用空间322恢复为空闲空间321。
图3B是示出文件系统不能识别被分配用于快速数据存储模式的借用空间322的大小的示例的示图。在这种情况下,假设闪存231的通用存储空间231c通过TLC模式存储数据,并且缓冲空间231b通过SLC模式存储数据。在这种情况下,通过文件系统310,应用处理器229可识别存储装置230的存储器空间总共为100GB并且10GB被使用。也就是说,应用处理器229可通过文件系统310识别自由空间311的大小为90GB并且已用空间313的大小为10GB。
当快速数据存储功能被激活时,将通过快速数据存储模式存储10GB数据的存储装置230可将闪存231的100GB存储器空间的30GB分配为用于SLC模式的缓冲空间231b(例如,图3A中的借用空间322)。也就是说,在TLC模式下使用10GB空间的数据将在SLC模式下使用30GB空间。在这种情况下,可能在由主机220的应用处理器229识别的自由空间311与实际存储装置230的闪存231的空闲空间321a之间发生差异。
因为由应用处理器229通过文件系统识别的自由空间311的大小为90GB,所以例如写入80GB大小的数据的另外的请求可能发生。在这种情况下,闪存231的通用存储空间231c的实际空闲空间仅为不足以存储80GB数据的70GB。其结果是,主机220的应用处理器229可能必须使存储装置230的快速数据存储模式去激活,以将闪存231的缓冲空间231b恢复为通用存储器空间231c。上述数据存储模式和数据大小仅是示例,并且任何其他模式和大小可被应用。
另外,在图3C和图3D中,附图标号310指示当快速数据存储模式被执行时通过文件系统识别的存储装置230的存储器空间的大小,并且附图标号320指示在存储装置230内的实际存储器空间的大小。将省略与图3A和图3B的描述相同的描述。
参照图3C和图3D,在各种实施例中,应用处理器229(例如,图1中的处理器120)可将文件系统的一定大小的自由空间311分配为用于快速数据存储模式的临时存储器空间312。
根据各种实施例,在通过快速数据存储模式存储数据之前,应用处理器229可预先分配用于使用快速数据存储模式的具有预定大小的借用空间。在实施例中,应用处理器229可接收用于输入快速数据存储模式的设置值的输入(例如,用户输入)。快速数据存储模式的设置值可包括例如关于将被用于执行快速数据存储模式的借用空间322的大小的信息和关于是否使用快速数据存储模式的信息。基于快速数据存储模式的设置值,应用处理器229可将文件系统的自由空间311的一部分分配为用于快速数据存储模式的临时存储器空间312。例如,当用户在总共具有40GB大小的自由空间311的存储装置230中将借用空间的大小设置为3GB时,应用处理器229可将文件系统的自由空间311的3GB分配为临时存储器空间312。在这种情况下,文件系统的自由空间的大小可从40GB被缩小到37GB并且被显示在显示器上。
根据各种实施例,将文件系统的预定大小的自由空间311分配为临时存储器空间312可例如直接地将文件系统的自由空间311的大小缩小与由用户设置的借用空间322的大小相应的大小。可选地,可通过生成具有由用户设置的借用空间的大小的文件来间接地缩小文件系统的自由空间的大小。
根据各种实施例,应用处理器229可将快速数据存储模式的设置值传输到存储装置230。例如,当用户将用于快速数据存储模式的借用空间的大小设置为3GB时,应用处理器229可将关于针对借用空间的大小的设置值3GB的信息传递到存储装置230。
根据各种实施例,基于该设置值,存储装置230可预先分配一定大小的借用空间322用于快速数据存储模式。存储装置230的借用空间322的大小可等于文件系统的临时存储器空间312的大小。例如,当从应用处理器229接收到关于用于将借用空间的大小设置为3GB的设置值的信息时,存储装置230可将空闲空间321的3GB分配为借用空间322。根据各种实施例,应用处理器229可将文件系统的临时存储器空间312识别为系统数据空间。
根据各种实施例,当文件系统的一定大小的自由空间311被分配为临时存储器空间312时,应用处理器229可控制显示器显示指示快速数据存储模式的设置被完成的信息。根据各种实施例,当文件系统的一定大小的自由空间311被分配为临时存储器空间312时,应用处理器229可控制显示器显示指示文件系统的自由空间311的大小已经缩小了临时存储器空间312的大小的信息。应用处理器229可禁用针对存储装置230的与文件系统的临时存储器空间312相应的借用空间322的另外的数据存储的用户I/O请求。不生成用于另外的数据存储的用户I/O请求不会导致与用于在存储装置230内生成的快速数据存储模式的写入I/O请求重叠。因此,写入I/O请求的不重叠不会导致存储装置230的数据处理延迟和写入性能劣化。
图3D是示出如下示例情况的示图:文件系统310的一定大小的自由空间311被分配为临时存储器空间312,并且由此应用处理器229可通过文件系统识别被分配用于快速数据存储模式的借用空间322的大小。在这种情况下,主机220的应用处理器229可接收用于输入快速数据存储模式的设置值的用户输入并且基于设置值将文件系统的自由空间311的一部分分配为用于快速数据存储模式的临时存储器空间312。例如,通过文件系统310,主机220的应用处理器229可将30GB大小的存储器空间分配为用于快速数据存储模式的临时存储器空间312。
根据各种实施例,应用处理器229可将快速数据存储模式的设置值传输到存储装置230。例如,基于从应用处理器229接收的设置值,存储装置230可将用于快速数据存储模式的借用空间322分配为30GB。存储装置230的借用空间322的大小可等于通过文件系统设置的临时存储器空间312的大小。在这种情况下,通过主机220的应用处理器229识别的自由空间311a的大小可与实际存在于存储装置230的闪存231中的空闲空间321a的大小同步。
当由应用处理器229通过文件系统识别的自由空间311a的大小为60GB时,另外的数据写入请求可仅发生最大60GB。因此,无需为了执行另外的数据写入请求而将闪存321的借用空间322恢复为空闲空间321,使得数据写入性能和速度可被提高。这样的数据存储模式和数据大小仅是示例,并且任何其他模式和大小可被应用。
图4是示出根据各种实施例的电子装置的示例硬件/软件分层架构的框图。
参照层410,在各种实施例中,程序140可包括用户界面411、至少一个应用413、415和/或417、文件系统421、块层423和存储驱动器425。程序140可在应用处理器229(例如,图1中的处理器120)的控制下执行特定功能。根据各种实施例,应用处理器229可在显示器上输出允许输入快速数据存储模式的设置值的用户界面411(例如,UX界面)。例如,电子装置(例如,图1中的电子装置101)可通过用户界面411接收用于设置用于快速数据存储模式的借用空间322的大小和是否使用快速数据存储模式的用户输入。
根据各种实施例,基于通过用户界面411作为用户输入接收的设置值,应用处理器229可将文件系统421的预定大小的自由空间311分配为用于快速数据存储模式的临时存储器空间312。此外,应用处理器229可将文件系统的自由空间311的大小缩小临时存储器空间312的大小。例如,当在上述分配之前由用户设置的借用空间322的大小为3GB并且文件系统的自由空间311的大小为40GB时,应用处理器229可通过文件系统421将自由空间311的大小设置为37GB从而将40GB大小中的3GB分配为临时存储器空间312。应用处理器229可将文件系统的临时存储器空间312分配为系统数据空间。
根据各种实施例,应用处理器229可通过存储驱动器425将快速数据存储模式的设置值传输到存储装置230。例如,应用处理器229可通过存储驱动器425将关于由用户设置的用于快速数据存储模式的借用空间322的大小的信息传递到存储装置230。存储驱动器425可以是例如UFS驱动器。当由用户设置的借用空间322的大小为3GB时,应用处理器229可将关于借用空间322的3GB大小的信息发送到存储装置230。另外,应用处理器229可控制存储装置230将空闲空间321的3GB分配为用于快速数据存储模式的借用空间322。
参照层420,在各种实施例中,存储装置230(例如,图1中的非易失性存储器134)可在应用处理器229的控制下将空闲空间321中的3GB分配为用于快速数据存储模式的借用空间322。
根据各种实施例,当在存储装置230中分配借用空间被完成时,应用处理器229可通过显示器输出指示快速数据存储模式的设置被完成的信息。
根据各种实施例,应用处理器229可检查是否发生通过快速数据存储模式开始数据存储的事件。当确定已经发生以上事件时,应用处理器229可控制存储装置230通过快速数据存储模式使用具有分配的一定大小的借用空间322执行数据存储。例如,当存储装置230通过turbo写入功能开始数据存储时,具有预定大小的借用空间322可被用于在SLC模式下临时存储数据。例如,如果3GB大小被分配为借用空间,则数据可以在3GB限制内在SLC模式下被存储。
根据各种实施例,应用处理器229可在显示器上显示包含关于快速数据存储模式的信息(例如,针对文件系统的每个存储器空间的大小信息)并且允许输入快速数据存储模式的设置值的用户界面411。当存储装置230的空闲空间321的一部分被分配为借用空间322时,应用处理器229可通过用户界面411显示指示用于快速数据存储模式的分配被完成并且快速数据存储模式可用的信息。
根据各种实施例,当由用户设置的借用空间322的大小超过存储装置230的空闲空间321的大小时,应用处理器229可通过用户界面411显示指示快速数据存储模式不可用的信息。例如,当存储装置230的空闲空间321的大小为2GB时,并且当由用户设置的借用空间322的大小为3GB时,应用处理器229可通过用户界面411显示快速数据存储模式的不可用性。
根据各种实施例,应用处理器229可检查是否发生通过快速数据存储模式开始数据存储的事件。例如,此开始事件可包括以下情况中的至少一种情况:被生成以将数据存储在存储装置中的存储装置写入I/O请求的数量等于或大于给定阈值(例如,二十个或更多个存储装置写入I/O请求)的情况、将数据存储在存储装置中的存装置储写入I/O请求的量等于或大于给定阈值(例如,总共100MB或更多的存储装置写入I/O请求)的情况、电子装置经由通信电路被连接到5G网络并且执行数据通信的情况、5G调制解调器被激活(例如,被启动)的情况、快速数据下载功能(例如,下载增强功能)被激活的情况、文件使用文件传输协议(FTP)被下载的情况、能够进行高速数据传输的任何外部电子装置(例如,USB、PCI装置)被连接到电子装置的情况或者高速数据传输从连接的外部电子装置开始的情况。能够进行高速数据传输的外部电子装置被连接到电子装置的情况可包括USB3.0或更高级的USB装置被连接的情况以及/或者特定类别(诸如,大存储类别或通信装置类别)的USB装置被连接的情况。
根据各种实施例,当发生通过快速数据存储模式开始数据存储的任何事件时,应用处理器229可控制存储装置230通过快速数据存储模式使用具有分配的一定大小的借用空间322执行数据存储。例如,应用处理器229可通过存储驱动器425将在快速数据存储模式下开始数据存储的命令传递到存储装置230。使用具有分配的大小的借用空间322,存储装置230可执行快速数据存储。例如,当存储装置230的turbo写入功能被激活时,存储装置230可在SLC模式下临时存储与借用空间322的大小一样多的数据并且随后在TLC模式下再次存储临时存储的数据。例如,临时存储的数据被移动到并且被再次存储在存储装置230的除了借用空间322之外的空闲空间321中。
根据各种实施例,在通过快速数据存储模式执行数据存储时,应用处理器229可检查是否发生终止通过快速数据存储模式进行数据存储的事件。例如,此终止事件可包括以下情况中的至少一种情况:被生成以将数据存储在存储装置中的存储装置写入I/O请求的数量等于或小于给定阈值(例如,五个或更少个存储装置写入I/O请求)的情况、将数据存储在存储装置中的存储装置写入I/O请求的量等于或小于给定阈值(例如,总共5MB或更少的存储装置写入I/O请求)的情况、电子装置与5G网络断开连接的情况、5G调制解调器被禁用的情况、快速数据下载功能(例如,下载增强功能)被停止的情况、使用文件传输协议(FTP)的文件下载被停止的情况、能够进行高速数据传输的任何外部电子装置(例如,USB、PCI装置)与电子装置断开连接的情况或者从连接的外部电子装置进行高速数据传输被终止的情况。能够进行高速数据传输的外部电子装置与电子装置断开连接的情况可包括USB3.0或更高级的USB装置被断开连接的情况以及/或者特定类别(例如,大存储装置类别或通信装置类别)的USB装置被断开连接的情况。
根据各种实施例,当发生终止通过快速数据存储模式进行数据存储的任何事件时,应用处理器229可通过默认存储模式而不是快速数据存储模式来执行数据存储。例如,当发生终止turbo写入功能的事件时,应用处理器229可控制存储装置230在被预定义为默认存储模式的TLC模式而不是turbo写入模式下执行数据存储。
根据各种实施例,应用处理器229可基于将数据存储在存储装置230中的存储装置写入I/O请求的数量和量中的至少一个,通过快速数据存储模式开始存储数据。例如,应用处理器229可从应用413、应用415和/或应用417中的至少一个应用接收数据存储请求。响应于数据存储请求,应用处理器229可在文件系统的自由空间311的不包括临时存储器空间312的大小的有限空间大小内允许数据存储请求。存储装置230可在应用处理器229的控制下在存储装置230的空闲空间321的不包括借用空间322的大小的有限空间大小内执行另外的数据存储。例如,当3GB被分配到临时存储器空间312并且因此自由空间311的大小从40GB被缩小到37GB时,应用处理器229可允许应用413、应用415和应用417的最大37GB的大小的数据存储请求。应用413、应用415和应用417的数据存储请求可通过块层423被转换为存储装置写入I/O请求。存储装置写入I/O请求可通过存储驱动器425被传输到存储装置230。
根据各种实施例,可同时出现多个存储装置写入I/O请求。在程序140中,应用处理器229可识别将被传递到存储装置230的存储装置写入I/O请求的数量和量中的至少一个。例如,在易失性存储器(例如,图1中的易失性存储器132)的写入缓冲、文件系统421或块层423中,应用处理器229可连续监测存储装置写入I/O请求的数量和量中的至少一个。
根据各种实施例,当识别的存储装置写入I/O请求的数量或量等于或大于第一阈值时,应用处理器229可通过存储装置230的快速数据存储模式执行数据存储(即,快速数据存储)。例如,当同时发生二十个或更多个存储装置写入I/O请求时,应用处理器229可开始通过存储装置230的快速数据存储模式存储数据。例如,当同时发生总共100MB或更多的存储装置写入I/O请求时,应用处理器229可开始通过存储装置230的快速数据存储模式存储数据。
根据各种实施例,当将被传递到存储装置230的存储装置写入I/O请求的数量或量等于或小于第二阈值时,应用处理器229可终止通过存储装置230的快速数据存储模式进行数据存储。例如,当同时的存储装置写入I/O请求的数量被减小到五个或更少时,应用处理器229可控制存储装置230终止快速数据存储。例如,当同时的存储装置写入I/O请求的量被减少到总共10MB或更少时,应用处理器229可控制存储装置230终止快速数据存储。根据各种实施例,当通过存储装置230的快速数据存储模式进行数据存储被终止时,存储装置230可使用默认存储模式而不是快速数据存储模式将数据存储在除了借用空间322之外的空闲空间321中。例如,当存储装置230的turbo写入功能在被激活之后被去激活时,存储装置230可在TLC模式下直接将数据存储在空闲空间321而不是借用空间322中。
根据各种实施例,当特定时间内未从应用处理器229接收到存储装置写入I/O请求时,存储装置230可将临时存储在借用空间322中的数据重新写入空闲空间321,并且还删除储存在借用空间322中的数据以将借用空间322恢复为空闲空间321。例如,当存储装置230在10ms内未从应用处理器229接收到存储装置写入I/O请求时,存储装置230可将临时存储在借用空间322中的数据重新写入空闲空间321。例如,存储装置320可在TLC模式下将通过turbo写入功能在SLC模式下临时存储在借用空间322中的数据重新写入空闲空间321,并且删除临时存储在借用空间322中的数据。此重新写入处理可以是TLC转移处理。根据各种实施例,当在执行重新写入处理的同时发生另外的存储装置写入I/O请求时,应用处理器229可通过存储驱动器425将用于停止重新写入处理的命令传递到存储装置230。
根据各种实施例,应用处理器229可基于从外部装置接收数据的数据传输率,控制存储装置230通过快速数据存储模式开始数据存储。例如,电子装置101可通过通信电路被连接到5G网络并且通过5G网络以高于预定值的速率接收数据。例如,电子装置101可通过连接端被连接到符合USB3.0或USB 3.1标准的USB并且从USB以高于给定值的速率接收数据。
根据各种实施例,当从外部装置接收数据时,应用处理器229可通过检查在单位时间期间接收的数据的吞吐量识别数据传输率。根据各种实施例,应用处理器229可响应于以高于或等于预定值的速率从外部装置接收数据而控制存储装置230通过快速数据存储模式开始存储数据。根据各种实施例,应用处理器229可响应于通过文件传输协议(FTP)执行快速文件下载来激活快速数据存储模式。
图5是示出根据各种实施例的示例电子装置的示例操作的流程图。
图5示出了表示基于用户的设置值设置用于快速数据存储模式的借用空间的示例操作(例如,静态分配操作)的流程图500。
参照流程图500,在各种实施例中,在存储器(例如,图1中的非易失性存储器134、图2A中的存储装置230)执行快速数据存储之前,电子装置(例如,图1中的电子装置101)可预先设置用于快速数据存储模式的借用空间。
在操作510,电子装置101的应用处理器229(例如,图1中的处理器120)可通过在显示器上显示的用户界面(例如,图4中的用户界面411)接收用于输入快速数据存储模式的设置值的输入(例如,用户输入)。例如,应用处理器229可在显示器上显示包含关于存储装置230的快速数据存储模式的信息的用户界面。例如,通过用户界面,电子装置101可显示关于存储装置230的快速数据存储模式的信息并且接收用于输入快速数据存储模式的设置值的用户输入。快速数据存储模式的设置值可包括例如关于将被用于执行快速数据存储模式的借用空间(例如,图3A中的借用空间322)的大小的信息和关于是否使用快速数据存储模式的信息。
在操作520,应用处理器229可将文件系统的一定大小的自由空间(例如,图3A的自由空间311)分配为临时存储器空间(例如,图3A中的临时存储器空间312)。例如,基于快速数据存储模式的设置值,应用处理器229可将文件系统的一定大小的自由空间分配为用于快速数据存储模式的临时存储器空间。例如,基于关于用于执行快速数据存储模式的借用空间的大小的信息,应用处理器229可将文件系统的一定大小的自由空间分配为用于快速数据存储模式的临时存储器空间。
在操作530,应用处理器229可控制存储装置230将存储装置230的一定大小的空闲空间(例如,图3A中的空闲空间321)分配为用于快速数据存储模式的借用空间。例如,应用处理器229可控制存储装置230将存储装置230的一定大小的空闲空间分配为与临时存储器空间的大小相应的借用空间。文件系统的临时存储器空间的大小可等于存储装置230的借用空间的大小。应用处理器229可将快速数据存储模式的设置值传输到存储装置230。例如,应用处理器229可将关于由用户设置的用于快速数据存储模式的借用空间的大小的信息传递到存储装置230。基于接收的设置值,存储装置230可将一定大小的空闲空间分配为借用空间。
在操作540,应用处理器229可控制显示器显示指示完成了设置快速数据存储模式的信息。例如,当具有一定大小的借用空间被分配时,应用处理器229可通过显示器显示指示已经完成分配用于快速数据存储模式的借用空间的信息和指示可通过快速数据存储模式开始数据存储的信息。
图6是示出根据各种实施例的电子装置在基于用户的设置值执行用于设置用于快速数据存储模式的借用空间的设置操作(例如,静态分配操作)时的示例操作的框图。
参照图6,应用处理器229(例如,图1中的处理器120)可通过显示器显示用户界面(UI)411。用户界面411可显示文件系统的存储器空间,并且可包含用于输入快速数据存储模式的设置值的设置区域和用于释放快速数据存储模式的设置(例如,激活快速数据存储模式/使快速数据存储模式去激活)的区域。例如,通过用户界面,应用处理器229可设置在快速数据存储模式下存储10GB数据。假设存储装置230的闪存231的默认存储模式是TLC模式,通过文件系统显示的存储器空间大小为在TLC模式下的存储器空间大小,并且数据在作为快速数据存储模式的SLC模式下被临时存储。因此,为了存储10GB数据,应用处理器229可将临时存储器空间312的大小设置为30GB。应用处理器229可将控制命令发送到存储装置230以分配用于快速数据存储模式的借用空间322的大小。因此,存储装置230可将闪存231的空闲空间321的30GB分配为用于快速数据存储模式的借用空间322。在实施例中,存储装置230可使用SLC模式以高速将数据存储在借用空间322中。
应用处理器229可接收用于释放快速数据存储模式的设置的用户输入。例如,通过用户界面,用户可设置不使用快速数据存储模式。例如,应用处理器229可接收用于恢复被分配在存储器中的借用空间的用户输入。通过文件系统设置的临时存储器空间312可被保持直到用于释放快速数据存储模式的设置的用户输入被接收到为止。
图7是示出根据各种实施例的电子装置的示例操作的流程图。
图7示出了表示在完成快速数据存储模式的设置之后执行快速数据存储的电子装置(例如,图1中的电子装置101)的示例操作的流程图700。
参照流程图700,在各种实施例中,电子装置可使用预先分配的具有一定大小的借用空间执行快速数据存储。
在操作710,电子装置101的应用处理器229(例如,图1中的处理器120)可检查并识别是否发生通过快速数据存储模式开始快速数据存储的事件。例如,此开始事件可包括以下情况中的至少一种情况:被生成以将数据存储在存储器(例如,图1中的非易失性存储器134、图2A中的存储装置230)中的存储装置写入I/O请求的数量等于或大于给定阈值(例如,二十个或更多个存储装置写入I/O请求)的情况、将数据存储在存储器中的存储装置写入I/O请求的量等于或大于给定阈值(例如,总共100MB或更多的存储装置写入I/O请求)的情况、电子装置经由通信电路被连接到5G网络并且执行数据通信的情况、5G调制解调器被激活(例如,被启动)的情况、快速数据下载功能(例如,下载增强功能)被激活的情况、使用文件传输协议(FTP)下载文件的情况、能够进行高速数据传输的任何外部电子装置(例如,USB、PCI装置)被连接到电子装置的情况或者高速数据传输从连接的外部电子装置开始的情况。例如,基于将数据存储在存储器中的写入I/O请求的数量和量中的至少一个,应用处理器229可确定是否通过快速数据存储模式开始数据存储。例如,基于数据从外部装置被接收的数据传输率,应用处理器229可确定是否开始存储装置230的快速数据存储。
在操作720,响应于发生开始快速数据存储的事件,应用处理器229可控制存储器使用具有分配的一定大小的借用空间执行快速数据存储。例如,使用具有分配的大小的借用空间,存储器可执行快速数据存储。例如,存储器的快速数据存储模式可以是符合UFS标准的turbo写入功能。当通过存储器的turbo写入功能开始快速数据存储时,存储器可通过SLC模式将数据临时存储在具有一定大小的借用空间中,并且随后通过TLC模式重新写入临时存储的数据,以将临时存储的数据移动并再次存储在存储器的空闲空间中。
在操作730,应用处理器229可检查并识别是否发生终止快速数据存储事件。例如,此终止事件可包括以下情况中的至少一种情况:被生成以将数据存储在存储器中的存储装置写入I/O请求的数量等于或小于给定阈值(例如,五个或更少个存储装置写入I/O请求)的情况、将数据存储在存储器中的存储装置写入I/O请求的量等于或小于给定阈值(例如,总共5MB或更少的存储写入I/O请求)的情况、电子装置与5G网络断开连接的情况、5G调制解调器被禁用的情况、快速数据下载功能(例如,下载增强功能)被停止的情况、使用文件传输协议(FTP)的文件下载被停止的情况、能够进行高速数据传输的任何外部电子装置(例如,USB、PCI装置)与电子装置断开连接的情况或者从连接的外部电子装置进行高速数据传输被终止的情况。
在操作740,响应于发生终止快速数据存储的事件,应用处理器229可通过默认存储模式而不是快速数据存储模式执行数据存储。例如,当发生终止turbo写入功能的事件时,应用处理器229可控制存储器在被预定义为默认存储模式的TLC模式而不是turbo写入模式下执行数据存储。
图8A和图8B是示出根据各种实施例的当快速数据存储开始时电子装置的示例操作的框图。图8A示出了基于存储装置写入I/O请求或数据写入I/O请求的数量或量通过快速数据存储模式执行快速数据存储的电子装置101的操作,并且图8B示出了基于数据吞吐量通过快速数据存储模式执行快速数据存储的电子装置101的操作。
参照图8A,应用处理器229(例如,图1中的处理器120)可识别通过快速数据存储模式(例如,turbo写入模式)开始数据存储的事件,并且响应于发生所述事件,控制存储装置230通过快速数据存储模式执行快速数据存储。在各种实施例中,基于被生成以将数据存储在存储器中的存储装置写入I/O请求的数量和量中的至少一个,应用处理器229可确定是否通过快速数据存储模式开始数据存储。
应用处理器229可在程序140中识别将被传递到存储装置230的存储装置写入I/O请求的数量和量中的至少一个。存储装置写入I/O请求可同时发生,并且应用处理器229可识别同时发生的将被传递到存储装置230的存储装置写入I/O请求的数量和量中的至少一个。例如,应用处理器可识别尚未被传输到存储装置230并且存在于程序140中的存储装置写入I/O请求的数量和量中的至少一个。
例如,当存在于应用处理器229的I/O调度器中的存储装置写入I/O请求的量为30MB或更多时,应用处理器229可确定通过快速数据存储模式(例如,turbo写入模式)执行数据存储,并且通过存储主机控制器225a控制存储装置230在快速数据存储模式下执行数据存储。例如,在这种情况下,应用处理器229可通过将用于激活快速数据存储模式的控制命令发送到存储装置230来激活存储装置230的快速数据存储功能。I/O调度器可以是例如共享当在主机220中存在队列时通过优先级等选择接下来将要执行的处理的功能的程序。I/O队列可以是例如存储I/O请求的队列的程序。在以上描述中,30MB仅是示例,并且任何其他值可通过用户的设置被使用。
参照图8B,基于从外部装置接收数据的数据传输率,应用处理器229可确定是否通过存储装置230的快速数据存储模式开始存储数据。
应用处理器229可识别通过电子装置101的主机220的组件(例如,通信电路、相机、连接端)接收的数据的吞吐量。例如,应用处理器229可通过识别通过主机220的通信电路(例如,5G调制解调器222a、Wi-Fi通信模块222b)、连接端(例如,USB 3.1连接端222c)或相机222d每单位时间接收的数据的吞吐量来识别数据传输率。响应于以高于给定值的速率从外部装置接收数据,应用处理器229可控制存储装置230开始快速数据存储。
例如,当通过电子装置101的通信电路每单位时间从5G网络传输到应用处理器229的数据吞吐量(数据传输率)为300MB/s或更多时,应用处理器229可通过存储主机控制器225a控制存储装置230在快速数据存储模式下执行数据存储。例如,在这种情况下,应用处理器229可激活存储装置230的快速数据存储功能。在示例实施例中,应用处理器229可响应于通过文件传输协议(FTP)执行快速文件下载来激活快速数据存储模式。在以上描述中,300MB/s仅是示例,并且任何其他值可通过用户的设置被使用。
图9是示出根据各种实施例的电子装置的示例操作的流程图。
参照操作流程图900,在操作901,应用处理器229(例如,图1中的处理器120)可通过在显示器上显示的用户界面(例如,图4中的用户界面411)接收用于输入快速数据存储模式的设置值的输入(例如用户输入)。快速数据存储模式的设置值可包括关于将被用于执行快速数据存储模式的借用空间(例如,图3C中的借用空间322)的大小的信息和指示是否使用快速数据存储模式的信息。
在操作903,应用处理器229可确定是否将文件系统的与快速数据存储模式的设置值相应的一定大小的自由空间(例如,图3C中的自由空间311)分配用于临时存储器空间(例如,图3C中的临时存储器空间312)。例如,当用户将用于快速数据存储模式的借用空间的大小设置为3GB时,应用处理器229可确定在文件系统的自由空间中是否可分配3GB的临时存储器空间。例如,当文件系统的自由空间的大小小于3GB时,应用处理器229可确定在自由空间中不可分配临时存储器空间。例如,当文件系统的自由空间的大小为3GB或更多时,应用处理器229可确定在自由空间中可分配临时存储器空间。
当在操作903确定在文件系统的自由空间中不可分配临时存储器空间时(在操作903的“否”),在操作906,应用处理器229可通过显示器显示指示存储器(例如,图1中的非易失性存储器134、图2A中的存储装置230)的快速数据存储模式的不可用性的信息。
当在操作903确定在文件系统的自由空间中可分配临时存储器空间时(在操作903的“是”),在操作905,应用处理器229可将文件系统的一定大小的自由空间分配为用于快速数据存储模式的临时存储器空间。
在操作907,应用处理器229可控制存储器将存储器的一定大小的空闲空间分配为用于快速数据存储模式的借用空间。例如,应用处理器229可将关于由用户设置的用于快速数据存储模式的借用空间的大小的信息发送到存储器。基于关于借用空间的大小的信息,存储器可将预定大小的空闲空间分配为借用空间。
在操作909,应用处理器229可通过显示器显示指示存储器的快速数据存储模式的可用性的信息并且还可显示文件系统的每个存储器空间大小。例如,应用处理器229可显示文件系统的自由空间、用户数据空间和系统数据空间中的每一个的大小。在实施例中,用于快速数据存储模式的被分配为具有一定大小的临时存储器空间可被识别为系统数据空间。例如,自由空间的大小可被显示为缩小了被分配用于快速数据存储模式的临时存储器空间的大小,并且系统数据空间的大小可被显示为增加。
在操作911,应用处理器229可检查并识别是否发生通过存储器的快速数据存储模式开始快速数据存储的事件。
在操作913,响应于发生开始快速数据存储的事件,应用处理器229可控制存储器使用分配的大小的借用空间执行快速数据存储。例如,使用特定分配的大小的借用空间,存储器可执行快速数据存储模式。
图10是示出根据各种实施例的电子装置的示例操作的流程图。
图10示出了表示基于生成的存储装置I/O请求的量设置用于快速数据存储模式的借用空间的电子装置(例如,图1中的电子装置101)的示例操作(例如,动态分配操作)的流程图1000。
参照流程图1000,在操作1001,电子装置101的应用处理器229(例如,图1中的处理器120)可接收用于输入快速数据存储模式的设置值的输入(例如,用户输入)。
在操作1003,应用处理器229可识别存储数据的生成的I/O请求(存储装置写入I/O请求)的量。当I/O请求的量等于或大于给定阈值时,应用处理器229可控制存储器(例如,图1中的非易性存储器134、图2A中的存储装置230)通过快速数据存储模式开始快速数据存储。
在操作1005,基于识别的I/O请求的量,应用处理器229可将文件系统的一定大小的自由空间分配为临时存储器空间。例如,临时存储器空间的大小可基于识别的I/O请求的量在由用户输入的设置值的限制内被确定。例如,当用户将借用空间的大小设置为3GB时,并且当实际生成的存储装置写入I/O请求的量为1GB时,应用处理器可将文件系统的自由空间的1GB大小设置为临时存储器空间的大小。例如,当用户将借用空间的大小设置为3GB时,并且当实际生成的存储装置写入I/O请求的量为4GB时,应用处理器可将文件系统的自由空间的3GB大小设置为临时存储器空间的大小。
在操作1007,应用处理器229可控制存储器将存储器的一定大小的空闲空间分配为与临时存储器空间的大小相应的借用空间。
在操作1009,应用处理器229可使用分配的大小的借用空间执行快速数据存储。
在操作1011,应用处理器229可在通过快速数据存储模式执行数据存储的同时识别借用空间的当前使用。例如,即使用于快速数据存储模式的借用空间的大小通过用户界面(例如,图4中的用户界面411)被设置为3GB,当当前被传递到存储器的存储装置写入I/O请求的量为1GB时,也仅1GB的借用空间可被使用。在这种情况下,存储器可将关于借用空间的当前使用的信息发送到应用处理器229。应用处理器229可识别存储器的借用空间的当前使用为1GB。
在操作1013,基于识别的借用空间的使用,应用处理器229可调整文件系统的临时存储器空间的大小。例如,当由用户设置的借用空间的大小为3GB时,并且当识别的借用空间的使用为1GB时,应用处理器229可将文件系统的临时存储器空间312的大小调整为1GB。
在操作1015,应用处理器229可通过显示器显示文件系统的每个存储器空间的改变的大小。例如,当文件系统的临时存储器空间的大小从3GB被调整到1GB时,文件系统的自由空间(例如,图3A中的自由空间311)可被显示为增加了2GB。
图11是示出根据各种实施例的电子装置在基于生成的存储装置I/O请求的量或数量执行用于设置用于快速数据存储模式的借用空间的设置操作(例如,动态分配操作)时的示例操作的框图。
参照图11,应用处理器229(例如,图1中的处理器120)可识别用于存储数据的生成的I/O请求(写入I/O请求)的量。例如,应用处理器229可识别生成的存储装置写入I/O请求的量。
应用处理器229可基于识别的存储装置写入I/O请求的量,将文件系统的一定大小的自由空间分配为临时存储器空间。例如,临时存储器空间的大小可基于I/O请求的量在由用户输入的设置值的限制内被确定。例如,当生成的存储装置写入I/O请求的量为700MB时,应用处理器229可将文件系统的自由空间的大于700MB的1GB设置为临时存储器空间的大小。应用处理器229可控制存储器将存储器的空闲空间的1GB分配为与临时存储器空间的1GB大小相应的借用空间。
当确定不必保持借用空间时,应用处理器229可通过调整文件系统的临时存储器空间312的大小来调整存储器的借用空间的大小。例如,应用处理器229可在使用快速数据存储模式执行数据存储的同时识别借用空间的当前使用。如果借用空间当前未被使用,则应用处理器229可释放文件系统的分配的临时存储器空间(例如,将文件系统的临时存储器空间的大小调整成0GB)。在这种情况下,应用处理器229可控制存储器释放被分配给存储器的借用空间(例如,将存储器的借用空间的大小调整为0GB)。
图12是示出根据各种实施例的电子装置的示例操作的流程图。
图12示出了表示释放用于存储器(例如,图1中的非易失性存储器134、图2A中的存储装置230)的快速数据存储模式的设置的电子装置(例如,图1中的电子装置101)的示例操作的流程图1200。
参照流程图1200,在操作1201,应用处理器229(例如,图1中的处理器120)可通过在显示器上显示的用户界面(例如,图4中的用户界面411)接收用于释放快速数据存储模式的设置的输入(例如,用户输入)。例如,用户可通过用户界面设置不使用快速数据存储模式。例如,应用处理器229可接收用于归还存储器的借用空间的用户输入。
在操作1220,应用处理器229可控制存储器(例如,图2A中的存储装置230)归还具有一定大小的借用空间。例如,响应于接收用于使快速数据存储模式去激活的用户输入,应用处理器229可将控制命令发送到存储器以使快速数据存储模式去激活。存储器可将临时存储在借用空间(例如,图3B中的借用空间322)中的数据重新写入除了借用空间之外的空闲空间(例如,图3B中的空闲空间321)。此外,存储器可删除临时存储在借用空间中的数据。当临时存储在借用空间中的所有数据被移动到并且被再次存储在空闲空间321中时,存储器可将借用空间恢复为空闲空间并且将指示快速数据存储模式的设置被释放的信息传递到应用处理器229。例如,存储器可将指示借用空间已经被恢复为空闲空间的信息传递到应用处理器229。
在操作1230,应用处理器229可将文件系统的临时存储器空间恢复为自由空间。例如,响应于从存储器接收指示快速数据存储模式的设置已经被释放的信息,应用处理器229可将被分配用于快速数据存储模式的临时存储器空间恢复为自由空间。因此,在文件系统中的自由空间的大小可被再次增加临时存储器空间的大小。
在操作1240,应用处理器229可在显示器上显示指示用于存储器的快速数据存储模式的设置已经被释放的信息。
在执行以上操作1220或操作1230的同时,应用处理器229可通过显示器显示指示快速数据存储模式的设置被释放的信息,以及关于将借用空间恢复为空闲空间所需的时间和关于存储器性能劣化的信息。
根据本公开的各种实施例,电子装置可包括:显示器;存储器(例如,图1中的非易失性存储器、图2A中的存储装置230),包括未存储数据的第一空间和存储数据的第二空间;以及处理器(例如,图1中的处理器120、图2B中的应用处理器229)。处理器可被配置为控制电子装置进行以下操作:接收用于输入存储器的快速数据存储模式的设置值的输入,基于快速数据存储模式的设置值将电子装置的文件系统的预定大小的自由空间分配为用于快速数据存储模式的临时存储器空间,控制存储器将预定大小的第一空间分配为与临时存储器空间的大小相应的用于快速数据存储模式的借用空间,识别通过快速数据存储模式开始数据存储的事件的发生,并且响应于所述事件的发生,控制存储器通过快速数据存储模式使用借用空间执行数据存储。
在根据各种示例实施例的电子装置中,快速数据存储模式的设置值可包括关于将被用于执行快速数据存储模式的借用空间的大小的信息和关于快速数据存储模式是否被使用的信息。
在根据各种实施例的电子装置中,处理器还可被配置为控制电子装置进行以下操作:响应于具有预定大小的临时存储器空间的分配,通过显示器将文件系统的自由空间的大小显示为被缩小了临时存储器空间的大小,或者生成具有临时存储器空间的大小的文件以将文件系统的自由空间的大小显示为被缩小。
在根据各种示例实施例的电子装置中,处理器还可被配置为控制电子装置进行以下操作:识别被生成以将数据存储在存储器中并且将被传递到存储器的写入输入/输出(I/O)请求的数量和量中的至少一个值,并且当识别的值等于或大于第一阈值时控制存储器通过快速数据存储模式开始数据存储。
在根据各种实施例的电子装置中,处理器还可被配置为控制电子装置进行以下操作:周期性地识别所述至少一个值,并且当识别的值等于或小于第二阈值时控制存储器终止通过快速数据存储模式进行数据存储。
在根据各种实施例的电子装置中,处理器还可被配置为控制电子装置进行以下操作:响应于在通过快速数据存储模式执行数据存储的同时发生存储超过借用空间的另外的数据的写入输入/输出(I/O)请求,控制存储器在存储器的第一空间中除了借用空间之外的空间大小限制内执行另外的数据存储。
在根据各种实施例的电子装置中,处理器还可被配置为控制电子装置进行以下操作:从存储器接收关于当前用于通过快速数据存储模式在借用空间中执行数据存储的空间大小的信息,并且基于接收的信息调整临时存储器空间的大小。
在根据各种实施例的电子装置中,处理器还可被配置为控制电子装置进行以下操作:接收用于释放用于存储器的快速数据存储模式的设置的输入(例如,用户输入),控制存储器将临时存储在存储器的借用空间中的数据再次存储在存储器的第一空间的除了借用空间之外的空间中并且删除临时存储在借用空间中的数据,并且将文件系统的临时存储器空间恢复为自由空间。
根据各种实施例的电子装置还可包括通信电路,并且处理器还可被配置为控制电子装置进行以下操作:响应于通过通信电路以高于预定值的传输率从外部装置接收数据,开始控制存储器通过快速数据存储模式执行数据存储。
根据各种实施例的电子装置还可包括连接端,并且处理器还可被配置为控制电子装置通过连接端检测外部装置的连接,并且响应于以高于预定值的传输率从外部装置接收数据,开始控制存储器通过快速数据存储模式执行数据存储。
根据本公开的各种示例实施例,一种用于利用电子装置的存储器空间的方法可包括:接收用于输入用于存储器的快速数据存储模式的设置值的输入(例如,用户输入);基于快速数据存储模式的设置值,将电子装置的文件系统的预定大小的自由空间分配为用于快速数据存储模式的临时存储器空间;将存储器的预定大小的第一空间分配为与临时存储器空间的大小相应的用于快速数据存储模式的借用空间,其中,第一空间被配置为未存储数据;识别通过快速数据存储模式开始数据存储的事件的发生;并且响应于所述事件的发生,在存储器中通过快速数据存储模式使用借用空间执行数据存储。
在电子装置的存储器空间利用方法中,快速数据存储模式的设置值可包括关于将被用于执行快速数据存储模式的借用空间的大小的信息和关于快速数据存储模式是否被使用的信息。
电子装置的存储器空间利用方法还可包括:响应于临时存储器空间的分配,通过显示器将文件系统的自由空间的大小显示为被缩小了临时存储器空间的大小,或者生成具有临时存储器空间的大小的文件以将文件系统的自由空间的大小显示为被缩小。
在电子装置的存储器空间利用方法中,识别的步骤可包括:识别被生成以将数据存储在存储器中并且将被传递到存储器的写入输入/输出(I/O)请求的数量和量中的至少一个值;并且当识别的值等于或大于第一阈值时通过快速数据存储模式开始数据存储。
电子装置的存储器空间利用方法还可包括:基于开始,周期性地识别所述至少一个值;并且当识别的值等于或小于第二阈值时终止通过快速数据存储模式进行数据存储。
电子装置的存储器空间利用方法还可包括:响应于在通过快速数据存储模式执行数据存储的同时发生存储超过借用空间的另外的数据的写入输入/输出(I/O)请求,在存储器的第一空间中除了借用空间之外的空间大小限制内执行另外的数据存储。
电子装置的存储器空间利用方法还可包括:从存储器接收关于当前被用于通过快速数据存储模式在借用空间中执行数据存储的空间大小的信息;并且基于接收的信息调整临时存储器空间的大小。
电子装置的存储器空间利用方法还可包括:在执行数据存储之后接收用于释放用于存储器的快速数据存储模式的设置的用户输入;使存储器将临时存储在存储器的借用空间中的数据再次存储在存储器的第一空间的除了借用空间之外的空间中并且删除临时存储在借用空间中的数据;并且将文件系统的临时存储器空间恢复为自由空间。
在电子装置的存储器空间利用方法中,识别的步骤可包括,响应于通过通信电路以高于预定值的传输率从外部装置接收数据,通过快速数据存储模式开始数据存储。
在电子装置的存储器空间利用方法中,识别的步骤可包括:通过连接端检测外部装置的连接;并且响应于以高于预定值的传输率从外部装置接收数据,通过快速数据存储模式开始数据存储。
根据各种实施例的电子装置可以是各种类型的电子装置之一。电子装置可包括例如便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据本公开的实施例,电子装置不限于以上所述的那些电子装置。
应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“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.一种电子装置,包括:
显示器;
存储装置,包括存储接口、存储装置控制器和通用闪存UFS存储器,其中,所述UFS存储器包括未存储数据的第一空间和存储数据的第二空间;以及
处理器,被配置为将数据结构作为电子装置的文件系统进行管理并且通过所述文件系统识别并管理所述UFS存储器的存储器空间,
其中,处理器还被配置为控制电子装置进行以下操作:
接收用于输入存储装置的快速数据存储模式的设置值的输入,
基于快速数据存储模式的设置值,将电子装置的所述文件系统的预定大小的自由空间分配为用于快速数据存储模式的临时存储器空间,
控制存储装置将预定大小的第一空间分配为与临时存储器空间的大小相应的用于快速数据存储模式的借用空间,
识别通过快速数据存储模式开始数据存储的事件的发生,并且
响应于所述事件的发生,控制存储装置通过快速数据存储模式使用所述借用空间执行数据存储。
2.如权利要求1所述的电子装置,其中,快速数据存储模式的设置值包括关于用于快速数据存储模式的借用空间的大小的信息和关于快速数据存储模式是否被使用的信息。
3.如权利要求1所述的电子装置,其中,处理器还被配置为控制电子装置进行以下操作:
响应于具有预定大小的临时存储器空间的分配,通过显示器将所述文件系统的自由空间的大小显示为被缩小了临时存储器空间的大小,或者生成具有临时存储器空间的大小的文件以将所述文件系统的自由空间的大小显示为被缩小。
4.如权利要求1所述的电子装置,其中,处理器还被配置为控制电子装置进行以下操作:
识别被生成以将数据存储在存储装置中并且将被传递到存储装置的写入输入/输出请求的数量和量中的至少一个值,并且
基于识别的值等于或大于第一阈值控制存储装置通过快速数据存储模式开始数据存储。
5.如权利要求4所述的电子装置,其中,处理器还被配置为控制电子装置进行以下操作:
周期性地识别所述至少一个值,并且
基于识别的值等于或小于第二阈值控制存储装置终止通过快速数据存储模式进行数据存储。
6.如权利要求1所述的电子装置,其中,处理器还被配置为控制电子装置进行以下操作:
响应于在通过快速数据存储模式执行数据存储的同时发生存储超过借用空间的另外的数据的写入输入/输出请求,控制存储装置在存储装置的第一空间中除了借用空间之外的空间大小限制内执行另外的数据存储。
7.如权利要求1所述的电子装置,其中,处理器还被配置为控制电子装置进行以下操作:
从存储装置接收关于当前被用于通过快速数据存储模式在借用空间中执行数据存储的空间大小的信息,并且
基于接收的信息调整临时存储器空间的大小。
8.如权利要求1所述的电子装置,其中,处理器还被配置为控制电子装置进行以下操作:
接收用于释放用于存储装置的快速数据存储模式的设置的输入,
控制存储装置将临时存储在存储装置的借用空间中的数据再次存储在存储装置的第一空间的除了借用空间之外的空间中,并且删除临时存储在借用空间中的数据,并且
将所述文件系统的临时存储器空间恢复为自由空间。
9.如权利要求1所述的电子装置,还包括:
通信电路,
其中,处理器还被配置为控制电子装置进行以下操作:
响应于通过通信电路以高于预定值的传输率从外部装置接收数据,开始控制存储装置通过快速数据存储模式执行数据存储。
10.如权利要求1所述的电子装置,还包括:
连接端,
其中,处理器还被配置为控制电子装置进行以下操作:
通过连接端检测外部装置的连接,并且
响应于以高于预定值的传输率从外部装置接收数据,开始控制存储装置通过快速数据存储模式执行数据存储。
11.一种用于利用电子装置的存储装置的存储器空间的方法,其中,存储装置包括存储接口、存储装置控制器和通用闪存UFS存储器,其中,所述UFS存储器包括未存储数据的第一空间和存储数据的第二空间,所述方法包括:将数据结构作为电子装置的文件系统进行管理并且通过所述文件系统识别并管理所述UFS存储器的存储器空间,以及
所述方法还包括:
接收用于存储装置的快速数据存储模式的设置值的输入;
基于快速数据存储模式的设置值,将电子装置的所述文件系统的预定大小的自由空间分配为用于快速数据存储模式的临时存储器空间;
将存储装置的预定大小的第一空间分配为与临时存储器空间的大小相应的用于快速数据存储模式的借用空间,其中,第一空间未存储数据;
识别通过快速数据存储模式开始数据存储的事件的发生;并且
响应于所述事件的发生,在存储装置中通过快速数据存储模式使用借用空间执行数据存储。
12.如权利要求11所述的方法,其中,快速数据存储模式的设置值包括关于用于执行快速数据存储模式的借用空间的大小的信息和关于快速数据存储模式是否被使用的信息。
13.如权利要求11所述的方法,还包括:
响应于临时存储器空间的分配,通过显示器将所述文件系统的自由空间的大小显示为被缩小了临时存储器空间的大小,或者生成具有临时存储器空间的大小的文件以将所述文件系统的自由空间的大小显示为被缩小。
14.如权利要求11所述的方法,其中,所述识别的步骤包括:
识别被生成以将数据存储在存储装置中并且将被传递到存储装置的写入输入/输出请求的数量和量中的至少一个值;并且
基于识别的值等于或大于第一阈值通过快速数据存储模式开始数据存储。
15.如权利要求14所述的方法,还包括:
周期性地识别所述至少一个值;并且
基于识别的值等于或小于第二阈值终止通过快速数据存储模式进行数据存储。
16.如权利要求11所述的方法,还包括:
响应于在通过快速数据存储模式执行数据存储的同时发生存储超过借用空间的另外的数据的写入输入/输出请求,在存储装置的第一空间中除了借用空间之外的空间大小限制内执行另外的数据存储。
17.如权利要求11所述的方法,还包括:
从存储装置接收关于当前被用于通过快速数据存储模式在借用空间中执行数据存储的空间大小的信息;并且
基于接收的信息调整临时存储器空间的大小。
18.如权利要求11所述的方法,还包括:
接收用于释放用于存储装置的快速数据存储模式的设置的输入;
使存储装置将临时存储在存储装置的借用空间中的数据再次存储在存储装置的第一空间的除了借用空间之外的空间中,并且删除临时存储在借用空间中的数据;并且
将文件系统的临时存储器空间恢复为自由空间。
19.如权利要求11所述的方法,其中,所述识别的步骤包括:
响应于通过通信电路以高于预定值的传输率从外部装置接收数据,通过快速数据存储模式开始数据存储。
20.如权利要求11所述的方法,其中,所述识别的步骤包括:
通过连接端检测外部装置的连接;并且
响应于以高于预定值的传输率从外部装置接收数据,通过快速数据存储模式开始数据存储。
CN202010134718.5A 2019-03-07 2020-03-02 电子装置和用于利用电子装置的存储器空间的方法 Active CN111666224B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2019-0026254 2019-03-07
KR20190026254 2019-03-07
KR10-2019-0070430 2019-06-14
KR1020190070430A KR20200107716A (ko) 2019-03-07 2019-06-14 전자 장치 및 그의 저장 공간 이용 방법

Publications (2)

Publication Number Publication Date
CN111666224A CN111666224A (zh) 2020-09-15
CN111666224B true CN111666224B (zh) 2023-08-22

Family

ID=69941142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010134718.5A Active CN111666224B (zh) 2019-03-07 2020-03-02 电子装置和用于利用电子装置的存储器空间的方法

Country Status (4)

Country Link
US (1) US11487452B2 (zh)
EP (1) EP3706003B1 (zh)
CN (1) CN111666224B (zh)
WO (1) WO2020180045A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442637B1 (en) * 2021-07-12 2022-09-13 EMC IP Holding Company LLC Managing drive space among different data services environments within a storage system
TWI793932B (zh) * 2021-12-21 2023-02-21 建興儲存科技股份有限公司 固態儲存裝置及其相關的寫入控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107466418A (zh) * 2015-03-27 2017-12-12 英特尔公司 用于多级别单元模式非易失性存储器的成本优化单级别单元模式非易失性存储器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0706129A4 (en) * 1994-04-25 1999-09-22 Sony Corp INFORMATION STORAGE PROCESSOR
US5893920A (en) * 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US7870128B2 (en) 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
KR100858241B1 (ko) 2006-10-25 2008-09-12 삼성전자주식회사 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법
KR20120013679A (ko) * 2010-08-06 2012-02-15 한국 천문 연구원 플래시 메모리를 이용한 실시간 대용량 천문우주 관측 데이터의 저장 장치 및 방법
US9026737B1 (en) 2011-06-29 2015-05-05 Emc Corporation Enhancing memory buffering by using secondary storage
KR101861170B1 (ko) 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
US8954655B2 (en) * 2013-01-14 2015-02-10 Western Digital Technologies, Inc. Systems and methods of configuring a mode of operation in a solid-state memory
US20150261444A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Memory system and information processing device
US9928169B2 (en) 2014-05-07 2018-03-27 Sandisk Technologies Llc Method and system for improving swap performance
KR102295223B1 (ko) * 2015-01-13 2021-09-01 삼성전자주식회사 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치
US9715939B2 (en) * 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
KR102333220B1 (ko) * 2015-09-24 2021-12-01 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
US10255180B2 (en) * 2015-12-11 2019-04-09 Netapp, Inc. Server-based persistence management in user space
US10545685B2 (en) * 2017-08-30 2020-01-28 Micron Technology, Inc. SLC cache management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107466418A (zh) * 2015-03-27 2017-12-12 英特尔公司 用于多级别单元模式非易失性存储器的成本优化单级别单元模式非易失性存储器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于TMS320C6747的SD卡文件系统设计与实现;孙晓通;李双田;;电声技术(第12期);37-41 *

Also Published As

Publication number Publication date
EP3706003A1 (en) 2020-09-09
WO2020180045A1 (en) 2020-09-10
US20200285407A1 (en) 2020-09-10
US11487452B2 (en) 2022-11-01
CN111666224A (zh) 2020-09-15
EP3706003B1 (en) 2022-05-25

Similar Documents

Publication Publication Date Title
US11507299B2 (en) Method for processing data and electronic device supporting same
JP7235226B2 (ja) 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ
US11392318B2 (en) Electronic device and method of utilizing storage space thereof
CN111666224B (zh) 电子装置和用于利用电子装置的存储器空间的方法
CN112100088A (zh) 电子装置以及使用该电子装置的存储部的方法
US20230342074A1 (en) Electronic device and method for operation of storage of electronic device
TW202401255A (zh) 獨立磁碟冗餘陣列系統、獨立磁碟冗餘陣列系統的記憶體映射模組以及獨立磁碟冗餘陣列系統的方法
US11086538B2 (en) Method and electronic device for initializing storage
US20230168831A1 (en) Electronic device and operation method of electronic device for managing storage space
EP4148572B1 (en) Computational storage device and storage system including the computational storage device
US11341095B2 (en) Electronic device for searching for file information stored in external device and operation method thereof
KR20210101693A (ko) 스토리지를 포함하는 전자 장치 및 이를 이용한 스토리지로 파일 시스템의 디스카드 커맨드 전달 방법
KR20220072748A (ko) 버퍼 메모리 장치의 헤드 오브 라인 엔트리 처리
KR20220060397A (ko) 전자 장치 및 이를 이용한 스토리지 관리 방법
KR20200107716A (ko) 전자 장치 및 그의 저장 공간 이용 방법
EP4357928A1 (en) Methods and system for efficient access to solid state drive
US10768816B2 (en) Method and apparatus to manipulate customer data without using the host interface
CN115617262A (zh) 用于文件读取等待时间减少的方法和设备
CN117687567A (zh) 存储器系统、存储器系统的方法和电子装置
KR20220079212A (ko) 가비지 컬렉션을 수행하기 위한 전자 장치 및 방법
KR20230081556A (ko) 저장 공간을 관리하기 위한 전자 장치 및 전자 장치의 동작 방법
CN117908766A (zh) 用于高效访问固态驱动器的方法和系统
BR112021024998B1 (pt) Dispositivo eletrônico e método de utilizar seu espaço de armazenamento
KR20230031508A (ko) 전자 장치 및 전자 장치의 파일 시스템 운영 방법
TW202429285A (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
GR01 Patent grant
GR01 Patent grant