CN111857838B - 用于管理ufs装置与ufs主机之间的通信的方法和*** - Google Patents
用于管理ufs装置与ufs主机之间的通信的方法和*** Download PDFInfo
- Publication number
- CN111857838B CN111857838B CN202010012998.2A CN202010012998A CN111857838B CN 111857838 B CN111857838 B CN 111857838B CN 202010012998 A CN202010012998 A CN 202010012998A CN 111857838 B CN111857838 B CN 111857838B
- Authority
- CN
- China
- Prior art keywords
- ufs
- host
- sleep state
- payload data
- ufs host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004891 communication Methods 0.000 title claims abstract description 14
- 230000005540 biological transmission Effects 0.000 claims abstract description 59
- 230000009471 action Effects 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims description 34
- 230000008859 change Effects 0.000 claims description 25
- 238000012508 change request Methods 0.000 claims description 16
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000945 filler Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1621—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
Abstract
公开了一种用于管理UFS装置与UFS主机之间的通信的方法和***。所述方法包括:确定沿着UFS主机的发送通道和UFS装置的发送通道中的一个的有效载荷数据流的至少一条路径。所述方法包括:基于确定的有效载荷数据流的至少一条路径,通过对UFS主机和UFS装置中的至少一个进行操作来发起至少一个休眠状态进入动作。此外,所述方法包括:在完成在UFS主机与UFS装置之间传输有效载荷数据的预定数量的数据帧之后,通过对UFS主机和UFS装置中的至少一个进行操作来发起至少一个休眠状态退出动作。
Description
本申请基于并且要求于2019年4月24日在印度知识产权局提交的申请号为201941016174的印度专利申请的优先权,该印度申请的公开通过引用被全部合并在本申请中。
技术领域
发明构思的示例性实施例涉及一种通用闪速存储(UFS)***,并且更具体地涉及降低UFS装置与UFS主机之间的通信期间的功耗。
背景技术
通用闪速存储(UFS)***是由联合电子装置工程委员会(JEDEC)标准针对高数据传输速度而定义的闪速存储***。UFS***包括可被嵌入在UFS主机(诸如,处理器、片上***(SoC)、电子装置等)内的UFS装置。UFS装置可包括在UFS主机与UFS装置之间建立一个或更多个通道的接口。UFS主机和UFS装置可通过建立的通道彼此通信。然而,在UFS主机与UFS装置之间的数据传输期间,至少一个通道在90%-95%的电源接通时段内可能是空闲的。因此,功耗可能相对较高。
图1a和图1b示出了当实现UFS主机与UFS装置之间的数据通信时具有不必要的功耗的传统通用闪速存储(UFS)***。传统UFS***100包括UFS主机102和UFS装置104。UFS主机102和UFS装置104分别包括具有一对发送(Tx)和接收(Rx)单元的物理层接口。UFS装置104的物理层接口的Tx和Rx可被连接到UFS主机102的物理层接口的Tx和Rx,从而在UFS主机102与UFS装置104之间建立用于在UFS装置104与UFS主机102之间发起数据事务的通道。图1a中示出了传统UFS***100中的UFS主机102与UFS装置104之间的写入事务。图1b中示出了传统UFS***100中的UFS主机102与UFS装置104之间的读取事务。
如图1a所示,UFS主机102将用于将数据写入UFS装置104的存储器的写入命令(写入CMD UPIU(写入命令通用UFS协议信息单元))发送到UFS装置104。响应于写入命令,UFS装置104将RTT(准备传输)响应发送到UFS主机102以接收数据。在从UFS装置104接收到RTT响应时,UFS主机102将数据发送到UFS装置104。在从UFS主机102接收数据期间,UFS装置104的Tx变为空闲。当UFS装置104的Tx变为空闲时,UFS装置104继续发送填充符号(FLR符号)和确认帧控制(AFC)符号,作为对接收到接收数据的确认。然而,为了发送填充符号,UFS装置104的Tx的状态需要处于激活状态,因此导致UFS装置104的Tx消耗功率。
如图1b所示,UFS主机102将读取命令发送到UFS装置104以从UFS装置104的存储器获取数据。在从UFS主机102接收到读取命令时,UFS装置104将数据发送到UFS主机102。当UFS主机102的Tx变为空闲时,UFS主机102继续发送填充符号(FLR符号)和确认帧控制(AFC)符号作为对接收到接收数据的确认。然而,为了接收填充符号,UFS装置104的Rx的状态需要处于激活状态,因此导致UFS装置104的Rx消耗功率。
发明内容
根据发明构思的示例性实施例,一种用于管理通用闪速存储(UFS)装置与UFS主机之间的通信的方法包括:由装置确定沿着UFS主机的发送通道和UFS装置的发送通道中的一个的有效载荷数据流的至少一条路径,其中,所述装置包括UFS主机和UFS装置中的至少一个。所述方法包括:基于UFS主机与UFS装置之间的确定的有效载荷数据流的至少一条路径,由装置发起至少一个休眠状态进入动作。此外,所述方法包括:在完成在UFS主机与UFS装置之间传输有效载荷数据的预定数量的数据帧之后,由装置发起至少一个休眠状态退出动作。
根据发明构思的示例性实施例,一种用于降低包括UFS主机和UFS装置的通用闪速存储(UFS)***中的功耗的方法包括:由装置检测有效载荷数据流的路径,其中,所述装置是UFS主机和UFS装置中的至少一个;在确定了有效载荷数据流的路径沿着UFS装置的发送通道时,由所述装置将UFS主机的发送通道切换到休眠状态;并且在完成传输有效载荷数据的预定数量的数据帧之后,由所述装置从UFS主机的发送通道的休眠状态退出。
根据发明构思的示例性实施例,一种通用闪速存储(UFS)***包括装置,其中,所述装置是UFS主机和UFS装置中的至少一个。所述装置被配置为确定沿着UFS主机的发送通道和UFS装置的发送通道中的一个的有效载荷数据流的至少一条路径。所述装置还被配置为基于确定的有效载荷数据流的至少一条路径发起至少一个休眠状态进入动作。所述装置还被配置为在完成在UFS主机与UFS装置之间传输有效载荷数据的预定数量的数据帧之后发起至少一个休眠状态退出动作。
根据发明构思的示例性实施例,一种通用闪速存储(UFS)***包括装置,其中,所述装置是UFS主机和UFS装置中的至少一个。所述装置被配置为:检测有效载荷数据流的路径;在确定了有效载荷数据流的路径沿着UFS装置的发送通道时,将UFS主机的发送通道切换到休眠状态;并且在完成传输有效载荷数据的预定数量的数据帧之后,退出UFS主机的发送通道的休眠状态。
附图说明
通过参照附图详细地描述发明构思的示例性实施例,将更清楚地理解发明构思的以上和其他特征。
图1a和图1b示出在实现UFS主机与UFS装置之间的数据通信时具有不必要的功耗的传统通用闪速存储(UFS)***。
图2示出根据发明构思的示例性实施例的UFS***的架构。
图3a是示出根据发明构思的示例性实施例的图2的UFS***中的UFS主机与UFS装置之间的写入事务的示图。
图3b是示出根据发明构思的示例性实施例的图2的UFS***中的UFS主机与UFS装置之间的读取事务的示图。
图4是示出根据发明构思的示例性实施例的用于管理图2的UFS***中的UFS主机与UFS装置之间的通信的方法的流程图。
图5a是示出根据发明构思的示例性实施例的用于管理图2的UFS***中的UFS主机与UFS装置之间的读取事务的方法的流程图。
图5b是示出根据发明构思的示例性实施例的用于管理图2的UFS***中的UFS主机与UFS装置之间的写入事务的方法的流程图。
图6a描绘了根据发明构思的示例性实施例的序列流,其中,按照该序列流,图2的UFS***中的UFS主机与UFS装置之间的写入事务可以以低功耗被实现。
图6b描绘了根据发明构思的示例性实施例的序列流,其中,按照该序列流,图2的UFS***中的UFS主机与UFS装置之间的读取事务可以以低功耗被实现。
具体实施方式
发明构思的示例性实施例提供了用于降低通用闪速存储(UFS)装置与UFS主机之间的通信期间的功耗的方法和***。
发明构思的示例性实施例还提供了一种用于确定写入事务和读取事务中的至少一个并将UFS主机和UFS装置中的至少一个相应地操作为在单一方向上进入超低功率(休眠)状态和退出超低功率状态以降低功耗的方法。
发明构思的示例性实施例还提供了一种通过检测UFS装置与UFS主机之间的数据传输期间的错误来退出超低功率状态的方法。
此后将参照附图更全面地描述发明构思的示例性实施例。
现在参照附图,更具体地参照图2至图6b,相同的参考标号在整个本申请中可表示相同的元件。
图2示出根据发明构思的示例性实施例的通用闪速存储(UFS)***的架构。在发明构思的示例性实施例中,UFS***200是由联合电子装置工程委员会(JEDEC)标准针对高数据传输速度定义的UFS***。
UFS***200包括UFS主机202和UFS装置204。本文描述的UFS主机202的示例可以是但不限于处理器、片上***(SoC)、服务器、集成芯片(IC)、移动计算装置、移动电话、智能电话、平板电脑、平板手机、个人数字助理(PDA)、膝上型电脑、计算机、可穿戴装置、IoT(物联网)装置、可穿戴计算装置、车辆信息娱乐***、医疗装置、相机、应用处理器(AP)、多处理器***、基于微处理器的可编程消费电子产品、网络计算机、小型计算机、大型计算机或支持UFS装置204的任何其他装置。本文的UFS装置204指包括非易失性存储器的存储装置。
UFS主机202包括应用206、主机驱动器208、UFS主机控制器210和UFS主机接口212。应用206可包括对UFS主机202进行操作的应用程序/计算机指令。主机驱动器208可被配置为控制连接到UFS主机202的***装置(例如,UFS装置204),并且向应用206提供控制***装置的功能。在发明构思的示例性实施例中,应用206和主机驱动器208可以是固件或软件中的至少一个。UFS主机控制器210可被配置为与UFS装置204通信。UFS主机控制器210可由主机驱动器208控制。在发明构思的示例性实施例中,UFS主机202可包括用于临时存储将被提供给UFS装置204的数据的缓冲存储器(其中,缓冲存储器可被用作主存储器或高速缓冲存储器)。UFS主机接口212可被配置为在UFS主机202的UFS主机控制器210与UFS装置204之间建立通信。UFS主机接口212包括链路层和物理层(被称为M-PHY)214。链路层和物理层214的组合形成UFS互连层(UIC)。物理层214包括用于将数据从UFS主机202发送到UFS装置204的发送单元(Tx)214a和用于由UFS主机202从UFS装置204接收数据的接收单元(Rx)214b。
在本文的示例中,链路层可被实现为移动工业处理器接口(MIPI)Unipro,并且物理层214可被实现为MIPI M-PHY。MIPI Unipro被构造为能够支持多个通道下的高数据传输速度的协议层堆栈。MIPI Unipro包括物理适配器层L1.5、数据链路层L2、网络层L3、传输层L4和装置管理实体(DME)。DME控制物理适配器层L1.5、数据链路层L2、网络层L3和传输层L4。
UFS装置204包括存储器216、装置控制器218和装置接口220。存储器216可被配置为执行诸如但不限于写入数据、读取数据、擦除数据等的操作。本文描述的存储器216的示例可以是但不限于闪存、磁性随机存取存储器(MRAM)、相变RAM(PRAM)、铁电RAM(RFAM)、NAND闪存或任何其他非易失性存储器。此外,UFS装置204可包括缓冲存储器作为包含将被存储在存储器216中的数据的临时存储器。装置控制器218可被配置为控制存储器216的操作。装置接口220可被配置为在UFS装置204与UFS主机202之间建立通信。装置接口220可包括物理层(被称为M-PHY)222和链路层。装置接口220的链路层和物理层222形成UFS互连层(UIC)。物理层222还包括用于将数据发送到UFS主机202的发送单元(Tx)222a和用于从UFS主机202接收数据的接收单元(Rx)222b。在本文的示例中,链路层可被实现为MIPI Unipro,并且物理层222可被实现为MIPI M-PHY。此外,UFS装置204可包括应用,其中,该应用可包括对装置控制器218进行操作的软件程序/计算机指令。
此外,UFS主机202的Tx 214a和Rx 214b可与UFS装置204的Rx222b和Tx 222a连接以形成通道,其中,所述通道有助于UFS主机202与UFS装置204之间的写入事务或读取事务中的至少一个。在发明构思的示例性实施例中,UFS主机202的Tx 214a与UFS装置204的Rx222b之间的连接可被称为UFS主机202的发送通道和UFS装置204的接收通道。类似地,UFS装置204的Tx 222a与UFS主机202的Rx 214b之间的连接可被称为UFS装置204的发送通道和UFS主机202的接收通道。
本文进一步解释了在UFS主机202与UFS装置204之间形成单个通道的示例性实施例,但是发明构思不限于此。例如,可在UFS主机202与UFS装置204之间形成任意数量的通道。
在发明构思的示例性实施例中,每当UFS主机202想要将数据写入UFS装置204或从UFS装置204获取/读取数据时,UFS主机202的应用206就调度命令并且将该命令输出到UFS主机202的UFS主机控制器210。该命令可以是写入命令或读取命令中的至少一个。在本文的示例中,数据可被视为有效载荷数据(由UFS主机202和UFS装置204中的至少一个接收到的数据)。UFS主机控制器210可通过Tx 214a将该命令发送到UFS装置204。在从UFS主机202接收到该命令时,UFS装置204的装置控制器218处理该命令。可选地,UFS主机控制器210可处理由应用206调度的命令。
基于处理后的命令,UFS主机202的UFS主机控制器210和UFS装置204的装置控制器218中的至少一个确定有效载荷数据流的路径是沿着UFS主机的发送通道还是沿着UFS装置204的发送通道。当有效载荷数据的路径沿着UFS主机202的发送通道时,可通过对UFS主机控制器210和装置控制器218中的至少一个进行操作将UFS装置204的发送通道/UFS主机202的接收通道切换到休眠状态。可通过使UFS装置204的Tx 222a和UFS主机202的Rx 214b进入休眠状态将UFS装置204的发送通道/UFS主机202的接收通道切换到休眠状态。
当有效载荷数据的路径沿着UFS装置204的发送通道时,可通过对UFS主机控制器210和装置控制器218中的至少一个进行操作将UFS主机202的发送通道/UFS装置204的接收通道切换到休眠状态。UFS主机202的发送通道/UFS装置204的接收通道可通过使UFS主机202的Tx 214a和UFS装置204的Rx 222b进入休眠状态而被切换到休眠状态。
在发明构思的示例性实施例中,休眠状态可以是超低功率状态,其中,所述超低功率状态使Tx 222a和Rx 214b对以及Tx 214a和Rx 222b对中的至少一对能够将它们的活动减少到最低可能状态。本文的示例性实施例使用术语“超低功率状态”、“休眠状态”等来表示UFS装置204的物理层222和UFS主机202的物理层214中的至少一个的活动减少。
在将UFS装置204的发送通道切换到休眠状态之后,可将数据从UFS主机202传输到UFS装置204。在完成了在UFS主机202与UFS装置204之间传输有效载荷数据的预定数量的数据帧之后,UFS装置204的发送通道可通过使UFS装置204的Tx 222a和UFS主机202的Rx 214b从休眠状态退出而退出休眠状态。
类似地,在将UFS主机202的发送通道切换到休眠状态之后,可将数据从UFS装置204传输到UFS主机202。在完成了在UFS装置204与UFS主机202之间传输有效载荷数据的预定数量的数据帧之后,UFS主机202的发送通道可通过使UFS主机的Tx 214a和UFS装置204的Rx 222b从休眠状态退出而退出休眠状态。因此,短暂进入休眠状态和退出休眠状态减少了UFS***200中的不必要的功耗。
图2示出UFS***200的示例性单元,但是发明构思不限于此。在发明构思的示例性实施例中,UFS***200可包括更少数量或更多数量的单元。此外,单元的标记或名称仅用于说明性目的,并不限制发明构思的范围。可将一个或更多个单元组合在一起以执行UFS***200中的相同功能或基本相似的功能。
图3a是示出根据发明构思的示例性实施例的图2的UFS***中的UFS主机与UFS装置之间的写入事务的示图。
本文的示例性实施例使UFS主机202能够通过UFS主机202的物理层214的Tx 214a将有效载荷数据、命令、响应等中的至少一个发送到UFS装置204。UFS主机202将通过UFS主机202的物理层214的Rx 214b从UFS装置204接收有效载荷数据、响应、命令等中的至少一个。类似地,UFS装置204可通过UFS装置204的物理层222的Tx 222a将有效载荷数据、响应、命令等中的至少一个发送到UFS主机202。UFS装置204可通过UFS装置204的物理层222的Rx222b从UFS主机202接收有效载荷数据、响应、命令等中的至少一个。
如图3a所示,在写入事务期间,UFS主机202的应用206调度用于将有效载荷数据写入UFS装置204的存储器216的写入命令(“写入CMD UPIU”(UFS协议信息单元))。写入命令可包括诸如但不限于有效载荷数据的大小、与UFS装置204的存储器216相关联的存储区域的地址等的信息。应用206将写入命令输出到UFS主机控制器210。UFS主机控制器210将写入命令发送到UFS装置204。
在接收到写入命令时,UFS装置204的装置控制器218对写入命令进行解码,并且确定有效载荷数据流的路径沿着UFS主机202的发送通道。在对写入命令进行解码之后,装置控制器218将“RTT(准备传输)UPIU”响应发送到UFS主机202。“RTT UPIU”响应指示UFS装置204的存储器216的用于存储有效载荷数据的可用大小。当有效载荷数据的路径沿着UFS主机202的发送通道时,装置控制器218和UFS主机控制器210可***作以将UFS装置204的发送通道切换到休眠状态。
为了将UFS装置204的发送通道(Tx 222a和Rx 214b)切换到休眠状态,装置控制器218将功率模式改变(PMC)请求(“PMC.REQ”)发送到UFS主机202。PMC请求包括PACP(PHY(物理层)适配器控制协议)标准帧。在从UFS装置204接收到PMC请求时,UFS主机控制器210将功率模式改变确认(“PMC.CNF”)发送到UFS装置204。在从UFS主机202接收到功率模式改变确认时,装置控制器218将UFS装置204的物理层222的Tx 222a的状态切换到休眠状态。在将功率模式改变确认发送到UFS装置204时,UFS主机控制器210将UFS主机202的物理层214的Rx214b的状态切换到休眠状态。UFS主机202还开始将有效载荷数据(DATAOUT)发送到UFS装置204。在发明构思的示例性实施例中,有效载荷数据发送通过突发发生,其中,突发包括高速状态(HS状态)和低速状态(LS状态)中的至少一个。
在从UFS主机202接收到有效载荷数据的预定数量的数据帧时,装置控制器218使UFS装置204的Tx 222a能够退出休眠状态。在发明构思的示例性实施例中,数据帧的数量可由UFS主机202和UFS装置204中的至少一个基于需要在UFS主机202与UFS装置204之间被传输的有效载荷数据的大小来预先确定。因此,可使Tx 222a能够退出休眠状态,以将确认(“AFC”)帧和另一“RTT UPIU”响应中的至少一个发送到UFS主机202。“AFC”帧可对接收到预定数量的数据帧进行确认。另一“RTT UPIU”可被发送到UFS主机202,以接收有效载荷数据的剩余数据帧。因此,Tx 222a可仅在接收到预定数量的数据帧之后才唤醒,这减少了UFS装置204的Tx 222a从休眠状态到激活状态的随机后续切换。在发明构思的示例性实施例中,可使Tx 222a和Rx 214b能够重复进入和退出休眠状态,直到完成将有效载荷数据从UFS主机202传输到UFS装置204为止。
此外,UFS装置204可在来自UFS主机202预定数量的数据帧的传输完成之前检测有效载荷数据流中的错误。UFS装置204向UFS主机202通知关于检测到的错误。基于检测到的错误,UFS装置204和UFS主机202使Tx 222a和Rx 214b(UFS装置204的发送通道)能够退出休眠状态。UFS装置204可基于错误条件(诸如,但不限于,对有效载荷数据的输入帧中的循环冗余校验(CRC)错误、任意流量类(TC)的Rx缓冲区溢出、有效载荷长度长于任意TC中DL_SYMBOL_MTU符号的有效载荷数据帧的接收、接收到的任意TC的有效载荷数据的数据帧中的不正确帧序列号等中的至少一个的检测)检测有效载荷数据流中的错误。
可在以下情况时识别错误条件(其中,基于所述错误条件可检测到错误):
a)AFCx符号后面不跟着两个数据符号;
b)否定确认控制(NAC)符号后面不跟着一个数据符号;或者
c)EOF_EVEN或EOF_ODD(EOF=帧结束)符号(CRC符号)后面不跟着数据符号。
此外,可在确定以下项中的至少一项时识别错误条件:
a)接收到PA_ERROR.ind;
b)当帧尚未开始时接收到帧连续(COF)符号或者EOF_EVEN符号或EOF_ODD符号;
c)当同一TC的数据帧已经在进行且数据帧当前未被抢占时,接收到帧开始(SOF)符号;
d)当TC1数据帧已经在进行时,接收到TC=0的SOF符号;
e)接收到使不同TC的数据帧连续的COF符号;
f)在抢占帧的CRC之后接收到EOF_EVEN、EOF_ODD或数据符号,
g)接收到具有针对定义的字段的无效值(未定义的控制符号类型或TC)的DL控制符号(数据/控制符号);或者
h)接收到不期望的成帧序列、在帧之间接收到的数据符号等。
在接收到完整的有效载荷数据时,UFS装置204的装置控制器218将响应UPIU(“RESP”)发送到UFS主机202,从而指示成功的写入事务。例如,考虑UFS主机202想要将8KB的数据写入UFS装置204的存储器216的场景。由于UFS主机202想要执行写入事务,因此UFS装置204的装置控制器218和UFS主机控制器210通过使UFS装置204的Tx 222a和UFS主机202的Rx 214b能够进入休眠状态而将UFS装置204的发送通道切换到休眠状态。一旦UFS装置204的Tx 222a和UFS主机202的Rx 214b进入休眠状态,UFS主机202就开始将数据发送到UFS装置204。在发明构思的示例性实施例中,在通过Rx222b从UFS主机202接收到4KB的数据时,装置控制器218使Tx 222a能够退出休眠状态,并且UFS主机控制器210使Rx 214b能够退出休眠状态。UFS装置204的Tx 222a可将“AFC”帧发送到UFS主机202以对接收到4KB数据进行确认。此外,在接收到剩余4KB的数据时,UFS装置204的装置控制器218将“AFC”和“RESP”响应发送到UFS主机202,从而指示成功接收到8KB的数据。因此,可防止不必要的功耗。
图3b是示出根据发明构思的示例性实施例的图2的UFS***中的UFS主机与UFS装置之间的读取事务的示图。
如图3b所示,在读取事务期间,UFS主机202的应用206调度用于从UFS装置204的存储器216获取/读取有效载荷数据的读取命令(“读取CMD UPIU”)。读取命令可包括诸如但不限于需要的数据、与UFS装置204的存储器216相关联的存储区域的地址等的信息。应用206将读取命令输出到UFS主机控制器210。UFS主机控制器210将读取命令发送到UFS装置204。
在接收到读取命令时,UFS装置204的装置控制器218对读取命令进行解码,并且确定有效载荷数据流的路径沿着UFS装置204的发送通道。在对读取命令进行解码之后,装置控制器218从存储器216获取有效载荷数据。此外,在将有效载荷数据发送到UFS主机202之前,装置控制器218从UFS主机202接收功率模式改变请求(“PMC.REQ”)。“PMC.REQ”包括PACP请求(“PACP_REQ”)帧。“PMC.REQ”可用于将UFS主机202的发送通道切换到休眠状态。在从UFS主机202接收到“PMC.REQ”时,装置控制器218将功率模式改变确认(“PMC.CNF”)发送到UFS主机202。响应于从UFS装置204接收到“PMC.CNF”,UFS主机控制器210将Tx 214a的状态切换到休眠状态。
一旦UFS主机202的发送通道被切换到休眠状态,装置控制器218就将从存储器216获取的有效载荷数据发送到UFS主机202。
此外,在从UFS装置204接收到有效载荷数据的预定数量的数据帧时,UFS主机控制器210通过使物理层214的Tx 214a退出休眠状态而将UFS主机202的发送通道切换到激活状态。此外,UFS主机控制器210将确认(“ACK”)帧发送到UFS装置204以对接收到预定数量的数据帧进行确认。“ACK”帧可与上述“AFC”帧相应。因此,UFS主机202的Tx 214a可在接收到预定数量的数据帧之后唤醒,这减少了功耗。此外,在从UFS装置204接收到完整的数据之前,UFS主机202可对Tx214a/发送线路进行操作以进入和退出休眠状态。
此外,UFS主机202可在来自UFS装置204的预定数量的数据帧的传输完成之前检测有效载荷数据流中的错误。UFS主机202可向UFS装置204通知关于检测到的错误。基于检测到的错误,UFS主机202的UFS主机控制器210使UFS主机202的Tx 214a能够退出休眠状态。UFS主机202可基本遵循由UFS装置204遵循的针对写入事务的相同的过程,以检测有效载荷数据流中的错误。
在将完整的有效载荷数据发送到UFS主机202时,UFS装置204的装置控制器218将响应帧(“RESP”)发送到UFS主机202,从而指示成功的读取事务。
例如,考虑UFS主机202想要从UFS装置204的存储器216获取/读取8KB的数据的场景。由于UFS主机202想要执行读取事务,因此UFS主机202的UFS主机控制器210可***作以通过使UFS主机202的Tx 214a和UFS装置204的Rx 222b进入休眠状态而将UFS主机202的发送通道切换到休眠状态。一旦UFS主机202的Tx 214a进入休眠状态,UFS装置204就开始将数据发送到UFS主机202。在发明构思的示例性实施例中,在从UFS装置204接收到4KB的数据时,UFS主机控制器210使Tx 214a能够退出休眠状态。因此,UFS主机202的发送通道可被切换到激活状态,并且UFS主机202的Tx 214a可通过对接收到4KB的数据进行确认而将“AFC”帧发送到UFS装置204。此外,在发送剩余4KB的数据时,UFS装置204将“RESP”响应帧发送到UFS主机202,从而指示成功传输8KB的数据。因此,可防止不必要的功耗。
图4是示出根据发明构思的示例性实施例的用于管理图2的UFS***中的UFS主机与UFS装置之间的通信的方法的流程图。
所述方法通过流程图400示出。在操作402,所述方法包括由UFS主机202和UFS装置204中的至少一个确定有效载荷数据流的路径。UFS主机202调度用于将有效载荷数据写入UFS装置204的存储器216的写入命令和用于从UFS装置204的存储器216获取有效载荷数据的读取命令中的至少一个。调度的命令可从UFS主机202被发送到UFS装置204。UFS主机202和UFS装置204中的至少一个可处理所述命令以确定有效载荷数据流的路径。有效载荷数据流的路径可被确定为沿着UFS主机202的发送通道和UFS装置204的发送通道中的一个。UFS主机202的发送通道由UFS主机202的Tx 214a与UFS装置204的Rx 222b之间建立的连接形成。UFS装置204的发送通道由UFS主机202的Rx 214b与UFS装置204的Tx 222a之间建立的连接形成。
在操作404,所述方法包括:由UFS主机202和UFS装置204中的至少一个基于确定的有效载荷数据流的路径发起至少一个休眠状态进入动作。所述休眠状态进入动作包括以下操作中的至少一个:在确定了有效载荷数据流的路径沿着UFS装置204的发送通道时,由UFS主机202将UFS主机202的发送通道切换到休眠状态;并且在确定了有效载荷数据的路径沿着UFS主机202的发送通道时,由UFS装置204将UFS装置204的发送通道切换到休眠状态。
在操作406,所述方法包括:在完成传输预定数量的数据帧之后,由UFS主机202和UFS装置204中的至少一个发起至少一个休眠状态退出动作。所述至少一个休眠状态退出动作包括:使UFS主机202的发送通道和UFS装置204的发送通道中的一个能够从休眠状态退出。因此,对UFS主机202和UFS装置204中的至少一个进行操作以进入和退出休眠状态降低了功耗。
流程图400中示出的方法中的各种动作、行为、块、操作等可以以提供的顺序、以不同的顺序或同时被执行。此外,在发明构思的示例性实施例中,在不脱离发明构思的范围的情况下,动作、行为、块、操作等中的一些可被省略、添加、修改、跳过等。
图5a是示出根据发明构思的示例性实施例的用于管理图2的UFS***中的UFS主机与UFS装置之间的读取事务的方法的流程图。
在流程图500a中示出了所述方法。在操作502,所述方法包括:由UFS主机202和UFS装置204中的至少一个确定有效载荷数据流的路径。基于由UFS主机202调度的命令,UFS主机202和UFS装置204中的至少一个确定沿着UFS主机202的发送通道和UFS装置204的发送通道中的一个的有效载荷数据流的路径。
在操作504,所述方法包括:在确定了有效载荷数据流的路径沿着UFS装置204的发送通道时,通过对UFS主机202和UFS装置204中的至少一个进行操作,将UFS主机202的发送通道切换到休眠状态。沿着UFS装置204的发送通道的有效载荷数据流的路径指示需要在UFS主机202与UFS装置204之间执行读取事务。UFS主机202将读取命令发送到UFS装置204。此外,由于UFS主机202想要从UFS装置204的存储器216获取有效载荷数据,因此UFS主机202将功率模式改变请求(“PMC.REQ”)发送到UFS装置204以将UFS主机202的发送通道切换到休眠状态。在从UFS主机202接收到“PMC.REQ”时,UFS装置204将功率模式改变确认(“PMC.CNF”)发送到UFS主机202。在从UFS装置204接收到“PMC.CNF”时,UFS主机202和UFS装置204可***作以通过使UFS主机202的物理层214的Tx 214a和UFS装置204的Rx 222b能够进入休眠状态而将UFS主机202的发送通道切换到休眠状态。因此,当Rx 214b从UFS装置204接收有效载荷数据时,Tx214a进入休眠状态。
在操作506,所述方法包括:在完成传输有效载荷数据的预定数量的数据帧之后,通过对UFS主机202和UFS装置204中的至少一个进行操作从UFS主机202的发送通道的休眠状态退出。一旦UFS主机202的发送通道被切换到休眠状态,UFS装置204就开始将有效载荷数据发送到UFS主机202。在完成传输预定数量的数据帧时,UFS主机202和UFS装置204可***作以使Tx 214a和Rx 222b能够退出休眠状态。可使Tx 214a能够退出休眠状态,以将“AFC”帧发送到UFS装置204以对从UFS装置204接收到预定数量的数据帧进行确认。UFS主机202的Tx214a/发送通道仅在接收到预定数量的数据帧时,才可从休眠状态被切换到激活状态。在发明构思的示例性实施例中,可重复如上所述的操作504和操作506,直到完成将整个有效载荷数据传输到UFS主机202为止。
此外,UFS主机202可在完成传输预定数量的数据帧之前检测有效载荷数据流中的错误。基于检测到的错误,UFS主机202和UFS装置204可使UFS主机202的Tx 214a和UFS装置204的Rx222b能够退出休眠状态。因此,可在较早阶段知道读取事务的失败。
流程图500a中示出的方法中的各种动作、行为、块、操作等可以以提供的顺序、以不同的顺序或同时被执行。此外,在发明构思的示例性实施例中,在不脱离发明构思的范围的情况下,动作、行为、块、操作等中的一些可被省略、添加、修改、跳过等。
图5b是示出根据发明构思的示例性实施例的用于管理图2的UFS***中的UFS主机与UFS装置之间的写入事务的方法的流程图。
在流程图500b中示出了所述方法。在操作508,所述方法包括由UFS主机202和UFS装置204中的至少一个确定有效载荷数据流的路径。基于由UFS主机202调度的命令,UFS主机202和UFS装置204中的至少一个确定沿着UFS主机202的发送通道和UFS装置204的发送通道中的一个的有效载荷数据流的路径。
在操作510,所述方法包括:在确定了有效载荷数据流的路径沿着UFS主机202的发送通道时,通过对UFS主机202和UFS装置204中的至少一个进行操作,将UFS装置204的发送通道切换到休眠状态。沿着UFS主机202的发送通道的有效载荷数据流的路径指示需要在UFS主机202与UFS装置204之间执行写入事务。UFS主机202可将用于将有效载荷数据写入UFS装置204的存储器216的写入命令发送到UFS装置204。响应于所述写入命令,UFS装置204将“RTT响应”发送到UFS主机202,并且还将“PMC.REQ”发送到UFS主机202以将UFS装置204的发送通道切换到休眠状态。在从UFS主机202接收到“PMC.CNF”时,UFS装置204和UFS主机202可将UFS装置204的发送通道切换到休眠状态。通过使UFS装置204的物理层222的Tx222a和UFS主机202的Rx 214b能够进入休眠状态,UFS装置204的发送通道可被切换到休眠状态。因此,当UFS装置204的Rx 222b开始从UFS主机202接收有效载荷数据时,Tx 222a可进入休眠状态。
在操作512,所述方法包括:在完成传输有效载荷数据的预定数量的数据帧之后,通过对UFS主机202和UFS装置204中的至少一个进行操作,从UFS装置204的发送通道的休眠状态退出。一旦UFS装置204的发送通道被切换到休眠状态,UFS主机202就开始将有效载荷数据发送到UFS装置204。在接收到预定数量的数据帧时,UFS装置204和UFS主机202使Tx222a和Rx 214b能够退出休眠状态。因此,UFS装置204的发送通道可退出休眠状态,并且可使Tx 222a能够将“AFC”帧发送到UFS主机202以对接收到预定数量的数据帧进行确认。因此,在完成传输预定数量的数据帧之前,UFS主机202可不需要等待来自UFS装置204的确认。在发明构思的示例性实施例中,可重复如上所述的操作510和操作512,直到完成将整个有效载荷数据传输到UFS装置204为止。
此外,在完成传输预定数量的数据帧之前,UFS装置204可检测有效载荷数据流中的错误。基于检测到的错误,UFS装置204可使UFS装置204的Tx 222a能够退出休眠状态,并且UFS主机202可使Rx 214b能够退出休眠状态。因此,可在较早阶段检测到写入事务的失败。
流程图500b中示出的方法中的各种动作、行为、块、操作等可以以提供的顺序、以不同的顺序或同时被执行。此外,在发明构思的示例性实施例中,在不脱离发明构思的范围的情况下,诸如动作、行为、块、操作等中的一些可被省略、添加、修改、跳过等。
图6a描绘了根据发明构思的示例性实施例的序列流,其中,按照该序列流,图2的UFS***中的UFS主机与UFS装置之间的写入事务可以以低功耗被实现。
如图6a中所示,UFS主机202的应用206发起写入命令(“WRITE CMD”)并且使用UFS传输协议层(UTP)将该命令输出到UFS主机控制器210。UFS主机控制器210进一步将“WRITECMD UPIU”发送到UIC(链路层和物理层214)。UFS主机202的物理层214的Tx 214a将“WRITECMD UPIU”发送到UFS装置204的UIC(链路层和物理层222)。UIC使用UTP层将“WRITE CMDUPIU”转发到UFS装置204的装置控制器218。装置控制器218进一步将“WRITE CMD UPIU”转发到UFS装置204的应用。在从UFS主机202接收到“WRITE CMD UPIU”时,UFS装置204的应用产生“RTT UPIU”响应并且使用UTP层将“RTT UPIU”响应转发到装置控制器218。UFS装置204的装置控制器218将“RTT UPIU”响应转发到UIC。UFS装置204的UIC的物理层222通过Tx222a将“RTT UPIU”响应发送到UFS主机202的UIC。UFS主机202的物理层214使用UTP层将“RTT UPIU”转发到UFS主机202的UFS主机控制器210。
在响应于“WRITE CMD UPIU”将“RTT UPIU”响应发送到UFS主机202之后,UFS装置204的应用发起功率模式改变请求“PMC.REQ”。“PMC.REQ”可被发起以将UFS装置204的Tx222a切换到休眠状态。UFS装置204的应用将“PMC.REQ”转发到装置控制器218,其中,装置控制器218进一步将“PMC.REQ”转发到UFS装置204的UIC。UFS装置204的物理层222通过Tx222a将“PMC.REQ”发送到UFS主机202的UIC。在接收到“PMC.REQ”时,UFS主机202的UIC产生功率模式改变确认“PMC.CNF”,并且UFS主机202的UIC的物理层214将“PMC.CNF”发送到UFS装置204的UIC。UFS装置204的UIC的物理层222将“PMC.CNF”转发到UFS装置204的应用。此后,UFS装置204的装置控制器218将Tx 222a的状态切换到休眠状态。此外,在响应于从UFS装置204接收到的“PMC.REQ”产生了“PMC.CNF”时,UFS主机控制器210将Rx 214b的状态切换到休眠状态。
UFS主机控制器210通过向有效载荷数据添加头部,将有效载荷数据“DATA OUTUPIU”转发到UFS主机202的UIC。UFS主机202的UIC的物理层214通过Tx 214a(UFS主机202的发送通道)将有效载荷数据传输到UFS装置204的UIC。UFS装置204的UIC的物理层222将有效载荷数据“DATA.OUT UPIU”转发到UFS装置204的应用。此外,UFS装置204的装置控制器218对存储器216执行写入功能以存储由UFS主机202传输的数据。
在完成传输有效载荷数据的预定数量的数据帧之后,装置控制器218使Tx 222a能够退出休眠状态。UFS装置204的Tx 222a将“ACK”发送到UFS主机202的UIC,以对接收到预定数量的数据帧进行确认。因此,可降低功耗。
在发明构思的示例性实施例中,如上所述,UFS装置204的装置控制器218和UFS主机202的UFS主机控制器210可使UFS装置204的发送通道能够在单一方向上进入和退出休眠状态,直到接收到完整的有效载荷数据为止。在接收到完整的有效载荷数据时,UFS装置204的应用可产生响应(“RESP”)并且将“RESP”转发到装置控制器218,其中,装置控制器218进一步将“RESP”转发到UFS装置204的UIC。UFS装置204的UIC的物理层222将“RESP”传输到UFS主机202的UIC以指示成功接收到完整的有效载荷数据。
图6b描绘了根据发明构思的示例性实施例的序列流,其中,按照该序列流,图2的UFS***中的UFS主机与UFS装置之间的读取事务可以以低功耗被实现。
如图6b中所示,UFS主机202的应用206发起读取命令(“READ CMD”)并且使用UTP层将“READ CMD”输出到UFS主机控制器210。UFS主机控制器210进一步通过向“READ CMD”添加头部而将“READ CMD UPIU”发送到UIC(链路层和物理层214)。UFS主机的物理层214的Tx214a将“READ CMD UPIU”发送到UFS装置204的UIC(链路层和物理层222)。UIC使用UTP层将“READ CMD UPIU”转发到UFS装置204的装置控制器218。装置控制器218进一步将“READ CMDUPIU”转发到UFS装置204的应用。
在从UFS主机202接收到“READ CMD UPIU”时,UFS装置204的应用向UFS装置204的装置控制器218产生“DATA IN UPIU”命令,其中,UFS装置204的装置控制器218从存储器206获取有效载荷数据,并且将有效载荷数据输出到UFS装置204的UIC。
UFS主机202产生对于改变UFS主机202的Tx 214a的状态的功率模式改变请求“PMC.REQ”。“PMC.REQ”可被发起以将UFS主机202的Tx 214a和UFS装置204的Rx 222b切换到休眠状态。UFS装置204的UIC通过UFS装置204的Tx 222a将功率模式改变确认“PMC.CNF”转发到UFS主机202的UIC。此外,在响应于从UFS主机接收到的“PMC.REQ”而产生了“PMC.CNF”时,UFS装置204的装置控制器218将Rx 222b的状态切换到休眠状态。在从UFS装置204接收到“PMC.CNF”时,UFS主机202的UFS主机控制器210将Tx 214a的状态切换到休眠状态。
UFS装置204的UIC的物理层222将获取的数据“DATA IN UPIU”发送到UFS主机202的UIC。UFS主机202的UIC的物理层214将“DATA IN UPIU”转发到UFS主机控制器210,其中,UFS主机控制器210进一步将“DATAIN UPIU”转发到UFS主机202的应用206。在完成传输有效载荷数据的预定数量的帧时,UFS主机控制器210使UFS主机202的Tx 214a能够退出休眠状态。UFS主机202的Tx 214a将“ACK”帧发送到UFS装置204的UIC,以对接收到有效载荷数据的预定数量的帧进行确认。
在发明构思的示例性实施例中,如上所述,UFS主机202的UFS主机控制器210和UFS装置204的装置控制器218可使UFS主机202的发送通道能够进入和退出休眠状态,直到接收到完整的有效载荷数据为止。在发送了完整的有效载荷数据时,UFS装置204的应用可产生“RESP”并且将“RESP”转发到装置控制器218,其中,装置控制器218进一步将“RESP”转发到UFS装置204的UIC。UFS装置204的UIC的物理层222将“RESP”传输到UFS主机202的UIC以指示成功传输了完整的有效载荷数据。
本文公开的示例性实施例可通过运行在至少一个硬件装置上并且执行网络管理功能以控制元件的至少一个软件程序来实现。图2中所示的元件可以是硬件装置、或硬件装置和软件模块的组合中的至少一个。
本文公开的示例性实施例描述了用于以低功耗管理UFS主机与UFS装置之间的通信的方法和***。因此,理解的是,发明构思的范围被扩展到程序和其中具有所述程序的计算机可读工具,使得计算机可读工具包含用于实现所述方法的一个或更多个操作的程序代码,并且所述程序在服务器、移动装置或任何合适的可编程装置上运行。所述方法可通过以例如超高速集成电路硬件描述语言(VHDL)或其他编程语言编写的软件程序被实现或与所述软件程序一起被实现,或者通过在至少一个硬件装置上被执行的一个或更多个VHDL或若干软件模块被实现。硬件装置可以是任意类型的可被编程的便携式装置。所述***还可包括硬件工具(诸如,专用集成电路(ASIC))、硬件工具和软件工具的组合(诸如,ASIC和现场可编程门阵列(FPGA))、或者软件模块位于其中的至少一个微处理器和至少一个存储器。上述方法可部分以硬件且部分以软件来实现。可选地,发明构思可例如使用多个CPU在不同的硬件装置上被实现。
尽管已经参照发明构思的示例性实施例示出并描述了发明构思,但是本领域中的普通技术人员将容易地理解:在不脱离如通过下面的权利要求所阐述的发明构思的精神和范围的情况下,可对其进行形式和细节上的修改。
Claims (19)
1.一种用于管理通用闪速存储UFS装置与UFS主机之间的通信的方法,所述方法包括:
由装置确定沿着UFS主机的发送通道和UFS装置的发送通道中的一个的有效载荷数据流的至少一条路径,其中,所述装置是UFS主机和UFS装置中的至少一个;
基于UFS主机与UFS装置之间的确定的有效载荷数据流的至少一条路径,由所述装置发起至少一个休眠状态进入动作;并且
在完成在UFS主机与UFS装置之间传输有效载荷数据的预定数量的数据帧之后,由所述装置发起至少一个休眠状态退出动作,
其中,确定有效载荷数据流的所述至少一条路径的步骤包括:
由UFS主机调度至少一个命令,其中,所述至少一个命令包括至少一个写入命令和至少一个读取命令中的至少一个;并且
由UFS主机处理调度的至少一个命令,以确定有效载荷数据流的所述至少一条路径,
其中,针对所述至少一个写入命令,有效载荷数据流的所述至少一条路径被确定为沿着UFS主机的发送通道,并且针对所述至少一个读取命令,有效载荷数据流的所述至少一条路径被确定为沿着UFS装置的发送通道。
2.如权利要求1所述的方法,其中,UFS主机的发送通道由在UFS主机的发送单元与UFS装置的接收单元之间建立的连接形成,并且UFS装置的发送通道由在UFS装置的发送单元与UFS主机的接收单元之间建立的连接形成。
3.如权利要求1所述的方法,其中,发起所述至少一个休眠状态进入动作的步骤包括:
在确定了有效载荷数据流的所述至少一条路径沿着UFS装置的发送通道时,将UFS主机的发送通道切换到休眠状态;并且
在确定了有效载荷数据流的所述至少一条路径沿着UFS主机的发送通道时,将UFS装置的发送通道切换到休眠状态。
4.如权利要求3所述的方法,其中,将UFS主机的发送通道切换到休眠状态的步骤包括:
在将所述至少一个读取命令发送到UFS装置之后,由UFS主机将功率模式改变请求发送到UFS装置;
响应于从UFS主机接收到的功率模式改变请求,由UFS装置产生功率模式改变确认,其中,功率模式改变确认被UFS装置发送到UFS主机;
在响应于从UFS主机接收到的功率模式改变请求产生了功率模式改变确认时,由UFS装置将UFS装置的接收单元切换到休眠状态;并且
在从UFS装置接收到功率模式改变确认时,由UFS主机将UFS主机的发送单元切换到休眠状态。
5.如权利要求3所述的方法,其中,将UFS装置的发送通道切换到休眠状态的步骤包括:
由UFS装置对从UFS主机接收到的所述至少一个写入命令进行解码;
基于对所述至少一个写入命令的解码,由UFS装置将准备传输UFS协议信息单元发送到UFS主机;
在发送准备传输UFS协议信息单元之后,由UFS装置将功率模式改变请求发送到UFS主机;
响应于从UFS装置接收到的功率模式改变请求,由UFS主机产生功率模式改变确认,其中,功率模式改变确认被UFS主机发送到UFS装置;
在响应于从UFS装置接收到的功率模式改变请求产生了功率模式改变确认时,由UFS主机将UFS主机的接收单元切换到休眠状态;并且
在从UFS主机接收到功率模式改变确认时,由UFS装置将UFS装置的发送单元切换到休眠状态。
6.如权利要求1所述的方法,还包括:由UFS装置处理调度的至少一个命令,以确定有效载荷数据流的所述至少一条路径。
7.如权利要求1所述的方法,其中,发起所述至少一个休眠状态退出动作的步骤包括:
在完成传输有效载荷数据的所述预定数量的数据帧之后,退出UFS主机的发送通道的休眠状态;以及
在完成传输有效载荷数据的所述预定数量的数据帧之后,退出UFS装置的发送通道的休眠状态。
8.如权利要求7所述的方法,其中,退出UFS主机的发送通道的休眠状态的步骤包括:
在将UFS主机的发送单元切换到休眠状态之后,由UFS主机从UFS装置接收有效载荷数据;
在完成从UFS装置接收有效载荷数据的所述预定数量的数据帧之后,由UFS主机使UFS主机的发送单元能够退出休眠状态,其中,使UFS主机的发送单元能够退出休眠状态,以将确认帧发送到UFS装置以对从UFS装置接收到有效载荷数据的所述预定数量的数据帧进行确认;以及
在完成将有效载荷数据的所述预定数量的数据帧传输到UFS主机之后,由UFS装置使UFS装置的发送单元能够退出休眠状态。
9.如权利要求8所述的方法,还包括:
在从UFS装置接收有效载荷数据的所述预定数量的数据帧之前,由UFS主机检测有效载荷数据流中的至少一个错误;
基于检测到的所述至少一个错误,由UFS主机使UFS主机的发送单元能够退出休眠状态;以及
基于检测到的所述至少一个错误,由UFS装置使UFS装置的接收单元能够退出休眠状态。
10.一种用于降低包括通用闪速存储UFS主机和UFS装置的UFS***中的功耗的方法,所述方法包括:
由装置检测有效载荷数据流的路径,其中,所述装置是UFS主机和UFS装置中的至少一个;
在确定了有效载荷数据流的路径沿着UFS装置的发送通道时,由所述装置将UFS主机的发送通道切换到休眠状态;并且
在完成传输有效载荷数据的预定数量的数据帧之后,由所述装置从UFS主机的发送通道的休眠状态退出,
在确定了有效载荷数据流的路径沿着UFS主机的发送通道时,由所述装置将UFS装置的发送通道切换到休眠状态;并且
在完成传输有效载荷数据的预定数量的数据帧之后,由所述装置从UFS装置的发送通道的休眠状态退出。
11.一种通用闪速存储UFS***,包括:
装置,其中,所述装置是UFS主机和UFS装置中的至少一个,其中,所述装置被配置为:
确定沿着UFS主机的发送通道和UFS装置的发送通道中的一个的有效载荷数据流的至少一条路径;
基于确定的有效载荷数据流的至少一条路径,发起至少一个休眠状态进入动作;并且
在完成在UFS主机与UFS装置之间传输有效载荷数据的预定数量的数据帧之后,发起至少一个休眠状态退出动作,
在确定了有效载荷数据流的所述至少一条路径沿着UFS装置的发送通道时,将UFS主机的发送通道切换到休眠状态;并且
在确定了有效载荷数据流的所述至少一条路径沿着UFS主机的发送通道时,将UFS装置的发送通道切换到休眠状态。
12.如权利要求11所述的UFS***,其中,UFS主机的发送通道由在UFS主机的发送单元与UFS装置的接收单元之间建立的连接形成,并且UFS装置的发送通道由在UFS装置的发送单元与UFS主机的接收单元之间建立的连接形成。
13.如权利要求11所述的UFS***,其中,UFS主机被配置为:
调度至少一个命令,其中,所述至少一个命令包括至少一个写入命令和至少一个读取命令中的至少一个;并且
处理所述至少一个命令以确定有效载荷数据流的所述至少一条路径,
其中,针对所述至少一个写入命令,有效载荷数据流的所述至少一条路径被确定为沿着UFS主机的发送通道,并且针对所述至少一个读取命令,有效载荷数据流的所述至少一条路径被确定为沿着UFS装置的发送通道。
14.如权利要求13所述的UFS***,其中,所述装置被配置为:
通过以下操作将UFS主机的发送通道切换到休眠状态:
在将所述至少一个读取命令发送到UFS装置之后,由UFS主机将功率模式改变请求发送到UFS装置,
响应于从UFS主机接收到的功率模式改变请求,由UFS装置产生功率模式改变确认,其中,功率模式改变确认被UFS装置发送到UFS主机,
在响应于从UFS主机接收到的功率模式改变请求产生了功率模式改变确认时,由UFS装置将UFS装置的接收单元切换到休眠状态,
在从UFS装置接收到功率模式改变确认时,由UFS主机将UFS主机的发送单元切换到休眠状态;并且
通过以下操作将UFS装置的发送通道切换到休眠状态:
由UFS装置对从UFS主机接收到的所述至少一个写入命令进行解码,
基于对所述至少一个写入命令的解码,由UFS装置将准备传输UFS协议信息单元发送到UFS主机,
在发送准备传输UFS协议信息单元之后,由UFS装置将功率模式改变请求发送到UFS主机,
响应于由从UFS装置接收到的功率模式改变请求,由UFS主机产生功率模式改变确认,其中,功率模式改变确认被UFS主机发送到UFS装置,
在响应于从UFS装置接收到的功率模式改变请求产生了功率模式改变确认时,由UFS主机将UFS主机的接收单元切换到休眠状态,
在从UFS主机接收到功率模式改变确认时,由UFS装置将UFS装置的发送单元切换到休眠状态。
15.如权利要求13所述的UFS***,其中,所述装置还被配置为:
在完成传输有效载荷数据的所述预定数量的数据帧之后,退出UFS主机的发送通道的休眠状态;并且
在完成传输有效载荷数据的所述预定数量的数据帧之后,退出UFS装置的发送通道的休眠状态。
16.如权利要求14所述的UFS***,其中,UFS主机还被配置为:
在将UFS主机的发送单元切换到休眠状态之后,从UFS装置接收有效载荷数据;并且
在完成从UFS装置接收有效载荷数据的所述预定数量的数据帧之后,使UFS主机的发送单元能够退出休眠状态,其中,使UFS主机的发送单元能够退出休眠状态,以将确认帧发送到UFS装置以对从UFS装置接收到有效载荷数据的所述预定数量的数据帧进行确认。
17.如权利要求16所述的UFS***,其中,UFS装置还被配置为:
在完成将有效载荷数据的所述预定数量的数据帧传输到UFS主机之后,使UFS装置的接收单元能够退出休眠状态。
18.如权利要求16所述的UFS***,其中,UFS主机还被配置为:
在来自UFS装置的预定数量的数据帧的传输完成之前,检测有效载荷数据流中的至少一个错误;并且
使UFS主机的发送单元能够退出休眠状态。
19.如权利要求14所述的UFS***,其中,UFS装置还被配置为:
在将UFS装置的发送单元切换到休眠状态之后,从UFS主机接收有效载荷数据;并且
在完成从UFS主机接收有效载荷数据的所述预定数量的数据帧之后,使UFS装置的发送单元能够退出休眠状态,其中,使UFS装置的发送单元能够退出休眠状态,以将确认帧发送到UFS主机以对从UFS主机接收到有效载荷数据的所述预定数量的数据帧进行确认。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201941016174 | 2019-04-24 | ||
IN201941016174 | 2019-04-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111857838A CN111857838A (zh) | 2020-10-30 |
CN111857838B true CN111857838B (zh) | 2024-04-02 |
Family
ID=72917011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010012998.2A Active CN111857838B (zh) | 2019-04-24 | 2020-01-07 | 用于管理ufs装置与ufs主机之间的通信的方法和*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US11379280B2 (zh) |
CN (1) | CN111857838B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535596A (zh) * | 2020-04-14 | 2021-10-22 | 慧荣科技股份有限公司 | 均衡调整方法、均衡调整装置及计算机可读取存储介质 |
KR20220046948A (ko) * | 2020-10-08 | 2022-04-15 | 삼성전자주식회사 | 스토리지 컨트롤러, 스토리지 시스템 및 그 동작방법 |
EP4002133B1 (en) | 2020-11-20 | 2024-03-20 | Samsung Electronics Co., Ltd. | Performing save state switching in selective lanes between electronic devices in ufs system |
KR20220089854A (ko) * | 2020-12-22 | 2022-06-29 | 에스케이하이닉스 주식회사 | Ufs 장치 및 ufs 장치의 동작 방법 |
TW202236821A (zh) | 2021-03-08 | 2022-09-16 | 韓商愛思開海力士有限公司 | 用於一互連協定的功耗模式改變的資訊配置的方法、控制器以及儲存裝置 |
TW202310594A (zh) * | 2021-08-19 | 2023-03-01 | 韓商愛思開海力士有限公司 | 用於互連協定的錯誤處理的方法、控制器以及儲存裝置 |
CN113867830A (zh) * | 2021-08-31 | 2021-12-31 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于通用闪存存储的***及其启动方法 |
TW202311971A (zh) | 2021-09-09 | 2023-03-16 | 韓商愛思開海力士有限公司 | 用於互連協定的資料處理的方法、控制器以及儲存裝置 |
CN116192706B (zh) * | 2022-12-20 | 2024-01-26 | 珠海妙存科技有限公司 | 一种基于ufs的自检测与自复位方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707300B1 (en) * | 2001-04-13 | 2010-04-27 | Cisco Technology, Inc. | Methods and apparatus for transmitting information in a network |
CN102292687A (zh) * | 2010-01-06 | 2011-12-21 | 苹果公司 | 在便携式计算设备休眠期间为辅助设备供电 |
CN102656574A (zh) * | 2009-12-04 | 2012-09-05 | 意法爱立信有限公司 | 用于可靠链路启动的方法和*** |
CN106686654A (zh) * | 2017-02-08 | 2017-05-17 | 武汉慧联无限科技有限公司 | 低速无线网络多网关报文去重的方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201316163A (zh) | 2011-10-07 | 2013-04-16 | Primax Electronics Ltd | 具有省電功能之輸入裝置以及輸入裝置之省電方法 |
US9092150B2 (en) * | 2011-12-22 | 2015-07-28 | Sandisk Technologies Inc. | Systems and methods of performing a data save operation |
KR102094902B1 (ko) | 2013-07-08 | 2020-03-30 | 삼성전자주식회사 | 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템 |
US9619156B2 (en) * | 2014-07-31 | 2017-04-11 | Samsung Electronics Co., Ltd. | Storage device, memory card, and communicating method of storage device |
US10802736B2 (en) * | 2017-07-27 | 2020-10-13 | Qualcomm Incorporated | Power down mode for universal flash storage (UFS) |
US10891078B2 (en) * | 2018-06-22 | 2021-01-12 | Western Digital Technologies, Inc. | Storage device with a callback response |
CN113220108B (zh) * | 2018-08-21 | 2023-09-26 | 慧荣科技股份有限公司 | 计算机可读取存储介质、操作频率调整方法及装置 |
-
2020
- 2020-01-07 CN CN202010012998.2A patent/CN111857838B/zh active Active
- 2020-01-08 US US16/737,547 patent/US11379280B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707300B1 (en) * | 2001-04-13 | 2010-04-27 | Cisco Technology, Inc. | Methods and apparatus for transmitting information in a network |
CN102656574A (zh) * | 2009-12-04 | 2012-09-05 | 意法爱立信有限公司 | 用于可靠链路启动的方法和*** |
CN102292687A (zh) * | 2010-01-06 | 2011-12-21 | 苹果公司 | 在便携式计算设备休眠期间为辅助设备供电 |
CN106686654A (zh) * | 2017-02-08 | 2017-05-17 | 武汉慧联无限科技有限公司 | 低速无线网络多网关报文去重的方法及装置 |
Non-Patent Citations (1)
Title |
---|
DDR4N Flash存储器芯片发展趋势;迪建;;集成电路应用(第01期);第28-30页 * |
Also Published As
Publication number | Publication date |
---|---|
US11379280B2 (en) | 2022-07-05 |
CN111857838A (zh) | 2020-10-30 |
US20200341825A1 (en) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111857838B (zh) | 用于管理ufs装置与ufs主机之间的通信的方法和*** | |
JP5639107B2 (ja) | ユニバーサル・シリアル・バス(usb)のためのフロー制御 | |
US10503239B2 (en) | Electronic device and power management method | |
CN110460412B (zh) | 用于数据传输的方法和rdma网卡 | |
US20090113082A1 (en) | Device, System, and Method of Speculative Packet Transmission | |
US9256564B2 (en) | Techniques for improving throughput and performance of a distributed interconnect peripheral bus | |
CN116627869B (zh) | 应用于电子设备的数据传输方法及装置 | |
JP5035176B2 (ja) | 伝送システム、伝送装置および伝送方法 | |
US20200201804A1 (en) | I3c device timing adjustment to accelerate in-band interrupts | |
US11736567B2 (en) | Data transmission and network interface controller | |
US11269524B2 (en) | Methods and systems for managing data transfer between a UFS host and a UFS target | |
US20210173808A1 (en) | Early parity error detection on an i3c bus | |
US11687420B2 (en) | Control method for error handling in a controller, storage medium therefor, controller and storage device | |
US12013806B2 (en) | I3C pending read with retransmission | |
JP2014222466A (ja) | 情報処理装置、情報処理システムおよび情報処理システムの通信方法 | |
JP2008118211A (ja) | データ転送装置及びデータ転送方法 | |
WO2022086798A1 (en) | Repeated in sequence packet transmission for checksum comparison | |
KR102036124B1 (ko) | 저장 명령을 효율적으로 처리하는 방법 및 장치 | |
CN115118378A (zh) | 控制器的控制方法、其存储介质、控制器以及存储设备 | |
US20130132619A1 (en) | Method for reducing transmission latency and control module thereof | |
JP2007166281A (ja) | データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム | |
JP2004287982A (ja) | データ転送制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |