WO2022156600A1 - 缓冲区容量的调整方法、装置、电子设备及可读存储介质 - Google Patents

缓冲区容量的调整方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
WO2022156600A1
WO2022156600A1 PCT/CN2022/071960 CN2022071960W WO2022156600A1 WO 2022156600 A1 WO2022156600 A1 WO 2022156600A1 CN 2022071960 W CN2022071960 W CN 2022071960W WO 2022156600 A1 WO2022156600 A1 WO 2022156600A1
Authority
WO
WIPO (PCT)
Prior art keywords
capacity
slc buffer
buffer
slc
counter
Prior art date
Application number
PCT/CN2022/071960
Other languages
English (en)
French (fr)
Inventor
杨铠衔
Original Assignee
维沃移动通信有限公司
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
Application filed by 维沃移动通信有限公司 filed Critical 维沃移动通信有限公司
Publication of WO2022156600A1 publication Critical patent/WO2022156600A1/zh

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present application belongs to the technical field of storage, and in particular relates to a buffer capacity adjustment method, apparatus, electronic device and readable storage medium.
  • Write Booster refers to the use of a single-level cell (Single-Level Cell, SLC) in a flash memory (Flash Memory) to quickly write data into the flash memory.
  • the SLC Buffer Size Since the SLC Buffer Size is too large, it will occupy the storage space available to the user. Before the electronic device leaves the factory, it is usually necessary to preset a fixed SLC buffer size. However, there are differences in the usage habits of different users, and the same SLC buffer capacity cannot meet the usage needs of different users. For example, for users who use less, the SLC buffer that does not need to be used occupies storage space; for users who use more , the insufficient capacity of the SLC buffer will affect the efficiency of data writing.
  • the purpose of the embodiments of the present application is to provide a buffer capacity adjustment method, apparatus and electronic device, which can solve the problem that the SLC buffer capacity in the related art cannot meet the usage requirements of different users.
  • an embodiment of the present application provides a method for adjusting buffer capacity, the method comprising:
  • the usage of the SLC buffer includes the number of times the SLC buffer is full
  • the capacity of the SLC buffer is adjusted.
  • an embodiment of the present application provides an apparatus for adjusting buffer capacity, the apparatus comprising:
  • a monitoring module for monitoring the usage of the SLC buffer of the single-stage storage unit, where the usage of the SLC buffer includes the number of times the SLC buffer is full;
  • An adjustment module configured to adjust the capacity of the SLC buffer when the number of times the SLC buffer is full does not meet a preset value range.
  • embodiments of the present application provide an electronic device, the electronic device includes a processor, a memory, and a program or instruction stored on the memory and executable on the processor, the program or instruction being The processor implements the steps of the method according to the first aspect when executed.
  • an embodiment of the present application provides a readable storage medium, where a program or an instruction is stored on the readable storage medium, and when the program or instruction is executed by a processor, the steps of the method according to the first aspect are implemented .
  • an embodiment of the present application provides a chip, the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is configured to run a program or an instruction, and implement the first aspect the method described.
  • a computer program product is provided, the computer program product is stored in a non-transitory storage medium, the computer program product is executed by at least one processor to implement the method of the first aspect.
  • the capacity of the SLC buffer is adjusted when the number of times the SLC buffer is full does not meet a preset value range. In this way, during the use of the electronic device, the electronic device can determine the user's usage requirements for the SLC buffer according to the number of times the SLC buffer is full, and then adjust the capacity of the SLC buffer to meet the needs of different users. While ensuring the speed of writing data in the SLC buffer, the space occupied by the SLC buffer can also be reduced as much as possible.
  • FIG. 3 is a schematic diagram of a counting rule of a first counter provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of adjustment of a buffer capacity provided by an embodiment of the present application.
  • FIG. 5 is one of the structural diagrams of an apparatus for adjusting buffer capacity provided by an embodiment of the present application.
  • FIG. 6 is a second structural diagram of an apparatus for adjusting buffer capacity provided by an embodiment of the present application.
  • FIG. 7 is a third structural diagram of an apparatus for adjusting buffer capacity provided by an embodiment of the present application.
  • FIG. 8 is one of the structural diagrams of an electronic device provided by an embodiment of the present application.
  • FIG. 9 is a second structural diagram of an electronic device provided by an embodiment of the present application.
  • first, second and the like in the description and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It is to be understood that the data so used are interchangeable under appropriate circumstances so that the embodiments of the present application can be practiced in sequences other than those illustrated or described herein, and distinguish between “first”, “second”, etc.
  • the objects are usually of one type, and the number of objects is not limited.
  • the first object may be one or more than one.
  • “and/or” in the description and claims indicates at least one of the connected objects, and the character “/" generally indicates that the associated objects are in an "or” relationship.
  • a single-level cell means that each storage cell of the flash memory stores 1 bit (bit) of data.
  • the technical feature of SLC is that the oxide film between the floating gate and the source is thinner.
  • the write acceleration function can use SLC to quickly write data into the cache. Since each memory cell of SLC can only store 1 bit (bit), the data it can store is compared to the triple-level memory cell (Triple-Level Cell). , TLC) by two-thirds, but the buffer capacity of the SLC is too large to take up the storage space provided by the electronic device to the user.
  • the present application provides a buffer capacity adjustment method, which can be applied to electronic equipment.
  • the method for adjusting the buffer capacity provided by the embodiments of the present application will be described in detail below with reference to the accompanying drawings through specific embodiments and application scenarios.
  • FIG. 1 is one of the flowcharts of a method for adjusting buffer capacity provided by an embodiment of the present application. As shown in Figure 1, the method includes the following steps:
  • Step 101 Monitor the usage of the single-stage storage unit SLC buffer, where the usage of the SLC buffer includes the number of times the SLC buffer is full (SLC Buffer Full).
  • the electronic device can obtain the usage of the SLC buffer from the flash memory through a system-on-chip (SoC).
  • SoC system-on-chip
  • the usage of the SLC buffer includes the number of times the SLC buffer is full, so that the electronic device can determine the user's requirement for using the SLC buffer.
  • the SoC can obtain the status of the SLC buffer by reading the two parameters bAvailableWriteBoosterBufferSize and dCurrentWriteBoosterBufferSize of the SLC, such as information such as available capacity or currently available capacity, so as to judge whether the SLC is full, and count the SLC has been full times.
  • the step 101 includes:
  • the electronic device does not need to send a command to obtain the usage of the SLC buffer separately, and can check the usage of the SLC buffer every time data is written to the SLC buffer For example, checking whether the SLC buffer is full makes it more convenient for the electronic device to obtain the usage of the SLC buffer and reduces the extra query consumption of the SoC.
  • Step 102 Adjust the capacity of the SLC buffer when the number of times the SLC buffer is full does not meet a preset value range.
  • the electronic device can determine the user's usage requirement of the SLC buffer according to the number of times the SLC buffer is full. Specifically, if the number of times the SLC buffer is full is relatively large, it can be considered that the user uses the SLC buffer more, and the electronic device may need to set a larger SLC buffer capacity to meet the user's use requirements, so as to Ensure the speed of data writing; if the number of times the SLC buffer is full is small or 0, it can be considered that the user uses the SLC buffer less, and the electronic device may only need to set a small SLC buffer capacity In this way, the user's usage requirements can be met, so as to minimize the storage space occupied by the SLC buffer and ensure the speed of data writing.
  • the electronic device may preset the initial capacity of the SLC buffer before leaving the factory, and may determine a preset value range corresponding to the initial capacity.
  • the preset value range can be understood as the number of times that the SLC buffer is full if the user uses the SLC buffer on the premise that the capacity of the SLC buffer is the initial capacity If the preset value range is satisfied, it can be considered that the capacity of the SLC buffer can meet user requirements and can ensure the speed of data writing.
  • the user uses the SLC buffer so that the number of times the SLC buffer is full does not meet the preset value range, for example, the user uses the SLC buffer more, so that the SLC buffer is full If the number of times is too large, the SLC buffer may be insufficient, thereby slowing down the speed of data writing; It may lead to redundant capacity of the SLC buffer, which in turn occupies more storage space of the electronic device.
  • the electronic device may adjust the capacity of the SLC buffer.
  • the electronic device can query the real-time status of the SLC buffer through the SoC, for example, record the remaining available capacity of the SLC buffer, whether the SLC buffer is full, etc. to count the SLC buffer is full number of times.
  • the electronic device may send a first instruction to the flash memory through the SoC, where the first instruction is used to instruct the flash memory to reduce the The capacity of the SLC buffer, the first instruction may also carry a capacity difference indicating a decrease.
  • the electronic device may reduce the capacity of the SLC buffer. 1GB, the first instruction carries the capacity difference value "1GB".
  • the electronic device may send a second instruction to the flash memory through the SoC, where the second instruction is used to instruct the flash memory to increase the capacity of the SLC buffer, the second instruction may also carry a capacity difference indicating an increase.
  • the electronic device may increase the capacity of the SLC buffer by 1GB, and the The second instruction carries the capacity difference "1GB".
  • the adjustment of the capacity of the SLC buffer by the electronic device may be a dynamic adjustment process, and the difference in capacity indicated by the electronic device to adjust each time may be determined according to an empirical value, such as increasing each time Or reduce it by 1GB.
  • the electronic device can continue to monitor the usage of the SLC buffer area, and adjust the SLC buffer area according to the specific situation every time the number of times the SLC buffer area is full does not meet the preset value range. To meet the different usage requirements of the same users, while ensuring the speed of writing data to the SLC buffer, the space occupied by the SLC buffer can also be minimized.
  • the electronic device may also monitor other usage conditions of the SLC buffer, such as the available capacity of the SLC buffer, or the erasure of the SLC buffer The number of times, etc., and the strategy for adjusting the SLC buffer is determined accordingly, which may be determined according to the actual situation, which is not limited in this embodiment of the present application.
  • the capacity of the SLC buffer is adjusted .
  • the electronic device can determine the user's usage requirements for the SLC buffer according to the number of times the SLC buffer is full, and then adjust the capacity of the SLC buffer to meet the needs of different users. While ensuring the speed of writing data in the SLC buffer, the space occupied by the SLC buffer can also be reduced as much as possible.
  • FIG. 2 is the second flowchart of a method for adjusting buffer capacity provided by an embodiment of the present application. As shown in Figure 2, the method includes the following steps:
  • Step 201 Monitor whether the SLC buffer is full.
  • Step 202 in the case of monitoring that the SLC buffer is full, increment the value of the first counter by 1.
  • Step 203 Acquire the value of the first counter every first time period, wherein the value of the first counter returns to zero after each first time period.
  • the electronic device may set a first counter to record the number of times the SLC buffer is full, and determine whether the number of times the SLC buffer is full meets a preset value range. Different from reading the two parameters bAvailableWriteBoosterBufferSize and dCurrentWriteBoosterBufferSize of SLC through SoC to obtain the status of SLC buffer, SoC needs to read parameters multiple times and consume SoC resources, and the counter can more conveniently record the number of times the SLC buffer is full .
  • the electronic device may set a first counter, the initial value of the first counter is 0, and the value of the first counter is incremented by 1 when it is detected that the SLC buffer is full once.
  • the electronic device may acquire the value of the first counter every first time period, and then reset the first counter to zero.
  • the first time period may be 24 hours (1 day) or 168 hours (7 days), which may be determined according to actual conditions, which is not limited in this embodiment of the present application.
  • the electronic device may define two parameters, which are denoted as a first parameter and a second parameter here, respectively.
  • the first parameter is used to add 1 to the value of the first counter when the SLC buffer is full, and record the value of the first counter; After the first time period acquires the value of the first counter, the first counter is reset to zero.
  • the name of the first parameter may be "bCounterWriteBoosterBufferFull”
  • the name of the second parameter may be "bResetCounterWriteBoosterBufferFull”. It can be understood that the names of the first parameter and the second parameter can be defined by themselves according to actual conditions, which are not limited in the embodiments of the present application.
  • Step 204 In the case that the value of the first counter does not meet the preset value range, adjust the capacity of the SLC buffer.
  • the electronic device may determine, according to the user's historical usage data, on the premise that the data writing speed of the SLC buffer is guaranteed and the space occupied by the SLC buffer is as small as possible, within the first time period, the The maximum number of times the SLC buffer is full, and then the preset value range can be determined.
  • the value of the first counter When the value of the first counter is within the preset value range, it indicates that the capacity of the SLC buffer meets the user's usage requirement.
  • the preset value range is 4-6
  • the value of the first counter is 5, and the electronic device does not need to adjust the capacity of the SLC buffer.
  • the value of the first counter When the value of the first counter is not within the preset value range, it indicates that the capacity of the SLC buffer does not meet the user's usage requirements. Further, it can be divided into two situations:
  • the electronic device may increase the capacity of the SLC buffer to the first capacity. It should be noted that, the electronic device may determine the capacity difference for each adjustment according to an empirical value, and then the first capacity may be determined according to the current capacity of the SLC buffer and the foregoing capacity difference. For example, if the current capacity of the SLC buffer is 8GB, and the above capacity difference is 1GB, then the first capacity is 9GB.
  • the SLC buffer is less used by the user.
  • the current capacity of the SLC buffer can meet the needs of the user for the use of the SLC buffer, there is redundant space, and these redundant spaces may occupy the space of the electronic device. storage.
  • the electronic device may reduce the capacity of the SLC buffer to the second capacity. It should be noted that, the electronic device can also determine the capacity difference for each adjustment according to an empirical value, and then the second capacity can be determined according to the current capacity of the SLC buffer and the above-mentioned capacity difference. For example, if the current capacity of the SLC buffer is 8 GB, and the above capacity difference is 1 GB, then the second capacity is 7 GB.
  • the electronic device may compare the acquired value of the first counter with the preset value range once every first time period, and then determine whether to The capacity of the buffer is adjusted and how.
  • the electronic device may record the values of the N first counters corresponding to N consecutive first time periods respectively, according to the difference between the values of the N first counters and the preset value range relationship to determine whether and how to adjust the capacity of the SLC buffer.
  • the electronic device does not need to adjust the capacity of the SLC buffer; if the values of the N first counters are greater than the The number M of the maximum value of the preset value range is greater than the first preset threshold, or the value of M/N is greater than the second preset threshold, the electronic device can increase the capacity of the SLC buffer; If the number P of the values of the first counter that is smaller than the minimum value of the preset value range is greater than the third preset threshold, or the value of P/N is greater than the fourth preset threshold, the electronic device can reduce the The capacity of the SLC buffer.
  • the electronic device may also determine the preset value. When the value of the first counter is greater than the preset value, the electronic device can increase the capacity of the SLC buffer; when the value of the first counter is less than the preset value, the electronic device can decrease the capacity The capacity of the SLC buffer; when the value of the first counter is equal to the preset value, the electronic device does not need to adjust the capacity of the SLC buffer.
  • the method further includes:
  • the third capacity is obtained according to the historical usage data of the SLC buffer by the user
  • the capacity of the SLC buffer is set to the third capacity.
  • the electronic device may determine a third capacity that can meet the usage requirements of most users, as the initial capacity of the SLC buffer, according to the user's historical usage data of the SLC buffer.
  • the third capacity can be considered to meet the needs of most users for the use of the SLC buffer, so that the adjustment of the capacity of the SLC buffer can be minimized during the use of the electronic device, reducing the need for the electronic device to adjust the capacity. resource consumption.
  • the electronic device may collect the historical usage data of the SLC buffer by the user in advance.
  • the electronic device may pre-collect the usage of the SLC buffer by the user on multiple target devices that have been shipped from the factory in advance, including the number of times the SLC buffer is full.
  • the initial capacity of the SLC buffers on the multiple target devices previously shipped is the fourth capacity.
  • a second counter is set on each of the multiple target devices previously shipped from the factory, which is used to record the number of times that the SLC buffer on each target device is full.
  • the counting rule of the second counter may refer to the counting rule of the first counter, which will not be repeated here.
  • the target device can be determined as the first target device, and the first target device can be regarded as a device with insufficient SLC buffer capacity; if within the second time period, the number of times that the SLC buffer on a certain target device is full is less than The minimum value of the preset value range, the target device can be determined as the second target device, and the second target device can be regarded as a device with redundant SLC buffer capacity; if within the second time period, a certain target device When the number of times that the SLC buffer on the device is full is within the preset value range, the target device may be determined as a third target device, and the third target device may be regarded as a device with a suitable SLC buffer capacity.
  • the target device can be determined as the first target device; if within N consecutive second time periods, the number of times that the SLC buffer on a certain target device is full is always less than the The minimum value of the preset value range, or most of them are smaller than the minimum value of the preset value range, the target device can be determined as the second target device; The number of times that the SLC buffer is full is always within the preset value range, or most of the times are within the preset value range, and the target device may be determined as the third target device.
  • the electronic device may compare the numbers of the first target device, the second target device, and the third target device. If there are many first target devices, the determined third capacity may be larger than the fourth capacity; if there are many second target devices, the determined third capacity may be smaller than the fourth capacity; If there are many third target devices, the determined third capacity may be equal to the fourth capacity.
  • the implementation form in which the electronic device obtains the third capacity according to the historical usage data of the SLC buffer by the user is not limited to this, and can be determined according to the actual situation, which is not limited here.
  • the method further includes:
  • a prompt interface is displayed, and the prompt interface is used to prompt that the capacity of the SLC buffer has been adjusted.
  • the electronic device may display a prompt interface to prompt the user that the capacity of the SLC buffer has been adjusted.
  • the prompt interface may be a pop-up window or a system message, which may be determined according to the actual situation, and is not limited in this optional implementation manner.
  • the electronic device is provided with a first counter, the initial value of the first counter is 0, the first time period is 24 hours, and the preset value range is 4-6.
  • the electronic device can also define two parameters such as:
  • "bResetCounterWriteBoosterBufferFull” is used to read the value of the first counter every 24 hours, and reset the first counter to zero, indicating that the electronic device has obtained the value of the first counter in the last 24 hours.
  • the electronic device when the electronic device sends a data write command to the NAND flash (NAND Flash) through the SoC, it can check whether the SLC buffer is full. The value is incremented by 1, and the value is recorded in the Nand Flash. The electronic device obtains the value of the first counter from Nand Flash every 24 hours through the SoC, and resets the first counter to zero, and counts the first counter again in the next 24 hours.
  • NAND Flash NAND Flash
  • the electronic device Based on the preset value range of 4 to 6, if the 5 values read by an electronic device from the i-th batch for 5 consecutive days are 7, 8, 9, 6, and 7, it can be considered that the electronic device has SLC If the capacity of the buffer is insufficient, the electronic device can be determined as the first target device; if the 5 values read by an electronic device from the i-th batch for 5 consecutive days are 2, 3, 1, 0, and 2, respectively, It can be considered that the capacity of the SLC buffer in this electronic device is redundant, and this electronic device can be determined as the second target device; if the 5 values read by an electronic device that has been shipped from the i-th batch for 5 consecutive days are: 4, 4, 6, 5, and 4, it can be considered that the capacity of the SLC buffer in the electronic device is appropriate, and the electronic device can be determined as the third target device.
  • the initial capacity of the i+1 batch of electronic devices can be set to 9GB; if the number of second target devices is large, it means that the 8GB SLC buffer capacity is redundant for most users, and the i-th batch can be set to 9GB.
  • the initial capacity of the +1 batch of electronic devices is set to 7GB; if the number of third target devices is large, it means that the 8GB SLC buffer capacity is suitable for most users, and the initial capacity of the i+1 batch of electronic devices can be set Still set to 8GB.
  • the electronic device reads the value of the first counter every 24 hours:
  • the capacity of the SLC buffer will be increased to 10GB, and a prompt box will pop up to remind the user that the capacity of the SLC buffer has been adjusted; If the value of the first counter on the second day is 5, there is no need to adjust the capacity of the SLC buffer; if the value of the first counter on the third day is 2, the capacity of the SLC buffer will be reduced to 9GB, and a prompt box will pop up. Prompt the user that the capacity of the SLC buffer has been adjusted, and so on.
  • the electronic device monitors the number of times the SLC buffer is full on a daily basis, determines whether the number of times the SLC buffer is full meets the preset value range, and continuously and dynamically adjusts to meet different usage needs of users.
  • the execution subject may be a buffer capacity adjustment device, or the control of the buffer capacity adjustment method for executing the buffer capacity adjustment method in the buffer capacity adjustment method. module.
  • the apparatus for adjusting the buffer capacity provided by the embodiment of the present application is described by taking the method for adjusting the buffer capacity performed by the apparatus for adjusting the buffer capacity as an example.
  • FIG. 5 is a schematic structural diagram of an apparatus for adjusting buffer capacity provided by an embodiment of the present application.
  • the buffer capacity adjustment device 500 includes:
  • a monitoring module 501 configured to monitor the usage of the SLC buffer of the single-stage storage unit, where the usage of the SLC buffer includes the number of times the SLC buffer is full;
  • the adjustment module 502 is configured to adjust the capacity of the SLC buffer when the number of times the SLC buffer is full does not meet a preset value range.
  • the monitoring module 501 is specifically used for:
  • the monitoring module 501 includes:
  • Monitoring unit 5011 for monitoring whether the SLC buffer is full
  • a counting unit 5012 for adding 1 to the value of the first counter when monitoring that the SLC buffer is full;
  • an acquisition unit 5013 configured to acquire the value of the first counter every first time period
  • the adjustment module 502 is specifically used for:
  • the value of the first counter returns to zero after each of the first time periods.
  • the adjustment module 502 is further configured to:
  • the capacity of the SLC buffer is reduced to a second capacity.
  • the buffer capacity adjustment apparatus 500 further includes:
  • a determination module 503, configured to determine a third capacity, the third capacity is obtained according to the historical usage data of the SLC buffer by the user;
  • a setting module 504 is configured to set the capacity of the SLC buffer to the third capacity.
  • the device further includes:
  • the display module is used to display a prompt interface, and the prompt interface is used to prompt that the capacity of the SLC buffer has been adjusted.
  • the apparatus for adjusting the buffer capacity adjusts the capacity of the SLC buffer when the number of times the SLC buffer is full does not meet the preset value range by monitoring the usage of the SLC buffer. .
  • the electronic device can determine the user's usage requirements for the SLC buffer according to the number of times the SLC buffer is full, and then adjust the capacity of the SLC buffer to meet the needs of different users. While ensuring the speed of writing data in the SLC buffer, the space occupied by the SLC buffer can also be reduced as much as possible.
  • the apparatus for adjusting the buffer capacity in this embodiment of the present application may be a device, or may be a component, an integrated circuit, or a chip in a terminal.
  • the apparatus may be a mobile electronic device or a non-mobile electronic device.
  • the mobile electronic device may be a mobile phone, a tablet computer, a notebook computer, a palmtop computer, an in-vehicle electronic device, a wearable device, an Ultra-Mobile Personal Computer (UMPC), a netbook, or a personal digital assistant (Personal Digital Assistant).
  • UMPC Ultra-Mobile Personal Computer
  • netbook or a personal digital assistant (Personal Digital Assistant).
  • non-mobile electronic devices can be servers, network attached storage (Network Attached Storage, NAS), personal computer (Personal Computer, PC), television (Television, TV), teller machine or self-service machine, etc., this application Examples are not specifically limited.
  • Network Attached Storage NAS
  • PC Personal Computer
  • TV Television, TV
  • teller machine or self-service machine etc.
  • the device for adjusting the buffer capacity in the embodiment of the present application may be a device having an operating system.
  • the operating system may be an Android (Android) operating system, an ios operating system, or other possible operating systems, which are not specifically limited in the embodiments of the present application.
  • the apparatus for adjusting the buffer capacity provided by the embodiment of the present application can implement each process implemented by the method embodiments in FIG. 1 to FIG. 2 , and to avoid repetition, details are not repeated here.
  • an embodiment of the present application further provides an electronic device, including a processor 810, a memory 809, a program or instruction stored in the memory 809 and executable on the processor 810, the When the program or the instruction is executed by the processor 810, each process of the above embodiment of the buffer capacity adjustment method is implemented, and the same technical effect can be achieved. To avoid repetition, details are not repeated here.
  • the electronic devices in the embodiments of the present application include the above-mentioned mobile electronic devices and non-mobile electronic devices.
  • FIG. 9 is a schematic diagram of a hardware structure of an electronic device implementing an embodiment of the present application.
  • the electronic device 900 includes but is not limited to: a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, and a processor 910, etc. part.
  • the electronic device 900 may also include a power supply (such as a battery) for supplying power to various components, and the power supply may be logically connected to the processor 910 through a power management system, so that the power management system can manage charging, discharging, and power management. consumption management and other functions.
  • a power supply such as a battery
  • the structure of the electronic device shown in FIG. 9 does not constitute a limitation to the electronic device.
  • the electronic device may include more or less components than the one shown, or combine some components, or arrange different components, which will not be repeated here. .
  • the processor 910 is configured to monitor the usage of the SLC buffer of the single-stage storage unit, where the usage of the SLC buffer includes the number of times the SLC buffer is full;
  • the capacity of the SLC buffer is adjusted.
  • processor 910 is specifically configured to:
  • processor 910 is further configured to:
  • the value of the first counter returns to zero after each of the first time periods.
  • processor 910 is further configured to:
  • the capacity of the SLC buffer is reduced to a second capacity.
  • processor 910 is further configured to:
  • the third capacity is obtained according to the historical usage data of the SLC buffer by the user
  • the capacity of the SLC buffer is set to the third capacity.
  • a display unit 906 for:
  • a prompt interface is displayed, and the prompt interface is used to prompt that the capacity of the SLC buffer has been adjusted.
  • the electronic device provided by the embodiment of the present application adjusts the capacity of the SLC buffer when the number of times the SLC buffer is full does not meet a preset value range by monitoring the usage of the SLC buffer. In this way, during the use of the electronic device, the electronic device can determine the user's usage requirements for the SLC buffer according to the number of times the SLC buffer is full, and then adjust the capacity of the SLC buffer to meet the needs of different users. While ensuring the speed of writing data in the SLC buffer, the space occupied by the SLC buffer can also be reduced as much as possible.
  • the input unit 904 may include a graphics processor (Graphics Processing Unit, GPU) 9041 and a microphone 9042. Such as camera) to obtain still pictures or video image data for processing.
  • the display unit 906 may include a display panel 9061, which may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like.
  • the user input unit 907 includes a touch panel 9071 and other input devices 9072 .
  • the touch panel 9071 is also called a touch screen.
  • the touch panel 9071 may include two parts, a touch detection device and a touch controller.
  • Other input devices 9072 may include, but are not limited to, physical keyboards, function keys (such as volume control keys, switch keys, etc.), trackballs, mice, and joysticks, which will not be repeated here.
  • Memory 909 may be used to store software programs as well as various data including, but not limited to, application programs and operating systems.
  • the processor 910 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and application programs, and the like, and the modem processor mainly handles wireless communication. It can be understood that, the above-mentioned modulation and demodulation processor may not be integrated into the processor 910.
  • An embodiment of the present application further provides a readable storage medium, where a program or an instruction is stored on the readable storage medium, and when the program or instruction is executed by a processor, each process of the foregoing buffer capacity adjustment method embodiment is implemented, and The same technical effect can be achieved, and in order to avoid repetition, details are not repeated here.
  • the processor is the processor in the electronic device described in the foregoing embodiments.
  • the readable storage medium includes a computer-readable storage medium, such as a computer read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and the like.
  • An embodiment of the present application further provides a chip, where the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used for running a program or an instruction to implement the above method for adjusting the buffer capacity
  • the chip includes a processor and a communication interface
  • the communication interface is coupled to the processor
  • the processor is used for running a program or an instruction to implement the above method for adjusting the buffer capacity
  • the chip mentioned in the embodiments of the present application may also be referred to as a system-on-chip, a system-on-chip, a system-on-a-chip, or a system-on-a-chip, or the like.
  • the embodiment of the present application further provides a computer program product, the computer program product is stored in a non-volatile storage medium, and the computer program product is executed by at least one processor to realize the above-mentioned embodiment of the method for adjusting the buffer capacity and can achieve the same technical effect, in order to avoid repetition, it will not be repeated here.
  • the disclosed apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the related technology or the part of the technical solution.
  • the computer software product is stored in a storage medium, including several
  • the instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: a U disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk and other mediums that can store program codes.
  • the realization of all or part of the processes in the methods of the above embodiments can be accomplished by controlling the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium. During execution, the processes of the embodiments of the above-mentioned methods may be included.
  • the storage medium may be a magnetic disk, an optical disk, a ROM or a RAM, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种缓冲区容量的调整方法、装置、电子设备及可读存储介质,属于存储技术领域。其中,所述方法包括:通过监测SLC缓冲区的使用情况(101),在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量(102)。

Description

缓冲区容量的调整方法、装置、电子设备及可读存储介质
相关申请的交叉引用
本申请主张在2021年01月21日在中国提交的中国专利申请No.202110080658.8的优先权,其全部内容通过引用包含于此。
技术领域
本申请属于存储技术领域,具体涉及一种缓冲区容量的调整方法、装置、电子设备及可读存储介质。
背景技术
写入加速功能(Write Booster)是指在闪存(Flash Memory)中使用单阶存储单元(Single-Level Cell,SLC),以将数据快速写入闪存中。
由于SLC缓冲区容量(SLC Buffer Size)太大会占用用户可使用的存储空间,在电子设备出厂前,通常需要预设固定的SLC缓冲区容量。然而,不同用户的使用习惯存在差异,相同的SLC缓冲区容量无法满足不同用户的使用需求,例如,针对使用较少的用户,无需使用的SLC缓冲区占用了存储空间;针对使用较多的用户,SLC缓冲区容量不足将会影响数据写入的效率。
发明内容
本申请实施例的目的是提供一种缓冲区容量的调整方法、装置及电子设备,能够解决相关技术中SLC缓冲区容量无法满足不同用户的使用需求的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种缓冲区容量的调整方法,该方法包括:
监测单阶存储单元SLC缓冲区的使用情况,所述SLC缓冲区的使用情况包括所述SLC缓冲区已满的次数;
在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。
第二方面,本申请实施例提供了一种缓冲区容量的调整装置,所述装置包括:
监测模块,用于监测单阶存储单元SLC缓冲区的使用情况,所述SLC缓冲区的使用情况包括所述SLC缓冲区已满的次数;
调整模块,用于在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第六方面,提供了一种计算机程序产品,所述计算机程序产品被存储在非瞬态的存储介质中,所述计算机程序产品被至少一个处理器执行以实现如第一方面所述的方法。
在本申请实施例中,通过监测SLC缓冲区的使用情况,在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。这样,在电子设备的使用过程中,电子设备可以根据所述SLC缓冲区已满的次数,确定用户对所述SLC缓冲区的使用需求,进而对SLC缓冲区的容量进行调整,以满足不同用户的使用需求,在保证所述SLC缓冲区写入数据的速度的同时,还可以尽量减小所述SLC缓冲区占用的空间。
附图说明
图1是本申请实施例提供的一种缓冲区容量的调整方法的流程图之一;
图2是本申请实施例提供的一种缓冲区容量的调整方法的流程图之二;
图3是本申请实施例提供的一种第一计数器的计数规则示意图;
图4是本申请实施例提供的一种缓冲区容量的调整的示意图;
图5是本申请实施例提供的一种缓冲区容量的调整装置的结构图之一;
图6是本申请实施例提供的一种缓冲区容量的调整装置的结构图之二;
图7是本申请实施例提供的一种缓冲区容量的调整装置的结构图之三;
图8是本申请实施例提供的一种电子设备的结构图之一;
图9是本申请实施例提供的一种电子设备的结构图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
为更好地理解本申请实施例提供的技术方案,以下对本申请实施例中可能涉及的相关概念进行解释说明。
单阶存储单元(Single-Level Cell,SLC),是指闪存的每一个存储单元存储1比特(bit)的数据。SLC的技术特点是在浮置栅极与源极之中的氧化薄 膜更薄,在写入数据时通过对浮置栅极的电荷加电压,使得它的电压值超过电压判定点A,然后透过源极,即可将所储存的电荷消除,通过这样的方式,便可储存1个信息单元,此时,存储单元表示为0(已编程)。如果没有加电压或者电压阈值低于A点,就表示1(已擦除)。
写入加速功能(Write Booster)可以使用SLC将数据快速写入缓存中,由于SLC每个存储单元只能存储1比特(bit),其可以存放的数据相比三阶存储单元(Triple-Level Cell,TLC)少了三分之二,但SLC的缓冲区容量太大会占用电子设备提供给用户的存储空间。
本申请提供了一种缓冲区容量的调整方法,所述方法可以应用于电子设备。下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的缓冲区容量的调整方法进行详细地说明。
请参见图1,图1是本申请实施例提供的一种缓冲区容量的调整方法的流程图之一。如图1所示,所述方法包括以下步骤:
步骤101、监测单阶存储单元SLC缓冲区的使用情况,所述SLC缓冲区的使用情况包括所述SLC缓冲区已满(SLC Buffer Full)的次数。
具体实现时,电子设备可以通过系统级芯片(System on Chip,SoC)到闪存中获取SLC缓冲区的使用情况。
本申请实施例中,所述SLC缓冲区的使用情况包括所述SLC缓冲区已满的次数,以此电子设备可以确定用户对SLC缓冲区的使用需求。示例性的,SoC可以通过读取SLC的两个参数bAvailableWriteBoosterBufferSize和dCurrentWriteBoosterBufferSize获取SLC缓冲区的状态,例如可用容量或者当前可用容量等信息,以此判断所述SLC是否已满,并统计所述SLC已满的次数。
本申请实施例中,可选地,所述步骤101,包括:
在向所述SLC缓冲区发送数据写入命令的情况下,监测所述SLC缓冲区的使用情况。
本可选的实施方式中,电子设备无需单独向所述SLC缓冲区发送获取其 使用情况的命令,在每次向所述SLC缓冲区写入数据时,可以检查所述SLC缓冲区的使用情况,例如,检查所述SLC缓冲区是否已满,使得电子设备获取所述SLC缓冲区的使用情况更加便捷,减少了SoC额外的查询消耗。
步骤102、在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。
本申请实施例中,电子设备通过所述SLC缓冲区已满的次数可以确定用户对所述SLC缓冲区的使用需求。具体的,若所述SLC缓冲区已满的次数较大,可以认为用户对所述SLC缓冲区的使用较多,电子设备可能需要设置较大的SLC缓冲区容量才能满足用户的使用需求,以保证数据写入的速度;若所述SLC缓冲区已满的次数较小或者为0,可以认为用户对所述SLC缓冲区的使用较少,电子设备可能仅需要设置较小的SLC缓冲区容量就可以满足用户的使用需求,以尽量减小所述SLC缓冲区占用的存储空间,且能够保证数据写入的速度。
具体实现时,电子设备在出厂前可以预先设置所述SLC缓冲区的初始容量,并可以确定与所述初始容量对应的预设数值范围。其中,所述预设数值范围可以理解为,在所述SLC缓冲区的容量为所述初始容量的前提下,若用户对所述SLC缓冲区的使用,使得所述SLC缓冲区已满的次数满足所述预设数值范围,可以认为所述SLC缓冲区的容量能够满足用户需求,且能够保证数据写入的速度。若用户对所述SLC缓冲区的使用,使得所述SLC缓冲区已满的次数不满足预设数值范围,例如用户对所述SLC缓冲区的使用较多,使得所述SLC缓冲区已满的次数较多,可能导致所述SLC缓冲区不足,进而使得数据写入的速度减慢;或者,用户对所述SLC缓冲区的使用较少,使得所述SLC缓冲区已满的次数较少,可能导致所述SLC缓冲区容量冗余,进而占用了电子设备较多的存储空间。
本申请实施例中,在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,电子设备可以调整所述SLC缓冲区的容量。
具体实现时,电子设备可以通过SoC查询所述SLC缓冲区的实时状态, 例如记录所述SLC缓冲区的剩余可用容量、所述SLC缓冲区是否已满等信息以统计所述SLC缓冲区已满的次数。
当电子设备监测到所述SLC缓冲区已满的次数相对于所述预设数值范围较小时,电子设备可以通过SoC向闪存发送第一指令,所述第一指令用于指示闪存减小所述SLC缓冲区的容量,所述第一指令还可以携带指示减小的容量差值。示例性的,假设当前所述SLC缓冲区的容量为8GB,当所述SLC缓冲区已满的次数相对于所述预设数值范围较小时,电子设备可以将所述SLC缓冲区的容量减小1GB,所述第一指令携带有容量差值“1GB”。
当电子设备监测到所述SLC缓冲区已满的次数相对于所述预设数值范围较大时,电子设备可以通过SoC向闪存发送第二指令,所述第二指令用于指示闪存增大所述SLC缓冲区的容量,所述第二指令还可以携带指示增大的容量差值。示例性的,假设当前所述SLC缓冲区的容量为8GB,当已满的次数相对于所述预设数值范围较大时,电子设备可以将所述SLC缓冲区的容量增大1GB,所述第二指令携带有容量差值“1GB”。
需要说明的是,本申请实施例中,电子设备对所述SLC缓存区的容量的调整可以是动态调整的过程,电子设备每次指示调整的容量差值可以根据经验值确定,例如每次增加或者减小1GB。在调整后,电子设备可以继续监测所述SLC缓存区的使用情况,在每一次出现所述SLC缓冲区已满的次数不满足预设数值范围的情况时,根据具体情况调整所述SLC缓存区的容量,以满足相同的用户的不同使用需求,在保证所述SLC缓冲区写入数据的速度的同时,还可以尽量减小所述SLC缓冲区占用的空间。
需要说明的是,在本申请的其他实施例中,所述电子设备也可以监测所述SLC缓冲区的其他使用情况,例如所述SLC缓冲区的可用容量,或者所述SLC缓冲区的擦除次数等,并对应确定调整所述SLC缓冲区的策略,具体可根据实际情况决定,本申请实施例在此不作限定。
本申请实施例提供的缓冲区容量的调整方法,通过监测SLC缓冲区的使用情况,在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整 所述SLC缓冲区的容量。这样,在电子设备的使用过程中,电子设备可以根据所述SLC缓冲区已满的次数,确定用户对所述SLC缓冲区的使用需求,进而对SLC缓冲区的容量进行调整,以满足不同用户的使用需求,在保证所述SLC缓冲区写入数据的速度的同时,还可以尽量减小所述SLC缓冲区占用的空间。
请参见图2,图2是本申请实施例提供的一种缓冲区容量的调整方法的流程图之二。如图2所示,所述方法包括以下步骤:
步骤201、监测所述SLC缓冲区是否已满。
本步骤的具体实现形式可以参照如图1所示实施例中对所述监测所述SLC缓冲区是否已满的解释说明,为避免重复,在此不再赘述。
步骤202、在监测到所述SLC缓冲区已满的情况下,将第一计数器的数值加1。
步骤203、每间隔第一时间周期,获取所述第一计数器的数值,其中,所述第一计数器的数值在每个所述第一时间周期后归零。
本申请实施例中,电子设备可以设置第一计数器,记录所述SLC缓冲区已满的次数,并确定所述SLC缓冲区已满的次数是否满足预设数值范围。不同于通过SoC读取SLC的两个参数bAvailableWriteBoosterBufferSize和dCurrentWriteBoosterBufferSize获取SLC缓冲区的状态,需要SoC多次读取参数而消耗SoC的资源,通过计数器可以更加方便的记录所述SLC缓冲区已满的次数。
具体实现时,电子设备可以设置第一计数器,所述第一计数器的初始值为0,在监测到所述SLC缓冲区已满一次,所述第一计数器的数值加1。电子设备可以每间隔第一时间周期获取一次所述第一计数器的数值,之后将所述第一计数器归零。其中,所述第一时间周期可以是24小时(1天),也可以是168小时(7天),具体可根据实际情况决定,本申请实施例在此不作限定。
进一步的,电子设备可以定义两个参数,在此分别表示为第一参数和第 二参数。其中,第一参数用于在所述SLC缓冲区已满时,将所述第一计数器的数值加1,并记录所述第一计数器的数值;第二参数用于在电子设备每间隔所述第一时间周期获取所述第一计数器的数值后,将所述第一计数器归零。具体实现时,所述第一参数的名称可以为“bCounterWriteBoosterBufferFull”,所述第二参数的名称可以为“bResetCounterWriteBoosterBufferFull”。可以理解的是,所述第一参数和所述第二参数的名称可以根据实际情况自行定义,本申请实施例不作限定。
步骤204、在所述第一计数器的数值不满足所述预设数值范围内的情况下,调整所述SLC缓冲区容量。
具体实现时,电子设备可以根据用户的历史使用数据,确定在保证所述SLC缓冲区数据写入速度且所述SLC缓冲区占用的空间尽量小的前提下,所述第一时间周期内所述SLC缓冲区已满的最大次数,进而确定可以所述预设数值范围。
当所述第一计数器的数值处于所述预设数值范围内时,表示所述SLC缓冲区的容量满足用户的使用需求。例如所述预设数值范围为4~6,所述第一计数器的数值为5,电子设备无需调整对所述SLC缓冲区的容量。
当所述第一计数器的数值未处于所述预设数值范围内时,表示所述SLC缓冲区的容量不满足用户的使用需求,进一步地,可以分为两种情况:
在所述第一计数器的数值大于所述预设数值范围的最大值的情况下,例如所述预设数值范围为4~6,所述第一计数器的数值为8,说明在第一时间周期内,用户对所述SLC缓冲区的使用较多,当前所述SLC缓冲区的容量可能不能满足用户对所述SLC缓冲区的使用需求,进而可能影响数据写入的速度。电子设备可以增大所述SLC缓冲区的容量至第一容量。需要说明的是,电子设备可以根据经验值确定每次调整的容量差值,进而所述第一容量可以根据当前所述SLC缓冲区的容量和上述容量差值确定。例如,当前所述SLC缓冲区的容量为8GB,上述容量差值为1GB,那么所述第一容量为9GB。
在所述第一计数器的数值小于所述预设数值范围的最小值的情况下,例 如所述预设数值范围为4~6,所述第一计数器的数值为2,说明在第一时间周期内,用户对所述SLC缓冲区的使用较少,当前所述SLC缓冲区的容量虽然能满足用户对所述SLC缓冲区的使用需求但存在冗余空间,这些冗余空间可能占用电子设备的存储空间。电子设备可以减小所述SLC缓冲区的容量至第二容量。需要说明的是,电子设备同样可以根据经验值确定每次调整的容量差值,进而所述第二容量可以根据当前所述SLC缓冲区的容量和上述容量差值确定。例如,当前所述SLC缓冲区的容量为8GB,上述容量差值为1GB,那么所述第二容量为7GB。
本申请实施例中,在一种实施方式中,电子设备每间隔第一时间周期,可以将获取的所述第一计数器的数值与所述预设数值范围比较一次,进而确定是否对所述SLC缓冲区的容量进行调整以及如何调整。
在一种实施方式中,电子设备可以记录连续N个第一时间周期分别对应的N个所述第一计数器的数值,根据N个所述第一计数器的数值与所述预设数值范围之间关系,确定是否对所述SLC缓冲区的容量进行调整以及如何调整。
示例性的,若N个所述第一计数器的数值均处于所述预设数值范围内,电子设备无需调整所述SLC缓冲区的容量;若N个所述第一计数器的数值中大于所述预设数值范围的最大值的数值的个数M大于第一预设阈值,或者M/N的值大于第二预设阈值,电子设备可以增大所述SLC缓冲区的容量;若N个所述第一计数器的数值中小于所述预设数值范围的最小值的数值的个数P大于第三预设阈值,或者P/N的值大于第四预设阈值,电子设备可以减小所述SLC缓冲区的容量。
需要说明的是,在本申请其他实施例中,电子设备也可以确定所述预设数值。当所述第一计数器的数值大于所述预设数值时,电子设备可以增大所述SLC缓冲区的容量;当所述第一计数器的数值小于所述预设数值时,电子设备可以减小所述SLC缓冲区的容量;当所述第一计数器的数值等于所述预设数值时,电子设备无需调整所述SLC缓冲区的容量。
本申请实施例中,可选的,所述监测单阶存储单元SLC缓冲区的使用情况之前,所述方法还包括:
确定第三容量,所述第三容量根据用户对SLC缓冲区的历史使用数据得到;
将所述SLC缓冲区的容量设置为所述第三容量。
本可选的实施方式中,电子设备可以根据用户对SLC缓冲区的历史使用数据,确定一个能够满足大部分用户使用需求的第三容量,作为所述SLC缓冲区的初始容量。所述第三容量可以认为满足大部分用户对所述SLC缓冲区的使用需求,进而在电子设备使用过程中可以尽量减少对所述SLC缓冲区的容量的调整,减少电子设备进行容量调整所需的资源消耗。
具体实现时,电子设备可以预先采集用户对所述SLC缓冲区的历史使用数据。示例性的,电子设备可以预先采集先前出厂的多个目标设备上用户对所述SLC缓冲区的使用情况,包括所述SLC缓冲区已满的次数。上述先前出厂的多个目标设备上的SLC缓冲区的初始容量为第四容量。
在一种实现形式中,上述先前出厂的多个目标设备上均设置有第二计数器,用于记录每个目标设备上SLC缓冲区已满的次数。其中,所述第二计数器的计数规则可以参考所述第一计数器的计数规则,在此不再赘述。
本可选的实现形式中,可选地,根据所述第二计数器的数值,若第二时间周期内,某个目标设备上SLC缓冲区已满的次数大于所述预设数值范围的最大值,可以将该目标设备确定为第一目标设备,所述第一目标设备可以视为SLC缓冲区容量不足的设备;若第二时间周期内,某个目标设备上SLC缓冲区已满的次数小于所述预设数值范围的最小值,可以将该目标设备确定为第二目标设备,所述第二目标设备可以视为SLC缓冲区容量冗余的设备;若第二时间周期内,某个目标设备上SLC缓冲区已满的次数处于所述预设数值范围内,可以将该目标设备确定为第三目标设备,所述第三目标设备可以视为SLC缓冲区容量合适的设备。
可选地,根据所述第二计数器的数值,若连续N个第二时间周期内,某 个目标设备上SLC缓冲区已满的次数始终大于所述预设数值范围的最大值,或者多数大于所述预设数值范围的最大值,可以将该目标设备确定为所述第一目标设备;若连续N个第二时间周期内,某个目标设备上SLC缓冲区已满的次数始终小于所述预设数值范围的最小值,或者多数小于所述预设数值范围的最小值,可以将该目标设备确定为所述第二目标设备;若连续N个第二时间周期内,某个目标设备上SLC缓冲区已满的次数始终处于所述预设数值范围内,或者多数处于所述预设数值范围内,可以将该目标设备确定为所述第三目标设备。
本可选的实现形式中,电子设备可以比较所述第一目标设备、所述第二目标设备和所述第三目标设备的数量。若所述第一目标设备较多,确定的所述第三容量可以大于所述第四容量;若所述第二目标设备较多,确定的所述第三容量可以小于所述第四容量;若所述第三目标设备较多,确定的所述第三容量可以等于所述第四容量。
可以理解的是,本实施方式中,电子设备根据用户对SLC缓冲区的历史使用数据得到所述第三容量的实现形式并不限于此,具体可根据实际情况决定,在此不作限定。
需要说明的是,本申请实施例中的实施方式同样适用于图1所述的实施例,且能实现同样的技术效果,为避免重复,在此不再赘述。
本申请实施例中,可选地,所述调整所述SLC缓冲区的容量之后,所述方法还包括:
显示提示界面,所述提示界面用于提示所述SLC缓冲区的容量已经调整。
本可选的实施方式中,在每一次调整所述SLC缓冲区的容量之后,电子设备可以显示提示界面,以提示用户所述SLC缓冲区的容量已经调整。
具体实现时,所述提示界面可以是弹出窗口,也可以是系统消息,具体可根据实际情况决定,本可选的实施方式不作限定。
需要说明的是,本申请实施例中的实施方式同样适用于图1所述的实施例,且能实现同样的技术效果,为避免重复,在此不再赘述。
为方便理解,在此对本申请实施例的一种具体实施方式进行说明,需要说明的是,本实施方式中的数值均为示例,并不对本申请实施例作限定:
本实施方式中,电子设备上设置有第一计数器,第一计数器的初始值为0,第一时间周期为24小时,预设数值范围为4~6。
电子设备还可以定义两个参数,例如:
“bCounterWriteBoosterBufferFull”用于在SLC缓冲区已满时,将第一计数器加1,并记录第一计数器的数值;
“bResetCounterWriteBoosterBufferFull”用于每间隔24小时读取第一计数器的数值,并将第一计数器归零,以表示电子设备已经获取上一个24小时中第一计数器的数值。
如图3和图4所示,电子设备通过SoC向NAND闪存(Nand Flash)发送数据写入命令时,可以检查SLC缓冲区是否已满,若所述SLC缓冲区已满,将第一计数器的数值加1,并将该数值记录至Nand Flash中。电子设备通过SoC每24小时向Nand Flash获取一次第一计数器的数值,并将第一计数器归零,下一个24小时第一计数器重新计数。
1)确定电子设备上SLC缓冲区的初始容量。
假设第i批出厂的电子设备上SLC缓冲区的初始容量为8GB,采集第i批出厂的电子设备的用户对SLC缓冲区的使用数据:
基于预设数值范围为4~6,若某台第i批出厂的电子设备连续5天读取的5个数值分别为7、8、9、6、7,则可以认为该台电子设备中SLC缓冲区的容量不足,可以将该台电子设备确定为第一目标设备;若某台第i批出厂的电子设备连续5天读取的5个数值分别为2、3、1、0、2,则可以认为该台电子设备中SLC缓冲区的容量冗余,可以将该台电子设备确定为第二目标设备;若某台第i批出厂的电子设备连续5天读取的5个数值分别为4、4、6、5、4,则可以认为该台电子设备中SLC缓冲区的容量合适,可以将该台电子设备确定为第三目标设备。
分别统计第i批出厂的电子设备中第一目标设备、第二目标设备和第三 目标设备的数量,若第一目标设备的数量较多,则说明8GB的SLC缓冲区容量对于大多数用户来说不足,可以将第i+1批电子设备的初始容量设置为9GB;若第二目标设备的数量较多,则说明8GB的SLC缓冲区容量对于大多数用户来说冗余,可以将第i+1批电子设备的初始容量设置为7GB;若第三目标设备的数量较多,则说明8GB的SLC缓冲区容量对于大多数用户来说合适,可以将第i+1批电子设备的初始容量仍然设置为8GB。
2)动态调整电子设备上SLC缓冲区的容量。
假设第i+1批出厂的电子设备上SLC缓冲区的初始容量为9GB。在第i+1批电子设备的使用过程中,以某一台电子设备为例,该电子设备每间隔24小时读取第一计数器的数值:
基于预设数值范围为4~6,若第1天第一计数器的数值为8,则将SLC缓冲区的容量增加为10GB,并弹出提示框,以提示用户SLC缓冲区的容量已经调整;若第2天第一计数器的数值为5,则无需调整SLC缓冲区的容量;若第3天第一计数器的数值为2,则将SLC缓冲区的容量减小为9GB,并弹出提示框,以提示用户SLC缓冲区的容量已经调整,以此类推。电子设备逐日监测SLC缓冲区已满的次数,判断所述SLC缓冲区已满的次数是否满足所述预设数值范围,不断的动态调整以满足用户不同的使用需求。
本申请实施例中,在图1所示的实施例的基础上增加了多种可选的实施方式,通过计数器记录所述SLC缓冲区已满的次数,更加便捷,且减少电子设备获取所述SLC缓冲区的使用情况的查询消耗。
需要说明的是,本申请实施例提供的缓冲区容量的调整方法,执行主体可以为缓冲区容量的调整装置,或者该缓冲区容量的调整方法中的用于执行缓冲区容量的调整方法的控制模块。本申请实施例中以缓冲区容量的调整装置执行缓冲区容量的调整方法为例,说明本申请实施例提供的缓冲区容量的调整装置。
请参见图5,图5是本申请实施例提供的一种缓冲区容量的调整装置的结构示意图。
如图5所示,缓冲区容量的调整装置500包括:
监测模块501,用于监测单阶存储单元SLC缓冲区的使用情况,所述SLC缓冲区的使用情况包括所述SLC缓冲区已满的次数;
调整模块502,用于在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。
可选地,监测模块501具体用于:
在向所述SLC缓冲区发送数据写入命令的情况下,监测所述SLC缓冲区的使用情况。
可选地,如图6所示,监测模块501包括:
监测单元5011,用于监测所述SLC缓冲区是否已满;
计数单元5012,用于在监测到所述SLC缓冲区已满的情况下,将第一计数器的数值加1;
获取单元5013,用于每间隔第一时间周期,获取所述第一计数器的数值;
调整模块502具体用于:
在所述第一计数器的数值不满足所述预设数值范围的情况下,调整所述SLC缓冲区的容量;
其中,所述第一计数器的数值在每个所述第一时间周期后归零。
可选地,调整模块502进一步用于:
在所述第一计数器的数值大于所述预设数值范围的最大值的情况下,将所述SLC缓冲区的容量增大为第一容量;
在所述第一计数器的数值小于所述预设数值范围的最小值的情况下,将所述SLC缓冲区的容量减小为第二容量。
可选地,如图7所示,缓冲区容量的调整装置500还包括:
确定模块503,用于确定第三容量,所述第三容量根据用户对SLC缓冲区的历史使用数据得到;
设置模块504,用于将所述SLC缓冲区的容量设置为所述第三容量。
可选地,所述装置还包括:
显示模块,用于显示提示界面,所述提示界面用于提示所述SLC缓冲区的容量已经调整。
本申请实施例提供的缓冲区容量的调整装置,通过监测SLC缓冲区的使用情况,在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。这样,在电子设备的使用过程中,电子设备可以根据所述SLC缓冲区已满的次数,确定用户对所述SLC缓冲区的使用需求,进而对SLC缓冲区的容量进行调整,以满足不同用户的使用需求,在保证所述SLC缓冲区写入数据的速度的同时,还可以尽量减小所述SLC缓冲区占用的空间。
本申请实施例中的缓冲区容量的调整装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本或者个人数字助理(Personal Digital Assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(Personal Computer,PC)、电视机(Television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的缓冲区容量的调整装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的缓冲区容量的调整装置能够实现图1至图2的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选的,如图8所示,本申请实施例还提供一种电子设备,包括处理器810,存储器809,存储在存储器809上并可在所述处理器810上运行的程序或指令,该程序或指令被处理器810执行时实现上述缓冲区容量的调整方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设 备和非移动电子设备。
图9为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备900包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、以及处理器910等部件。
本领域技术人员可以理解,电子设备900还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器910,用于监测单阶存储单元SLC缓冲区的使用情况,所述SLC缓冲区的使用情况包括所述SLC缓冲区已满的次数;
在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。
可选地,处理器910,具体用于:
在向所述SLC缓冲区发送数据写入命令的情况下,监测所述SLC缓冲区的使用情况。
可选地,处理器910,还用于:
监测所述SLC缓冲区是否已满;在监测到所述SLC缓冲区已满的情况下,将第一计数器的数值加1;
每间隔第一时间周期,获取所述第一计数器的数值;
在所述第一计数器的数值未处于所述预设数值范围的情况下,调整所述SLC缓冲区的容量;
其中,所述第一计数器的数值在每个所述第一时间周期后归零。
可选地,处理器910,还用于:
在所述第一计数器的数值大于所述预设数值范围的最大值的情况下,将所述SLC缓冲区的容量增大为第一容量;
在所述第一计数器的数值小于所述第一预设范围的最小值的情况下,将所述SLC缓冲区的容量减小为第二容量。
可选地,处理器910,还用于:
确定第三容量,所述第三容量根据用户对SLC缓冲区的历史使用数据得到;
将所述SLC缓冲区的容量设置为所述第三容量。
可选地,显示单元906,用于:
显示提示界面,所述提示界面用于提示所述SLC缓冲区的容量已经调整。
本申请实施例提供的电子设备,通过监测SLC缓冲区的使用情况,在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。这样,在电子设备的使用过程中,电子设备可以根据所述SLC缓冲区已满的次数,确定用户对所述SLC缓冲区的使用需求,进而对SLC缓冲区的容量进行调整,以满足不同用户的使用需求,在保证所述SLC缓冲区写入数据的速度的同时,还可以尽量减小所述SLC缓冲区占用的空间。
应理解的是,本申请实施例中,输入单元904可以包括图形处理器(Graphics Processing Unit,GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元906可包括显示面板9061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板9061。用户输入单元907包括触控面板9071以及其他输入设备9072。触控面板9071,也称为触摸屏。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器909可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器910可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述缓冲区容量的调整方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述缓冲区容量的调整方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品被存储在非易失的存储介质中,所述计算机程序产品被至少一个处理器执行以实现上述缓冲区容量的调整方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM或RAM等。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (17)

  1. 一种缓冲区容量的调整方法,所述方法包括:
    监测单阶存储单元SLC缓冲区的使用情况,所述SLC缓冲区的使用情况包括所述SLC缓冲区已满的次数;
    在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。
  2. 根据权利要求1所述的方法,其中,所述监测单阶存储单元SLC缓冲区的使用情况,包括:
    在向所述SLC缓冲区发送数据写入命令的情况下,监测所述SLC缓冲区的使用情况。
  3. 根据权利要求1所述的方法,其中,所述监测单阶存储单元SLC缓冲区的使用情况,包括:
    监测所述SLC缓冲区是否已满;
    在监测到所述SLC缓冲区已满的情况下,将第一计数器的数值加1;
    每间隔第一时间周期,获取所述第一计数器的数值;
    所述在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量,包括:
    在所述第一计数器的数值不满足所述预设数值范围的情况下,调整所述SLC缓冲区的容量;
    其中,所述第一计数器的数值在每个所述第一时间周期后归零。
  4. 根据权利要求3所述的方法,其中,所述第一计数器的数值不满足所述预设数值范围的情况下,调整所述SLC缓冲区的容量,包括:
    在所述第一计数器的数值大于所述预设数值范围的最大值的情况下,将所述SLC缓冲区的容量增大为第一容量;
    在所述第一计数器的数值小于所述预设数值范围的最小值的情况下,将所述SLC缓冲区的容量减小为第二容量。
  5. 根据权利要求1所述的方法,其中,所述监测单阶存储单元SLC缓冲区的使用情况之前,所述方法还包括:
    确定第三容量,所述第三容量根据用户对SLC缓冲区的历史使用数据得到;
    将所述SLC缓冲区的容量设置为所述第三容量。
  6. 根据权利要求1所述的方法,其中,所述调整所述SLC缓冲区的容量之后,所述方法还包括:
    显示提示界面,所述提示界面用于提示所述SLC缓冲区的容量已经调整。
  7. 一种缓冲区容量的调整装置,所述装置包括:
    监测模块,用于监测单阶存储单元SLC缓冲区的使用情况,所述SLC缓冲区的使用情况包括所述SLC缓冲区已满的次数;
    调整模块,用于在所述SLC缓冲区已满的次数不满足预设数值范围的情况下,调整所述SLC缓冲区的容量。
  8. 根据权利要求7所述的装置,其中,所述监测模块具体用于:
    在向所述SLC缓冲区发送数据写入命令的情况下,监测所述SLC缓冲区的使用情况。
  9. 根据权利要求7所述的装置,其中,所述监测模块包括:
    监测单元,用于监测所述SLC缓冲区是否已满;
    计数单元,用于在监测到所述SLC缓冲区已满的情况下,将第一计数器的数值加1;
    获取单元,用于每间隔第一时间周期,获取所述第一计数器的数值;
    所述调整模块具体用于:
    在所述第一计数器的数值不满足所述预设数值范围的情况下,调整所述SLC缓冲区的容量;
    其中,所述第一计数器的数值在每个所述第一时间周期后归零。
  10. 根据权利要求9所述的装置,其中,所述调整模块进一步用于:
    在所述第一计数器的数值大于所述预设数值范围的最大值的情况下,将 所述SLC缓冲区的容量增大为第一容量;
    在所述第一计数器的数值小于所述预设数值范围的最小值的情况下,将所述SLC缓冲区的容量减小为第二容量。
  11. 根据权利要求7所述的装置,其中,所述装置还包括:
    确定模块,用于确定第三容量,所述第三容量根据用户对SLC缓冲区的历史使用数据得到;
    设置模块,用于将所述SLC缓冲区的容量设置为所述第三容量。
  12. 根据权利要求7所述的装置,其中,所述装置还包括:
    显示模块,用于显示提示界面,所述提示界面用于提示所述SLC缓冲区的容量已经调整。
  13. 一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,其中,所述程序或指令被所述处理器执行时实现如权利要求1至6任一项所述的缓冲区容量的调整方法的步骤。
  14. 一种可读存储介质,所述可读存储介质上存储程序或指令,其中,所述程序或指令被处理器执行时实现如权利要求1至6任一项所述的缓冲区容量的调整方法的步骤。
  15. 一种芯片,包括处理器和通信接口,其中,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如权利要求1至6任一项所述的缓冲区容量的调整方法的步骤。
  16. 一种计算机程序产品,其中,所述计算机程序产品被存储在非易失的存储介质中,所述计算机程序产品被至少一个处理器执行以实现如权利要求1至6任一项所述的缓冲区容量的调整方法的步骤。
  17. 一种通信设备,被配置为执行如权利要求1至6任一项所述的缓冲区容量的调整方法的步骤。
PCT/CN2022/071960 2021-01-21 2022-01-14 缓冲区容量的调整方法、装置、电子设备及可读存储介质 WO2022156600A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110080658.8A CN112711387B (zh) 2021-01-21 2021-01-21 缓冲区容量的调整方法、装置、电子设备及可读存储介质
CN202110080658.8 2021-01-21

Publications (1)

Publication Number Publication Date
WO2022156600A1 true WO2022156600A1 (zh) 2022-07-28

Family

ID=75549973

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/071960 WO2022156600A1 (zh) 2021-01-21 2022-01-14 缓冲区容量的调整方法、装置、电子设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN112711387B (zh)
WO (1) WO2022156600A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711387B (zh) * 2021-01-21 2023-06-09 维沃移动通信有限公司 缓冲区容量的调整方法、装置、电子设备及可读存储介质
CN113805814B (zh) * 2021-09-22 2023-08-15 深圳宏芯宇电子股份有限公司 缓存管理方法、装置、存储设备和可读存储介质
CN114328343A (zh) * 2021-11-16 2022-04-12 广州展讯信息科技有限公司 一种嵌入式Linux系统中的数据处理方法、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604565A (zh) * 2003-10-02 2005-04-06 国际商业机器公司 具有硬件控制缓冲区的共享缓冲器
CN1607508A (zh) * 2003-10-16 2005-04-20 国际商业机器公司 自适应重构缓冲区的系统和方法
US20120290710A1 (en) * 2011-05-12 2012-11-15 Fluke Corporation Method and apparatus for dynamically adjusting data storage rates in an apm system
CN111459410A (zh) * 2020-03-25 2020-07-28 北京三快在线科技有限公司 内存空间分配方法、装置、电子设备及存储介质
CN112711387A (zh) * 2021-01-21 2021-04-27 维沃移动通信有限公司 缓冲区容量的调整方法、装置、电子设备及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6163741B2 (ja) * 2012-11-30 2017-07-19 ヤマハ株式会社 ネットワーク受信用バッファのバッファサイズ決定方法及び装置並びにネットワークセッションシステム
CN111538678A (zh) * 2020-04-20 2020-08-14 深圳Tcl数字技术有限公司 数据缓冲方法、设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604565A (zh) * 2003-10-02 2005-04-06 国际商业机器公司 具有硬件控制缓冲区的共享缓冲器
CN1607508A (zh) * 2003-10-16 2005-04-20 国际商业机器公司 自适应重构缓冲区的系统和方法
US20120290710A1 (en) * 2011-05-12 2012-11-15 Fluke Corporation Method and apparatus for dynamically adjusting data storage rates in an apm system
CN111459410A (zh) * 2020-03-25 2020-07-28 北京三快在线科技有限公司 内存空间分配方法、装置、电子设备及存储介质
CN112711387A (zh) * 2021-01-21 2021-04-27 维沃移动通信有限公司 缓冲区容量的调整方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN112711387A (zh) 2021-04-27
CN112711387B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
WO2022156600A1 (zh) 缓冲区容量的调整方法、装置、电子设备及可读存储介质
US20240054079A1 (en) Memory Management Method and Apparatus, Electronic Device, and Computer-Readable Storage Medium
KR102295223B1 (ko) 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치
CN108196809B (zh) 空闲显示情况下的存储器功率节省
WO2015180444A1 (zh) 调整屏幕刷新率的方法、终端及计算机存储介质
US7869835B1 (en) Method and system for pre-loading and executing computer instructions within the cache memory
US9519332B2 (en) Information processing apparatus, information processing system, and power control method
US20120001949A1 (en) Brightness Controller, Brightness Control Method, and Computer Program Product
TW201729187A (zh) 用於使用前饋壓縮統計控制記憶體頻率之系統及方法
US10459737B2 (en) Waking and sleeping a display among a plurality of displays using gestures
CN109412240A (zh) 一种调节充电电流的方法及设备
TWI515548B (zh) 用以促進於計算裝置的電力延長服務之機構
US10228750B2 (en) Reducing the power consumption of an information handling system capable of handling both dynamic and static display applications
US20140320428A1 (en) Information processing apparatus, method of adjusting sensitivity of touchpad, and storage medium
WO2021047398A1 (zh) 存储块回收方法、装置、存储介质及电子设备
WO2023236930A1 (zh) 基于ion分配器的内存分配方法、装置、电子设备和可读存储介质
WO2016100037A1 (en) System and method for managing bandwidth and power consumption through data filtering
CN111026346B (zh) 一种表盘显示内容低功耗更新方法、设备及存储介质
CN112162704A (zh) 存储空间释放方法及其装置
CN107209544A (zh) 基于I/O操作特征的SoC空闲功率状态控制的系统和方法
JP2004164530A (ja) ポータブルコンピュータのオペレーションシステムによる電池状態読み取り方法
WO2023207671A1 (zh) 一种电池电量状态的确定方法
TWI839237B (zh) 用於執行動態流量整形的方法及其裝置
WO2018112738A1 (en) Power state management
US10289187B2 (en) Electronic device and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22742079

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22742079

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 18.01.2024)