Universal flash storage host controller and universal flash storage device synchronization

By disabling the auto-hibernate idle timer and synchronizing UFS host controllers with UFS devices before transitioning to hibernation mode, the issue of premature link transitions and power wastage is addressed, ensuring efficient power management in UFS systems.

WO2026107740A1PCT designated stage Publication Date: 2026-05-28QUALCOMM INC +8
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
QUALCOMM INC
Filing Date
2024-11-22
Publication Date
2026-05-28

AI Technical Summary

Technical Problem

UFS host controllers often transition communication links to hibernation mode prematurely, leading to undetermined states and unnecessary power consumption due to outstanding operations in UFS devices.

Method used

Disabling the auto-hibernate idle timer before sending a command to the UFS device, allowing it to complete outstanding operations, and enabling the timer after receiving a response indicating the new state, thereby synchronizing the UFS host controller and device before transitioning to hibernation mode.

Benefits of technology

Prevents undetermined states in UFS devices and reduces power consumption by ensuring the communication link transitions to hibernation mode only after the UFS device has completed its tasks, thus optimizing power usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024133728_28052026_PF_FP_ABST
    Figure CN2024133728_28052026_PF_FP_ABST
Patent Text Reader

Abstract

A method performable by a universal flash storage (UFS) host controller is disclosed. The method includes disabling an auto-hibernate idle timer (AHIT) while a communication link between the UFS host controller and a UFS device is configured in a first operating mode (302). The method includes sending a command to the UFS device via the communication link after disabling the AHIT (304). The method includes receiving a response from the UFS device after sending the command (308). The method includes transitioning the communication link from the first operating mode to a second operating mode after receiving the response (310).
Need to check novelty before this filing date? Find Prior Art

Description

UNIVERSAL FLASH STORAGE HOST CONTROLLER AND UNIVERSAL FLASH STORAGE DEVICE SYNCHRONIZATION

[0001] Aspects of the present disclosure generally relate to universal flash storage and, more particularly, to techniques for synchronizing a UFS host controller with a UFS device.BACKGROUND

[0002] Universal Flash Storage (UFS) is a storage standard that is a replacement for older storage standards (e.g., Embedded MultiMediaCard) used in mobile and embedded devices. With UFS, a UFS host controller may communicate with a UFS device via a communication link (e.g., including separate read and write bit lines) . In this manner, the UFS host controller may read and write data to the UFS device. The UFS host controller may also send commands to the UFS device via the communication link to configure a power mode of the UFS device. For instance, the UFS host controller may send a command to cause the UFS device to transition from an active power mode to a deep sleep power mode in which a supply voltage (e.g, Vcc) for the UFS device may be turned off such that the UFS device consumes no power. BRIEF SUMMARY

[0003] In one aspect, a method performable by a UFS host controller is provided. The method generally includes: disabling an auto-hibernate idle timer while a communication link between the UFS host controller and a UFS device is configured in a first power mode. The method includes sending a command to the UFS device via the communication link after disabling the AHIT. The method includes receiving a response from the UFS device after sending the command. The method includes transitioning the communication link from the first power mode to a second power mode after receiving the response.

[0004] The following description and the related drawings set forth in detail certain illustrative features of one or more aspects.BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The appended figures depict certain features of one or more aspects of the present disclosure and are therefore not to be considered limiting of the scope of this disclosure.

[0006] FIG. 1 depicts a host device according to some aspects of the present disclosure.

[0007] FIG. 2 depicts an example communication link interface for a UFS host controller and a UFS device according to some aspects of the present disclosure.

[0008] FIG. 3 depicts a sequence diagram for synchronizing a UFS host controller and a UFS device prior to transitioning a communication link between the UFS host controller and the UFS device from a first operating mode to a second operating mode according to some aspects of the present disclosure.

[0009] FIG. 4 depicts a flow diagram of an example method for synchronizing a UFS host controller and a UFS device before transitioning a communication link between the UFS host controller and the UFS device from a first operating mode to a second operating mode according to some aspects of the present disclosure.

[0010] FIG. 5 depicts an example processing system in which the host device of FIG. 1 may be included according to various aspects of the present disclosure.

[0011] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the drawings. It is contemplated that elements and features of one aspect may be beneficially incorporated in other aspects without further recitation.DETAILED DESCRIPTION

[0012] Aspects of the present disclosure provide techniques and systems for synchronizing a UFS host controller and a UFS device.

[0013] Example aspects of the present disclosure are directed to UFS systems that include a UFS host controller and a UFS device. The UFS host controller may manage communications between a host device (e.g., smartphone, tablet, laptop, etc. ) and the UFS device. For instance, the UFS host controller may manage data transfer between the host device and the UFS device. The UFS controller may communication with the UFS device via a communication link. In this manner, the UFS controller may read data from the UFS device via the communication link and may also write data to the UFS device via the communication link.

[0014] The UFS host controller may also be configured to control an operating mode (e.g., active, sleep, hibernate) of the communication link. For instance, the UFS host controller may be configured to transition the communication link from an active mode to a hibernation mode when an auto-hibernate idle timer (AHIT) detects the UFS device has been idle for a certain period of time.

[0015] In some instances, the UFS host controller may transition the communication link to the hibernation mode prematurely. For instance, the AHIT may expire indicating the UFS device is idle even though the UFS device still has outstanding operations and / or activities to perform. As an example, the UFS host controller may send a command (e.g., a start stop unit command including a power condition field set to a target value) to the UFS device to prompt the UFS device to transition from a first state (e.g., active) to a second state (e.g., pre-deep sleep) just before the AHIT expires. Upon receiving the command from the UFS host controller, the UFS device may complete any outstanding operations and / or activities. Once the UFS device has completed all the outstanding operations and / or activities, the UFS device may communicate a response to the UFS host controller. The response may indicate that the UFS device has entered the second state (e.g., pre-deep sleep) . However, since the AHIT expired before the UFS device attempted to communicate the response to the UFS host controller, the communication link is in the hibernation mode and, as a result, the UFS host controller cannot receive the response from the UFS device. This can cause the system (that is, the UFS host controller and the UFS device) to have an undetermined state. To avoid the system having such an undetermined state, existing techniques may ignore the expiration of the AHIT and continue to keep the communication link in the active mode. This results in power losses as the communication link never enters the hibernation mode and, as a result, consumes power even when the UFS device is idle, which is typically wasteful.

[0016] Example aspects of the present disclosure are directed to techniques for synchronizing the UFS host controller and the UFS device before transitioning the communication link to the hibernation mode. For instance, the disclosed techniques may include disabling the AHIT prior to sending the command to the UFS device to transition from the first state (e.g., active) to the second state (e.g., pre-deep sleep) and enabling the AHIT after the UFS host controller receives the response from the UFS device indicating the UFS device has entered the second state. In this manner, by disabling the AHIT, the disclosed techniques allow the UFS device time to complete any outstanding operations and / or activities that are pending when the UFS device receives the command from the UFS host controller. Furthermore, since the AHIT remains disabled until the UFS host controller receives the response from UFS device, the communication link remains in the active mode and allows the UFS device to communicate to the UFS host controller that the UFS device has entered the second state. In this manner, the disclosed techniques for synchronizing the UFS host controller and the UFS device eliminate (or at least reduce) instances in which the UFS device has an undetermined state due to the communication link entering the hibernation mode while the UFS device is transitioning from one state to another. Furthermore, in contrast to existing techniques, the communication link does not remain in the active mode at all times and thus does not incur power losses associated with keeping the communication link in the active mode at all times. Example Host Device Having UFS Host Controller and UFS Device

[0017] FIG. 1 depicts a host device 100 according to some aspects of the present disclosure.

[0018] As illustrated, the host device 100 may include a UFS host controller 102 and a UFS device 104. The UFS host controller 102 may communicate with the UFS device 104 via a communication link 106. In this manner, the UFS host controller 102 may communicate requests (e.g., from a plurality of different application 108 running on the host device 100) to read and write data to the UFS device 104.

[0019] In some aspects, the UFS host controller 102 and the UFS device 104 may each include a communication link interface 110, 112. As will be discussed in more detail with reference to FIG. 2, the communication link interface 110, 112 may include physical and logical interfaces that allow the UFS host controller 102 and the UFS device 104 to communicate with one another (e.g., via the communication link 106) .

[0020] As illustrated, the UFS device 104 may include a plurality of logical units 114. Each of the logical units 114 may represent a logical partition (or volume) that the UFS device 104 presents to the host device 100. In some aspects, the UFS device 104 may have a complex internal physical storage structure, such as multiple NAND flash chips or memory dies. The logical units 114 may provide an abstraction layer that hides the physical storage structure from the host device 100.

[0021] In some aspects, the plurality of logical units 114 may have different characteristics. For example, a first logical unit 116 of the logical units 114 may be larger than a second logical unit 118 of the logical units 114. Alternatively, or additionally, the first logical unit 116 may have different permissions compared to the second logical unit 118.

[0022] In some aspects, each of the plurality of logical units 114 may be identified by a unique logical unit number (LUN) within the UFS device 104. In this manner, the UFS host controller 102 may use the LUN for a particular logical unit, such as the first logical unit 116, to address and access the particular logical unit of the UFS device 104.

[0023] In some aspects, each of the plurality of logical units 114 may include a device server 120. For example, the device server 120 may be implemented within the firmware of the UFS device 104. Furthermore, by having a dedicated device server for each respective logical unit of the logical units 114, the UFS device 104 may provide independent and concurrent access to the different logical units of the UFS device 104.

[0024] In some aspects, the device server 120 may be configured to receive and process storage commands (e.g., read, write) from the UFS host controller 102. For instance, the device server 120 may decode the storage commands and coordinate necessary operations within the UFS device 104. In some aspects, the device server 120 may manage transfer of data between the UFS host controller 102 and physical storage resources (e.g., NAND flash chips) associated with the respective logical unit of the logical units 114. For instance, the device server 120 may be configured to handle data buffering, formatting, and movement between the UFS host controller 102 and the physical storage resources.

[0025] In some aspects, the device server 120 may provide status information about the respective logical unit of the logical units 114 to the UFS host controller 102. For example, the status information may indicate completion of commands, error conditions, and capabilities of the UFS device 104.

[0026] In some aspects, the device server 120 may be configured to manage tasks of the respective logical unit of the logical units 114. For example, the device server 120 may be configured to handle tasks like capacity allocation, error handling, and power management.

[0027] In some aspects, each of the plurality of logical units 114 may include a task manager 122. The task manager 122 may coordinate the execution of tasks or operations related to the respective logical unit. For example, when the device server 120 receives a storage command from the UFS host controller 102, the task manager 122 may communicate with the device server 120 to schedule and execute the necessary tasks. The task manager 122 may be configured to break the storage command into smaller, executable tasks and coordinate execution of those smaller tasks. The task manager 122 may also be configured to allocate and manage internal resources (e.g., memory, processing units, storage channels) needed to carry out those smaller tasks.

[0028] In some aspects, the task manager 122 may be configured to implement task prioritization and scheduling algorithms to optimize the performance and responsiveness of the respective logical unit of the plurality of logical units 114. For instance, the task manager 122 may be configured to manage a queue 124 of tasks for the respective logical unit of the plurality of logical units 114. For example, the task manager may be configured to reorder or queue tasks based on factors such as command priority, deadlines, and resource availability. Example Communication Link Interface for a UFS Host Controller and a UFS Device

[0029] FIG. 2 depicts example communication link interfaces for a UFS host controller and a UFS device, respectively, according to some aspects of the present disclosure. For simplicity, the example communication link interfaces may be the communication link interface 110 of the UFS host controller 102 and the communication link interface 112 of the UFS device 104 of FIG. 1.

[0030] As illustrated, each of the communication link interfaces 110, 112 may include a physical layer interface 200 and a link layer interface 202. The physical layer interface 200 may provide the physical layer signaling and transmission mechanisms for data exchange between the UFS host controller 102 and the UFS device 104. For example, the physical layer interface 200 may define physical characteristics, such as voltage levels, signal timing and synchronization, electrical signaling and encoding, and bit-level transmission and reception. In some aspects, the physical layer interface 200 may support multiple modes allowing for different data rates and power consumption levels.

[0031] The link layer interface 202 may be responsible for data link-level protocols and functionality in the communication stack protocol (e.g., UniPro stack) associated with the communication link 106. For example, the link layer interface 202 may be configured to handle various tasks, such as packet framing and deframing, flow control mechanisms, error detection and correction, and retransmission of lost or corrupted frames.

[0032] In some aspects, the UFS host controller 102 may be configured to control an operating mode (e.g., active, sleep, hibernate) of the communication link 106. For instance, the UFS host controller 102 may be configured to transition the communication link 106 from an active mode to a hibernation mode when an AHIT detects the UFS device has been idle for a certain period of time.

[0033] The UFS host controller 102 may, in some instances, transition the communication link 106 to the hibernation mode prematurely. For instance, the AHIT may expire indicating the UFS device 104 is idle even though the UFS device 104 still has outstanding operations and / or activities to process. More specifically, the queue (e.g., queue 124 in first logical unit 116 of FIG. 1) for one or more of the logical units of the UFS device 104 may not be empty and therefore may include outstanding tasks for the UFS device 104 to perform.

[0034] As previously mentioned, the UFS host controller 102 may send a command (e.g., a start stop unit command) to the UFS device 104 to transition from a first state (e.g., active) to a second state (e.g., pre-deep sleep) just before the AHIT expires. Upon receiving the command from the UFS host controller 102, the UFS device 104 may complete any outstanding operations and / or activities. Once the UFS device 104 completes all the outstanding operations and / or activities, the UFS device 104, specifically the device server 120 thereof, may communicate a response to the UFS host controller 102 to indicate that the UFS device 104 has entered the second state (e.g., pre-deep sleep) . However, since the AHIT expired before the UFS device 104 attempted to communicate the response to the UFS host controller 102, the communication link 106 is in the hibernation mode and, as a result, cannot be used to communicate the response to the UFS host controller 102. This can cause the UFS device 104 to have an undetermined state. To avoid the UFS device 104 having such an undetermined state, existing techniques may ignore the expiration of the AHIT and continue to keep the communication link 106 in the active mode. This results in power losses as the communication link 106 never enters the hibernation mode and, as a result, consumes power even when the UFS device is idle. As will now be discussed with reference to FIG. 3, the disclosed techniques are directed to synchronizing the UFS host controller 102 and the UFS device 104 before transitioning the communication link 106 to the hibernation mode to avoid instances, such as the one discussed above, in which the state of the UFS device 104 is undetermined due, at least in part, to the communication link 106 being placed in the hibernation mode while the UFS device 104 is in the middle of a state transition, such as from the active state to the pre-deep sleep state. Example Sequence Diagram for Synchronizing UFS Host Controller and UFS Device

[0035] FIG. 3 depicts a sequence diagram 300 for synchronizing a UFS host controller and a UFS device according to some aspects of the present disclosure.

[0036] At 302, the UFS host controller 102 may disable AHIT 303. For example, in some aspects, the UFS host controller 102 may disable the AHIT 303 by writing a specific value (e.g., 0) to a register configured to store a value indicative of a current state (e.g., enabled or disabled) of the AHIT 303. In some aspects, the register may be included on the UFS host controller 102. In other aspects, the register may be remote relative to the UFS host controller 102. For example, in some aspects, the register may be included on the UFS device 104.

[0037] At 304, the UFS host controller 102 may send a command to the UFS device 104. As illustrated, the command may be sent from the UFS host controller 102 to the UFS device 104 via the communication link 106. In some aspects, the command may be associated with transitioning the UFS device 104 from a first operating mode (e.g., active power mode) of a plurality of modes in which the UFS device 104 is configurable to a second operating mode (e.g., pre-deep sleep mode) of the plurality of modes.

[0038] In some aspects, the command may be a start stop unit command. Furthermore, the start stop unit command may include a power condition field having a target value indicative of a power state to which the UFS device 104 is to transition. For example, the target value may range from 1 to 4. In some aspects, a target value of 1 may instruct the UFS device 104 to transition to an active power mode. A target value of 2 may instruct the UFS device 104 to transition to a power off state where the device is completely powered off. A target value of 3 may instruct the UFS device 104 to transition to an idle power state, where the UFS device is in a low-power mode but can return to the active power mode. A target value of 4 may instruct the UFS device 104 to transition to a standby power state, where the UFS device 104 is in a deeper low-power mode and may take longer to return to the active power mode than from the idle power state.

[0039] In some aspects, the command may be sent to the UFS device 104 as a data packet that includes a bit indicative of whether the UFS device 104 may continue to perform background operations. For example, the bit may have a first value (e.g., 0) if the UFS device 104 is not permitted to run background operations and, alternatively, may have a second value (e.g., 1) if the UFS device 104 is permitted to run background operations.

[0040] At 306, the UFS device 104 may process the command received at 304. For instance, the UFS device 104 may inspect the data packet to evaluate the value of the bit discussed above that is indicative of whether the UFS device 104 may perform background operations. If the command (that is, the bit included in the received data packet) indicates the UFS device 104 may perform background operations, then the UFS device 104 may proceed with performing outstanding operations and activities and, once completed, may proceed to 308. If, however, the command indicates the UFS device 104 may not preform background operations, the UFS device 104 may proceed to 308 without completing the background operations.

[0041] At 308, the UFS device 104 may send a response to the command received from the UFS host controller 102 at 304. For instance, the response may include a status identifier (e.g., GOOD) to indicate to the UFS host controller 102 has entered the second state (e.g., pre-deep sleep) . In some aspects, the UFS device 104 may no longer respond to commands from the UFS host controller 102 while the UFS device 104 is in the second state.

[0042] At 310, the UFS host controller 102 may transition the communication link 106 to the hibernation mode. For instance, the UFS host controller 102 may change a value of a register configured to indicate a current state of the communication link 106. In other aspects, the UFS host controller 102 may send a control signal to one or more hardware components associated with controlling operation (that is, the state) of the communication link 106.

[0043] In some aspects, the UFS device 104 may transition from the second state (e.g., pre-deep sleep mode) to a third state (e.g., deep sleep mode) in response to the communication link 106 transitioning to the hibernation mode.

[0044] At 312, the UFS host controller 102 may send a response to the AHIT to enable the AHIT. For instance, in some aspects, the UFS host controller 102 may write a value (e.g., 1) to the register to enable the AHIT.

[0045] The above-described sequence of steps may allow the UFS host controller 102 and the UFS device 104 to synchronize with one another before transitioning the communication link 106 to the hibernation mode. In this manner, the above-described sequence steps avoids transitioning the communication link 106 to the hibernation mode prior to the UFS device 104 transitioning from the first state (e.g., active) to the second state (e.g., pre-deep sleep) and thus avoiding the UFS device 104 having an undetermined state. Furthermore, the above-described sequence of steps improves upon existing techniques because, unlike existing techniques, the communication link 106 is not left in the active mode at all times and, as a result, eliminates (or at least reduces) power losses associated with operating the communication link 106 in the active mode while the UFS device 104 is idle. Example Method for Synchronizing a UFS Host Controller and a UFS Device

[0046] FIG. 4 is a diagram depicting an example method 400 of synchronizing a UFS host controller and a UFS device according to various aspects of the present disclosure. For example, the method 400 may be performed by the UFS host controller 102 discussed above with reference to FIG. 1. Furthermore, although FIG. 4 depicts steps performed in a particular order for purposes of illustration and discussion, the method 400 discussed herein is not intended to be limited to any particular order or arrangement. One skilled in the art, using the disclosure provided herein, will appreciate that various steps of the method 400 can be omitted, rearranged, combined, and / or adapted in various ways without deviating from the scope of the present disclosure.

[0047] At 402, the method 400 includes disabling an auto-hibernate idle timer (AHIT) while a communication link between the UFS host controller (e.g., the UFS host controller 102 of FIG. 3) and the UFS device (e.g., the UFS device 104 of FIG. 3) is configured in a first power mode. For example, the first power mode may be an active mode in which the communication link may be used to transfer data between the UFS host controller and the UFS device.

[0048] At 404, the method 400 includes sending a command to the UFS device via the communication link after disabling the AHIT. In some aspects, the command may be a start stop unit command associated with causing the UFS device to transition from a first state (e.g., active state) to a second state (e.g., pre-deep sleep) . In some aspects, the command may be a data packet in which at least one bit is reserved to indicate whether the UFS device may perform background operations. For example, the data packet may include a bit having a first value (e.g. 0) to indicate that the UFS device is not permitted to perform background operations or a second value (e.g., 1) to indicate that the UFS device is permitted to perform background operations.

[0049] At 406, the method 400 includes receiving a response from the UFS device after sending the command at 404. The response from the UFS device may be responsive to the command sent at 404. In some aspects, the response may include a status indicator (e.g., GOOD) to indicate that the UFS device is now in the second state.

[0050] At 408, the method 400 includes transitioning the communication link from the first operating mode to a second operating mode (e.g., hibernation mode) after receiving the response. In some aspects, transitioning the communication link to the

[0051] In some aspects, the method 400 may further include enabling the AHIT after transitioning the communication link from the first power mode to the second power mode. Example Processing System

[0052] In some aspects, the host device 100 depicted in FIG. 1 may be implemented in a processing system. FIG. 5 depicts an example processing system 500. Although depicted as a single system for conceptual clarity, in some aspects, as discussed above, the operations described below with respect to the processing system 500 may be distributed across any number of devices or systems.

[0053] The processing system 500 includes a central processing unit (CPU) 502. Instructions executed at the CPU 502 may be loaded, for example, from a memory 524 associated with the CPU 502.

[0054] The processing system 500 also includes additional processing components tailored to specific functions, such as a graphics processing unit (GPU) 504, a digital signal processor (DSP) 506, a neural processing unit (NPU) 508, a multimedia component 510 (e.g., a multimedia processing unit) , and a wireless connectivity component 512.

[0055] An NPU, such as NPU 508, is generally a specialized circuit configured for implementing the control and arithmetic logic for executing machine learning algorithms, such as algorithms for processing artificial neural networks (ANNs) , deep neural networks (DNNs) , random forests (RFs) , and the like. An NPU may sometimes alternatively be referred to as a neural signal processor (NSP) , tensor processing unit (TPU) , neural network processor (NNP) , intelligence processing unit (IPU) , vision processing unit (VPU) , or graph processing unit.

[0056] NPUs, such as the NPU 508, are configured to accelerate the performance of common machine learning tasks, such as image classification, machine translation, object detection, and various other predictive models. In some examples, a plurality of NPUs may be instantiated on a single chip, such as a SoC, while in other examples the NPUs may be part of a dedicated neural-network accelerator.

[0057] NPUs may be optimized for training or inference, or in some cases configured to balance performance between both. For NPUs that are capable of performing both training and inference, the two tasks may still generally be performed independently.

[0058] NPUs designed to accelerate training are generally configured to accelerate the optimization of new models, which is a highly compute-intensive operation that involves inputting an existing dataset (often labeled or tagged) , iterating over the dataset, and then adjusting model parameters, such as weights and biases, in order to improve model performance. Generally, optimizing based on a wrong prediction involves propagating back through the layers of the model and determining gradients to reduce the prediction error.

[0059] NPUs designed to accelerate inference are generally configured to operate on complete models. Such NPUs may thus be configured to input a new piece of data and rapidly process this piece of data through an already trained model to generate a model output (e.g., an inference) .

[0060] In some implementations, the NPU 508 is a part of one or more of the CPU 502, the GPU 504, and / or the DSP 506.

[0061] In some examples, the wireless connectivity component 512 may include subcomponents, for example, for third generation (3G) connectivity, fourth generation (4G) connectivity (e.g., 4G Long-Term Evolution (LTE) ) , fifth generation connectivity (e.g., 5G or New Radio (NR) ) , Wi-Fi connectivity, Bluetooth connectivity, and / or other wireless data transmission standards. The wireless connectivity component 512 is further coupled to one or more antennas 55.

[0062] The processing system 500 may also include one or more sensor processing units 516 associated with any manner of sensor, one or more image signal processors (ISPs) 518 associated with any manner of image sensor, and / or a navigation processor 520, which may include satellite-based positioning system components (e.g., GPS or GLONASS) , as well as inertial positioning system components.

[0063] The processing system 500 may also include one or more input and / or output devices 522, such as screens, touch-sensitive surfaces (including touch-sensitive displays) , physical buttons, speakers, microphones, and the like.

[0064] The processing system 500 also includes the memory 524, which is representative of one or more static and / or dynamic memories, such as a dynamic random access memory, a flash-based static memory, and the like. In this example, the memory 524 includes computer-executable components, which may be executed by one or more of the aforementioned processors of the processing system 500.

[0065] Generally, the processing system 500 and / or components thereof may be configured to perform the methods described herein.

[0066] Notably, in other aspects, elements of the processing system 500 may be omitted, such as where the processing system 500 is a server computer or the like. For example, the multimedia component 510, the wireless connectivity component 512, the sensor processing units 516, the ISPs 518, and / or the navigation processor 520 may be omitted in other aspects. Further, aspects of the processing system 500 may be distributed between multiple devices. Example Clauses

[0067] In addition to the various aspects described above, specific combinations of aspects are within the scope of the disclosure, some of which are detailed below:

[0068] Aspect 1: A method performable by a universal flash storage (UFS) host controller, comprising: disabling an auto-hibernate idle timer (AHIT) while a communication link between the UFS host controller and a UFS device is configured in a first operating mode; sending a command to the UFS device via the communication link after disabling the AHIT; receiving a response from the UFS device after sending the command; and transitioning the communication link from the first operating mode to a second operating mode after receiving the response.

[0069] Aspect 2: The method of Aspect 1, wherein the command instructs the UFS device to disable background operations executing on the UFS device.

[0070] Aspect 3: The method of Aspect 2, wherein the command comprises a data packet having a bit set to a logic value to indicate to the UFS device to disable the background operations.

[0071] Aspect 4: The method of Aspect 1, wherein: the first operating mode comprises an active mode; and the second operating mode comprises a hibernation mode.

[0072] Aspect 5: The method of Aspect 1, wherein the command comprises a start stop unit (SSU) command with a power condition field set to a target value.

[0073] Aspect 6: The method of Aspect 1, further comprising: subsequent to transitioning the communication link to the second power mode, enabling the AHIT.

[0074] Aspect 7: The method of Aspect 1, wherein the command is associated with transitioning the UFS device from a first state of a plurality of different states to a second state of the plurality of different states.

[0075] Aspect 8: The method of Aspect 7, wherein: the first state comprises an active state; and the second state comprises an intermediate state between the active state and a deep sleep state.

[0076] Aspect 9: The method of Aspect 7, wherein the response comprises a status indicator indicative of a current state of the UFS device corresponding to the second state.

[0077] Aspect 10: A host device comprising: a universal flash storage (UFS) device; a communication link; and a UFS host controller communicatively coupled to the UFS device via the communication link, the UFS host controller configured to perform operations comprising: disabling an auto-hibernate idle timer (AHIT) while the communication link between the UFS host controller and a UFS device is configured in a first operating mode; sending a command to the UFS device via the communication link after disabling the AHIT; receiving a response from the UFS device after sending the command; and transitioning the communication link from the first operating mode to a second operating mode after receiving the response.

[0078] Aspect 11: The host device of Aspect 10, wherein the command instructs the UFS device to disable background operations executing on the UFS device.

[0079] Aspect 12: The host device of Aspect 11, wherein the command comprises a data packet having a bit set to a logic value to indicate to the UFS device to disable the background operations.

[0080] Aspect 13: The host device of Aspect 10, wherein: the first operating mode comprises an active mode; and the second operating mode comprises a hibernation mode.

[0081] Aspect 14: The host device of Aspect 10, wherein the command comprises a start stop unit (SSU) command with a power condition field set to a target value.

[0082] Aspect 15: The host device of Aspect 10, further comprising: subsequent to transitioning the communication link to the second operating mode, enabling the AHIT.

[0083] Aspect 16: The host device of Aspect 10, wherein the command is associated with transitioning the UFS device from a first state of a plurality of different states to a second state of the plurality of different states.

[0084] Aspect 17: The host device of Aspect 16, wherein: the first state comprises an active state; and the second state comprises an intermediate state between the active state and a deep sleep state.

[0085] Aspect 18: The host device of Aspect 16, wherein the response comprises a status indicator indicative of a current state of the UFS device corresponding to the second state.

[0086] Aspect 19: The host device of Aspect 10, wherein a stack for a protocol associated with the communication link includes a physical layer and a link layer, and wherein transitioning the communication link to the second operating mode comprises transitioning the physical layer and the link layer to the second operating mode.

[0087] Aspect 20: An apparatus comprising: means for disabling an auto-hibernate idle timer (AHIT) while a communication link between a UFS host controller and a UFS device is configured in a first operating mode; means for sending a command to the UFS device via the communication link after disabling the AHIT; means for receiving a response from the UFS device after sending the command; and means for transitioning the communication link from the first operating mode to a second operating mode after receiving the response. Additional Considerations

[0088] The various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions. The means may include various hardware and / or software components (s) module (s) , including, but not limited to a circuit or processor. Generally, where there are operations illustrated in figures, those operations may have corresponding counterpart means-plus-function components with similar numbering.

[0089] For example, means for disabling an auto-hibernate idle timer (AHIT) while a communication link between the UFS host controller and a UFS device is configured in a first operating mode may include a UFS host controller (e.g., UFS host controller 102 in FIG. 1) . Means for sending a command to the UFS device via the communication link after disabling the AHIT may include the UFS host controller. Means for receiving a response from the UFS device after sending the command may include the UFS host controller. Means for transitioning the communication link from the first operating mode to a second operating mode after receiving the response may include the UFS host controller.

[0090] The preceding description is provided to enable any person skilled in the art to practice the various aspects described herein. The examples discussed herein are not limiting of the scope, applicability, or aspects set forth in the claims. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. For example, changes may be made in the function and arrangement of elements discussed without departing from the scope of the disclosure. Various examples may omit, substitute, or add various procedures or components as appropriate. For instance, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Also, features described with respect to some examples may be combined in some other examples. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method that is practiced using other structure, functionality, or structure and functionality in addition to, or other than, the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.

[0091] As used herein, the word “exemplary” means “serving as an example, instance, or illustration. ” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

[0092] As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of:a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c) .

[0093] As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure) , ascertaining, and the like. Also, “determining” may include receiving (e.g., receiving information) , accessing (e.g., accessing data in a memory) , and the like. Also, “determining” may include resolving, selecting, choosing, establishing, and the like.

[0094] The methods disclosed herein comprise one or more steps or actions for achieving the methods. The method steps and / or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims. Further, the various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions. The means may include various hardware and / or software component (s) and / or module (s) , including, but not limited to a circuit, an application specific integrated circuit (ASIC) , or processor. Generally, where there are operations illustrated in figures, those operations may have corresponding counterpart means-plus-function components with similar numbering.

[0095] The following claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language of the claims. Within a claim, reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more. ” Unless specifically stated otherwise, the term “some” refers to one or more. No claim element is to be construed under the provisions of 35 U.S.C. § 112 (f) unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for. ” All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims.

Claims

1.A method performable by a universal flash storage (UFS) host controller, comprising:disabling an auto-hibernate idle timer (AHIT) while a communication link between the UFS host controller and a UFS device is configured in a first operating mode;sending a command to the UFS device via the communication link after disabling the AHIT;receiving a response from the UFS device after sending the command; andtransitioning the communication link from the first operating mode to a second operating mode after receiving the response.2.The method of claim 1, wherein the command instructs the UFS device to disable background operations executing on the UFS device.3.The method of claim 2, wherein the command comprises a data packet having a bit set to a logic value to indicate to the UFS device to disable the background operations.4.The method of claim 1, wherein:the first operating mode comprises an active mode; andthe second operating mode comprises a hibernation mode.5.The method of claim 1, wherein the command comprises a start stop unit (SSU) command with a power condition field set to a target value.6.The method of claim 1, further comprising:subsequent to transitioning the communication link to the second operating mode, enabling the AHIT.7.The method of claim 1, wherein the command is associated with transitioning the UFS device from a first state of a plurality of different states to a second state of the plurality of different states.8.The method of claim 7, wherein:the first state comprises an active state; andthe second state comprises an intermediate state between the active state and a deep sleep state.9.The method of claim 7, wherein the response comprises a status indicator indicative of a current state of the UFS device corresponding to the second state.10.A host device comprising:a universal flash storage (UFS) device;a communication link; anda UFS host controller communicatively coupled to the UFS device via the communication link, the UFS host controller configured to perform operations comprising:disabling an auto-hibernate idle timer (AHIT) while the communication link between the UFS host controller and a UFS device is configured in a first operating mode;sending a command to the UFS device via the communication link after disabling the AHIT;receiving a response from the UFS device after sending the command; andtransitioning the communication link from the first operating mode to a second operating mode after receiving the response.11.The host device of claim 10, wherein the command instructs the UFS device to disable background operations executing on the UFS device.12.The host device of claim 11, wherein the command comprises a data packet having a bit set to a logic value to indicate to the UFS device to disable the background operations.13.The host device of claim 10, wherein:the first operating mode comprises an active mode; andthe second operating mode comprises a hibernation mode.14.The host device of claim 10, wherein the command comprises a start stop unit (SSU) command with a power condition field set to a target value.15.The host device of claim 10, further comprising:subsequent to transitioning the communication link to the second operating mode, enabling the AHIT.16.The host device of claim 10, wherein the command is associated with transitioning the UFS device from a first state of a plurality of different states to a second state of the plurality of different states.17.The host device of claim 16, wherein:the first state comprises an active state; andthe second state comprises an intermediate state between the active state and a deep sleep state.18.The host device of claim 16, wherein the response comprises a status indicator indicative of a current state of the UFS device corresponding to the second state.19.The host device of claim 10, wherein a stack for a protocol associated with the communication link includes a physical layer and a link layer, and wherein transitioning the communication link to the second operating mode comprises transitioning the physical layer and the link layer to the second operating mode.20.An apparatus comprising:means for disabling an auto-hibernate idle timer (AHIT) while a communication link between a UFS host controller and a UFS device is configured in a first operating mode;means for sending a command to the UFS device via the communication link after disabling the AHIT;means for receiving a response from the UFS device after sending the command; andmeans for transitioning the communication link from the first operating mode to a second operating mode after receiving the response.

Citation Information

Patent Citations

  • Operation method of universal flash memory host and operation method of universal flash memory system

    CN114860156A

  • Storage device configured to change power state based on reference clock from host device and method for operating the same

    US20210216223A1

  • Shallow hibernate power state

    US20220300061A1

  • Hibernate exit time for UFS devices

    US20240152362A1

  • Mitigating effects of a line reset in a flash memory interface

    WO2024234331A1