CN108170370B - 数据储存装置与数据传输速率控制方法 - Google Patents

数据储存装置与数据传输速率控制方法 Download PDF

Info

Publication number
CN108170370B
CN108170370B CN201710779454.7A CN201710779454A CN108170370B CN 108170370 B CN108170370 B CN 108170370B CN 201710779454 A CN201710779454 A CN 201710779454A CN 108170370 B CN108170370 B CN 108170370B
Authority
CN
China
Prior art keywords
rate
data storage
storage device
power mode
mode change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710779454.7A
Other languages
English (en)
Other versions
CN108170370A (zh
Inventor
施富仁
陈彦宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from TW106112539A external-priority patent/TWI634430B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN108170370A publication Critical patent/CN108170370A/zh
Application granted granted Critical
Publication of CN108170370B publication Critical patent/CN108170370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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

Abstract

本发明涉及一种数据储存装置,透过一既定介面耦接至一主机装置,包括一存储器装置、一静态随机存取存储器以及一控制器。控制器耦接存储器装置与静态随机存取存储器。控制器透过既定介面自主机装置接收请求将既定介面的一数据传输速率由一第一速率调整为一第二速率的一第一电源模式改变请求封包。响应第一电源模式改变请求封包,控制器判断数据储存装置的一运作状态是否为忙碌,以及于判断数据储存装置的运作状态为忙碌时,控制器决定拒绝调整数据传输速率的请求,并且将数据传输速率维持在第一速率而不调整为第二速率。

Description

数据储存装置与数据传输速率控制方法
技术领域
本发明有关于一种数据传输速率控制方法,以避免因传输速率设定不适当而发生数据处理壅塞、传输停顿或发生无法预期的存取错误的问题。
背景技术
随着数据储存装置的科技在近几年快速地成长,许多数据储存装置,如符合SD/MMC规格、CF规格、MS规格与XD规格的记忆卡、固态硬碟、内嵌式存储器(embedded MultiMedia Card,缩写为eMMC)以及通用快闪存储器(Universal Flash Storage,缩写为UFS)已经广泛地被应用在多种用途上。因此,在这些数据储存装置上,如何有效的存取控制也变成一个重要的议题。
为了提高数据储存装置的存取效能,本发明提出一种新的传输速率控制方法,不仅可有效控置传输速率,更可避免因传输速率设定不适当而发生数据处理壅塞、传输停顿或无法预期的存取错误的问题。
发明内容
本发明提出一种数据储存装置,透过一既定介面耦接至一主机装置,包括一存储器装置、一静态随机存取存储器以及一控制器。控制器耦接存储器装置与静态随机存取存储器。控制器透过既定介面自主机装置接收请求将既定介面的一数据传输速率由一第一速率调整为一第二速率的一第一电源模式改变请求封包。响应第一电源模式改变请求封包,控制器判断数据储存装置的一运作状态是否为忙碌,以及于判断数据储存装置的运作状态为忙碌时,控制器决定拒绝调整数据传输速率的请求,并且将数据传输速率维持在第一速率而不调整为第二速率。
本发明另提出一种数据传输速率控制方法,包括:由一数据储存装置的一控制器透过一既定介面自一主机装置接收一第一电源模式改变请求封包,其中该第一电源模式改变请求封包请求该数据储存装置将该既定介面的一数据传输速率由一第一速率调整为一第二速率;由该控制器判断该数据储存装置的一运作状态是否为忙碌;以及于判断该数据储存装置的该运作状态为忙碌时,该控制器决定拒绝调整该数据传输速率的请求,并且将该数据传输速率维持在该第一速率而不调整为该第二速率。
附图说明
图1A是显示根据本发明的一实施例所述的电子装置范例方块图。
图1B是显示根据本发明的另一实施例所述的电子装置范例方块图。
图2是显示根据本发明的一实施例所述的设定数据传输速率的封包讯息流程。
图3是显示根据本发明的一实施例所述的一数据传输速率控制方法流程图。
图4是显示根据本发明的一实施例所述的一数据传输速率控制方法流程图。
图5是显示根据本发明的第一方面实施例所述的设定数据传输速率的封包讯息流程。
图6是显示根据本发明的第二方面实施例所述的设定数据传输速率的封包讯息流程。
符号说明
100-数据储存装置;
110A、110B-控制器;
111、ROM-只读存储器;
112、SRAM-静态随机存取存储器;
120-存储器装置;
200-主机装置;
210-处理器;
220-温度感应装置;
230-直接存储器存取装置;
240、DRAM-动态随机存取存储器;
250-信号处理装置;
251-数位信号处理器;
252-多媒体信号处理器;
253-通信单元;
300A、300B-电子装置;
PACP_PWR_req-电源模式改变请求封包;
PACP_PWR_cnf-电源模式改变确认封包;
TX-传送路径;
RX-接收路径。
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
图1A是显示根据本发明的一实施例所述的电子装置范例方块图。电子装置300A可包括数据储存装置100与主机装置200。数据储存装置100可包括控制器110A与存储器装置120。控制器110A可包括只读存储器(ROM)111与静态随机存取存储器(Static RandomAccess Memory,缩写为SRAM)112。存储器装置120可包括一或多个非挥发性存储器,例如,快闪存储器。
主机装置200可至少包括处理器210、温度感应装置220、直接存储器存取(DMA)装置230、动态随机存取存储器(Dynamic Random Access Memory,缩写为DRAM)240以及信号处理装置250。温度感应装置220用以感应环境温度,以取得一感应温度,并且将感应温度提供给处理器210。直接存储器存取装置230与DRAM240耦接至数据储存装置100,用以搬运或暂存欲写入或读取自数据储存装置100的数据。信号处理装置250可包含多个用以执行信号处理的不同装置,例如,数位信号处理器251、多媒体信号处理器252、以及一或多个通信单元253。通信单元253可提供有线或无线通信的服务。通信单元253可包括例如,一无线收发机、一天线模组以及一调制解调器(MODEM)(图未示),用以依循一既定通信规格提供有线或无线通信的服务。信号处理装置250亦可根据处理器210所存取的数据执行信号处理。处理器210用以控制主机装置200所包含的各元件的运作。
主机装置200与数据储存装置100可透过一既定介面相互连接,处理器210可透过既定介面存取数据储存装置100所储存的数据。例如,当数据储存装置100包含一或多个通用快闪存储器(Universal Flash Storage,缩写为UFS)时,主机装置200与数据储存装置100可透过UFS介面相互连接。UFS介面可包括如图1A所示的用以将指令及数据传送至数据储存装置100的一传送路径TX与用以自数据储存装置100接收指令及数据的一接收路径RX。
图1B是显示根据本发明的另一实施例所述的电子装置范例方块图。于此实施例中,SRAM 112被配置于控制器110B外部,并且耦接至控制器110B。
值得注意的是,为简化说明,图1A与图1B仅显示与本发明相关的元件,并且图1A与图1B仅显示多种可应用本发明的架构的其中两种。然而,本发明的实施并不仅限于图1A与图1B所示的元件与架构。
如上述,主机装置200与数据储存装置100可透过既定介面(例如,UFS介面)相互连接。主机装置200可传送一电源模式改变请求封包至数据储存装置100,用以设定既定介面的一数据传输速率。
图2是显示根据本发明的一实施例所述的设定数据传输速率的封包讯息流程。由主机装置端(例如,由处理器210)透过既定介面传送一电源模式改变请求封包PACP_PWR_req至数据储存装置。接收到电源模式改变请求封包PACP_PWR_req后,数据储存装置端(例如,由控制器110A或110B)透过既定介面回应一电源模式改变确认封包PACP_PWR_cnf至主机装置端。待此流程结束后,主机装置与数据储存装置便可应用电源模式改变请求封包内所指示的数据传输速率进行数据传输。
根据本发明的一实施例,数据传输速率可包含由主机装置端将数据传送至数据储存装置端的一传送速率以及由主机装置端自数据储存装置接收数据的一接收速率。电源模式改变请求封包可至少包含用以设定传送速率的一传送速率栏位TXGear,以及设定接收速率的一接收速率栏位RXGear。
根据本发明的一实施例,UFS介面的传送/接收速率由两个模式所定义,包含电源改变模式(PWM)与高速(HS)模式。PWM模式进一步定义了8个速率档位,包含PWM_G0~PWM_G7。其中PWM_G0档位定义的最大传送/接收速率为3百万位元/秒,最小传送/接收速率为0.01百万位元/秒,PWM_G1档位定义的最大传送/接收速率为9百万位元/秒,最小传送/接收速率为3百万位元/秒,PWM_G2档位定义的最大传送/接收速率为18百万位元/秒,最小传送/接收速率为6百万位元/秒,PWM_G3档位定义的最大传送/接收速率为36百万位元/秒,最小传送/接收速率为12百万位元/秒,PWM_G4档位定义的最大传送/接收速率为72百万位元/秒,最小传送/接收速率为24百万位元/秒,PWM_G5档位定义的最大传送/接收速率为144百万位元/秒,最小传送/接收速率为48百万位元/秒,PWM_G6档位定义的最大传送/接收速率为288百万位元/秒,最小传送/接收速率为96百万位元/秒,PWM_G7档位定义的最大传送/接收速率为576百万位元/秒,最小传送/接收速率为192百万位元/秒。
HS模式进一步定义了6个速率档位,包含HS-G1~HS-G3,A系列以及HS-G1~HS-G3,B系列。其中HS-G1A系列定义的传送/接收速率为1248百万位元/秒,HS-G1B系列定义的传送/接收速率为1457.6百万位元/秒,HS-G2A系列定义的传送/接收速率为2496百万位元/秒,HS-G2B系列定义的传送/接收速率为2915.2百万位元/秒,HS-G3A系列定义的传送/接收速率为4992百万位元/秒,HS-G3B系列定义的传送/接收速率为5830.4百万位元/秒。
于传统的设计中,既定介面的数据传输速率仅能由主机装置200端决定及控制。当数据储存装置100端接收到电源模式改变请求封包PACP_PWR_req后,通常必须接受主机装置200端的请求,并且将电源模式改变确认封包PACP_PWR_cnf的状态(status)栏位设定为请求接受(PWR_OK),再回传至主机装置端。
于传统的设计中,数据储存装置100仅能于能力不匹配或者装置失败而无法支援的情形拒绝主机装置200变更数据传输速率的请求。所述的能力不匹配系指数据储存装置100的软件及硬件实际上并不支援主机装置200所指定的速率档位(即,欲变更的速率档位)。于此情境之下,数据储存装置100将电源模式改变确认封包PACP_PWR_cnf的状态(status)栏位设定为错误(PWR_ERROR_CAP),再回传至主机装置端,以告知能力不匹配或者装置失败的情形。
当主机装置200判断装置失败时,可启动重新开机程序,控制数据储存装置100执行重新开机,并且重新与数据储存装置100建立连线。
然而,当数据储存装置100的能力足以匹配主机装置200所指定的速率档位,但因数据储存装置100目前的运作状态忙碌,而导致数据储存装置100于接收到电源模式改变请求封包的当下,暂时无法支援主机装置200所指定的速率档位时,于此时响应电源模式改变请求封包而调整速率并不恰当。若数据储存装置100在此情况下响应主机装置200的请求而变更数据传输速率,则有可能造成数据处理壅塞、传输停顿或甚至发生无法预期的存取错误。
举例而言,当数据储存装置100于背景执行存储器管理机制,例如,垃圾回收、数据块搬移、或抹除数据等行为时,会占用到部分的数据吞吐量及传输频宽。此时,若数据储存装置100在能力符合的情况下必须无条件接受主机装置200所发出的提高数据传输速率请求的话,则当数据储存装置100所剩余的传输频宽或数据吞吐量不足以应付较高的数据传输速率,将会造成如上述数据处理壅塞、传输停顿或甚至发生无法预期的存取错误。
举另一例而言,当数据储存装置100的静态随机存取存储器112的使用率高于一既定缓冲临界值时,代表静态随机存取存储器112的剩余空间可能不足。此时,若数据储存装置100在能力符合的情况下必须无条件接受主机装置200所发出的降低数据传输速率请求的话,则用以输出静态随机存取存储器112内所储存的数据的速率也必须随之降低,如此一来,降低了数据储存装置100的存取效能。
为了解决上述问题,以下将介绍一种数据传输速率控制方法。有别于传统技术中只要数据储存装置100能支援主机装置200所指定的速率档位便无法拒绝变更数据传输速率请求的设计,于所述的数据传输速率控制方法中,数据储存装置可根据目前的运作状态决定是否拒绝主机装置200所发出的变更数据传输速率的请求,并且可自行判断于适当的时间再将数据传输速率调整为主机装置200所指定的速率档位。以下将针对所述的数据传输速率控制方法做更详细的介绍。
图3是显示根据本发明的一实施例所述的一数据传输速率控制方法流程图,图中所示的步骤是由主机装置200的处理器210所执行。首先,当处理器210判断有调整数据传输速率的需求时,透过既定介面发出第一电源模式改变请求封包至数据储存装置100,以请求将既定介面的数据传输速率由第一速率调整为第二速率(步骤S302),其中依系统需求的不同,第一速率可高于或低于第二速率。接着,处理器210透过既定介面自数据储存装置100接收第一电源模式改变确认封包(步骤S304)。当第一电源模式改变确认封包指示出数据储存装置100拒绝调整数据传输速率时,处理器210响应该第一电源模式改变确认封包,决定将数据传输速率维持在第一速率而不调整为第二速率(步骤S306)。举例而言,当处理器210判断第一电源模式改变确认封包的一状态栏位被设定为忙碌时,处理器210决定将数据传输速率维持在第一速率而不调整为第二速率。
图4是显示根据本发明的一实施例所述的一数据传输速率控制方法流程图,图中所示的步骤是由数据储存装置100的控制器110A或110B所执行。首先,由控制器110A/110B透过既定介面自主机装置200接收第一电源模式改变请求封包,其中第一电源模式改变请求封包请求数据储存装置100将既定介面的数据传输速率由第一速率调整为第二速率(步骤S402)。接着,控制器110A/110B判断数据储存装置100的运作状态是否为忙碌(步骤S404)。若是,控制器110A/110B决定拒绝调整数据传输速率的请求,并且将数据传输速率维持在第一速率而不调整为第二速率(步骤S406)。若否,则控制器110A/110B决定接受调整数据传输速率的请求,并且将数据传输速率调整为第二速率(步骤S408)。
图5是显示根据本发明的第一方面实施例所述的设定数据传输速率的封包讯息流程。首先,由主机装置端(例如,由处理器210)透过既定介面传送一电源模式改变请求封包PACP_PWR_req至数据储存装置,以请求将既定介面的数据传输速率由第一速率调整为第二速率。举例而言,处理器210可根据温度感应装置220所感应到的温度,或者根据信号处理装置250所需要的一数据处理速率调整于主机装置200与数据储存装置100之间用以传输数据的数据传输速率。
接收到电源模式改变请求封包PACP_PWR_req后,数据储存装置端(例如,由控制器110A或110B)判断数据储存装置100目前的运作状态。
于本发明的一实施例中,数据储存装置100的运作状态可包括一正常状态与一忙碌状态。控制器110A/100B可根据数据储存装置100一缓冲区使用率(例如,静态随机存取存储器112的使用率)、存储器装置120的一剩余传输频宽以及存储器装置120的一数据吞吐量的一或多者判断该数据储存装置的该运作状态是否为忙碌。
举例而言,当数据储存装置100一缓冲区使用率(例如,静态随机存取存储器112的使用率)高于一既定缓冲临界值时(例如,静态随机存取存储器112的缓冲区总容量的一半),控制器110A/100B可判断数据储存装置100目前的运作状态为忙碌。否则,控制器110A/100B可判断数据储存装置100目前的运作状态为正常。
举另一而言,当存储器装置120于背景执行存储器管理机制,例如,垃圾回收、数据块搬移、或抹除数据等行为时,会占用到部分的数据吞吐量及传输频宽。当存储器装置120的剩余传输频宽或数据吞吐量不足时,控制器110A/100B可判断数据储存装置100目前的运作状态为忙碌。否则,控制器110A/100B可判断数据储存装置100目前的运作状态为正常。
值得注意的是,控制器110A/100B亦可动态调整上述既定缓冲临界值、剩余传输频宽临界值、或数据吞吐量临界值。举例而言,控制器110A/100B可根据静态随机存取存储器112所储存的指令序列(command queue)决定既定缓冲临界值、剩余传输频宽临界值、或数据吞吐量临界值。例如,根据指令序列中即将被执行的指令的类别。
此外,值得注意的是,以上仅为本发明的种变化实施的其中一种,本发明并不限于此。
当数据储存装置100的能力足以匹配主机装置200所指定的速率档位(即,数据储存装置100可支援主机装置200所指定的第二速率),但数据储存装置100目前的运作状态为忙碌时,控制器110A/100B可判断为无法满足此速率需求。控制器110A/100B可透过既定介面传送一电源模式改变确认封包PACP_PWR_cnf至主机装置端,以回应接收到的电源模式改变请求封包PACP_PWR_req。
于电源模式改变确认封包PACP_PWR_cnf中,控制器110A/100B将状态(status)栏位设定为忙碌(PWR_BUSY),用以拒绝主机装置200所发出的变更数据传输速率的请求。
此外,根据本发明的一实施例,控制器110A/100B可将电源模式改变请求封包所承载的资讯储存于静态随机存取存储器112中,并且持续监控数据储存装置100的运作状态。举例而言,控制器110A/100B可纪录电源模式改变请求封包PACP_PWR_req内的旗标(Flags)栏位、传送电源模式(TxMode)栏位、传送线路(TxLane)栏位、传送速率(TXGear)栏位、接收电源模式(RxMode)栏位、接收线路(RxLane)栏位、接收速率(RXGear)栏位等。然而,值得注意的是,本发明并不限于此。举例而言,控制器110A/100B亦可于静态随机存取存储器112记录自主机装置200接收到的电源模式改变请求封包PACP_PWR_req的所有内容。
当控制器110A/100B判断数据储存装置100可满足主机装置200所指定的速率时(例如,数据储存装置100的运作状态恢复为正常时),控制器110A/100B可根据静态随机存取存储器112中所储存有关电源模式改变请求封包的资讯发出另一电源模式改变请求封包至主机装置200,以请求将数据传输速率由第一速率调整为第二速率。
于本发明的另一实施例中,当控制器110A/100B判断数据储存装置100可满足主机装置200所指定的速率时,控制器110A/100B亦可透过既定介面传送另一电源模式改变确认封包PACP_PWR_cnf至主机装置端,其中此电源模式改变确认封包PACP_PWR_cnf的状态(status)栏位设定为请求接受(PWR_OK),表示数据储存装置100接受先前调整数据传输速率的请求。
如上述,根据本发明的一实施例,数据传输速率可包含由主机装置端将数据传送至数据储存装置端的一传送速率以及由主机装置端自数据储存装置接收数据的一接收速率。值得注意的是,于本发明实施例中,由主机装置或控制器110A/100B所请求的传送速率以及接收速率可为相同或不同的。
除上述于本发明第一方面实施例中,主机装置200被动地等待数据储存装置100告知其可满足主机装置200所指定的速率时,再调整数据传输速率的实施方式外,于本发明的第二方面实施例中,主机装置200亦可主动询问数据储存装置100的运作状态。
图6是显示根据本发明的第二方面实施例所述的设定数据传输速率的封包讯息流程。首先,由主机装置端(例如,由处理器210)透过既定介面传送一电源模式改变请求封包PACP_PWR_req至数据储存装置,以请求将既定介面的数据传输速率由第一速率调整为第二速率。
于接收到电源模式改变请求封包PACP_PWR_req后,数据储存装置端(例如,由控制器110A或110B)判断数据储存装置100目前的运作状态。
当数据储存装置100的能力足以匹配主机装置200所指定的速率档位(即,数据储存装置100可支援主机装置200所指定的第二速率),但数据储存装置100目前的运作状态为忙碌时,控制器110A/100B可判断为无法满足此速率需求。控制器110A/100B可透过既定介面传送一电源模式改变确认封包PACP_PWR_cnf至主机装置端,以回应接收到的电源模式改变请求封包PACP_PWR_req。
于电源模式改变确认封包PACP_PWR_cnf中,控制器110A/100B将状态(status)栏位设定为忙碌(PWR_BUSY),用以拒绝主机装置200所发出的变更数据传输速率的请求。此外,根据本发明的一实施例,控制器110A/100B可将电源模式改变请求封包所承载的资讯储存于静态随机存取存储器112中,并且持续监控数据储存装置100的运作状态。
于接收到指示拒绝的电源模式改变确认封包PACP_PWR_cnf后,主机装置200可设起一计时器。当计时器所计数的时间届满,但主机装置并未自数据储存装置100接收到任何电源模式改变请求封包PACP_PWR_req或者并未自数据储存装置100接收到一状态栏位被设定为请求接受的另一电源模式改变确认封包时,处理器210可再次发出一电源模式改变请求封包PACP_PWR_req至数据储存装置100,以请求将既定介面的数据传输速率由第一速率调整为第二速率。
此流程可于一既定期间被反复执行,或者设定可被执行一既定次数。当处理器210于既定期间内或者于执行既定次数后仍未自数据储存装置100接收到任何电源模式改变请求封包PACP_PWR_req或者未自数据储存装置100接收到一状态栏位被设定为请求接受的另一电源模式改变确认封包时,处理器210可执行一重新开机(reboot)程序,用以将该数据储存装置重新开机。举例而言,处理器210可传送一电源模式改变请求封包PACP_PWR_req,以执行一重新开机程序。于此电源模式改变请求封包PACP_PWR_req中,一线重置(LINE-RESET)的旗标会被设起,用以要求数据储存装置100执行一重新开机程序。
除了传送电源模式改变请求封包PACP_PWR_req外,处理器210亦可执行一线重置程序,将传送路径TX上的差动信号线TX_P与TX_N的电压拉低,或者执行硬件重置程序,用以控制数据储存装置100执行重新开机,并且重新与数据储存装置100建立连线。
有别于传统技术中只要数据储存装置100能支援主机装置200所指定的速率档位便无法拒绝变更数据传输速率请求的设计,于本发明的第一方面与第二方面的实施例中,数据储存装置可根据目前的运作状态决定是否拒绝主机装置200所发出的变更数据传输速率的请求,并且可自行判断于适当的时间(例如,忙碌状态解除后)再将数据传输速率调整为主机装置200所指定的速率档位。
此外,有别于传统技术中数据传输速率仅能由主机装置200端决定及控制的设计,于本发明的实施例中,数据储存装置亦可决定及控制数据传输速率,并可发出电源模式改变请求封包PACP_PWR_req请求调整数据传输速率。
如此一来,不仅可有效控置传输速率,更可避免因传输速率设定不适当或强制要求数据储存装置100调整传输速率而发生数据处理壅塞、传输停顿或无法预期的存取错误的问题。
举例而言,当数据储存装置100于背景执行存储器管理机制时,主机装置200发出提高数据传输速率的请求。此时,根据本发明的一实施例,数据储存装置100可先拒绝变更数据传输速率的请求,并且于存储器管理操作完成后,再根据上述方式接受变更数据传输速率的请求。例如,传送另一电源模式改变请求封包至主机装置200,请求将数据传输速率调整为主机装置200所指定的速率,或者传送另一电源模式改变确认封包至主机装置200,并且将状态栏位被设定为请求接受。
举另一例而言,当数据储存装置100的静态随机存取存储器112的使用率高于一既定缓冲临界值时,代表静态随机存取存储器112的剩余空间可能不足。此时,若主机装置200发出降低数据传输速率的请求,数据储存装置100可先拒绝变更数据传输速率的请求,并且于静态随机存取存储器112内所储存的数据先用原先设定的速率传送出去后,再根据上述方式接受变更数据传输速率的请求。
值得注意的是,于本发明的第一方面与第二方面的实施例中,控制器110A/100B将状态(status)栏位设定为忙碌(PWR_BUSY),用以拒绝主机装置200所发出的变更数据传输速率的请求,而非用以拒绝主机装置200所发出的进入省电模式的请求。因此,本发明的实施例中的拒绝与当主机装置于电源模式改变请求封包中要求将传送电源模式(TxMode)或接收电源模式(RxMode)设定为省电模式(hibernate)时的拒绝并不相同。
本发明说明书中"耦接"一词是泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

Claims (7)

1.一种数据储存装置,透过一既定介面耦接至一主机装置,包括:
一存储器装置;
一静态随机存取存储器;以及
一控制器,耦接该存储器装置与该静态随机存取存储器,
其中该控制器透过该既定介面自该主机装置接收请求将该既定介面的一数据传输速率由一第一速率调整为一第二速率的一第一电源模式改变请求封包;
响应该第一电源模式改变请求封包,该控制器判断该数据储存装置的一运作状态是否为忙碌,以及于判断该数据储存装置的该运作状态为忙碌时,该控制器决定拒绝调整该数据传输速率的请求,并且将该数据传输速率维持在该第一速率而不调整为该第二速率,
其中该控制器还将该第一电源模式改变请求封包的资讯储存于该静态随机存取存储器中,并且当该控制器判断该运作状态恢复为正常时,根据该资讯发出一第二电源模式改变请求封包至该主机装置,以请求将该数据传输速率由该第一速率调整为该第二速率。
2.如权利要求1所述的数据储存装置,其特征在于,该控制器还透过该既定介面传送一第一电源模式改变确认封包至该主机装置,以回应该第一电源模式改变请求封包,并且其中当该控制器判断该数据储存装置的该运作状态为忙碌时,将该第一电源模式改变确认封包的一状态栏位设定为忙碌。
3.如权利要求1所述的数据储存装置,其特征在于,该控制器根据该静态随机存取存储器的一使用率、该存储器装置的一剩余传输频宽以及该存储器装置的一数据吞吐量之一或多者判断该数据储存装置的该运作状态是否为忙碌。
4.如权利要求1所述的数据储存装置,其特征在于,该存储器装置为一通用快闪存储器。
5.一种数据传输速率控制方法,包括:
由一数据储存装置的一控制器透过一既定介面自一主机装置接收一第一电源模式改变请求封包,其中该第一电源模式改变请求封包请求该数据储存装置将该既定介面的一数据传输速率由一第一速率调整为一第二速率;
由该控制器判断该数据储存装置的一运作状态是否为忙碌;
于判断该数据储存装置的该运作状态为忙碌时,该控制器决定拒绝调整该数据传输速率的请求,并且将该数据传输速率维持在该第一速率而不调整为该第二速率;
将该第一电源模式改变请求封包的资讯储存于该数据储存装置的一静态随机存取存储器中;
由该控制器持续监控该数据储存装置的该运作状态;以及
当该运作状态恢复为正常时,由该控制器根据该资讯发出一第二电源模式改变请求封包至该主机装置,以请求将该数据传输速率由该第一速率调整为该第二速率。
6.如权利要求5所述的方法,其特征在于,还包括:
由该控制器透过该既定介面传送一第一电源模式改变确认封包至该主机装置,以回应该第一电源模式改变请求封包,并且其中当该控制器判断该数据储存装置的该运作状态为忙碌时,将该第一电源模式改变确认封包的一状态栏位设定为忙碌。
7.如权利要求5所述的方法,其特征在于,该控制器根据一静态随机存取存储器的一使用率、该存储器装置的一剩余传输频宽以及该存储器装置的一数据吞吐量之一或多者判断该数据储存装置的该运作状态是否为忙碌。
CN201710779454.7A 2016-12-07 2017-09-01 数据储存装置与数据传输速率控制方法 Active CN108170370B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662430971P 2016-12-07 2016-12-07
US62/430,971 2016-12-07
TW106112539A TWI634430B (zh) 2016-12-07 2017-04-14 資料儲存裝置與資料傳輸速率控制方法
TW106112539 2017-04-14

Publications (2)

Publication Number Publication Date
CN108170370A CN108170370A (zh) 2018-06-15
CN108170370B true CN108170370B (zh) 2021-01-26

Family

ID=62243119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710779454.7A Active CN108170370B (zh) 2016-12-07 2017-09-01 数据储存装置与数据传输速率控制方法

Country Status (2)

Country Link
US (1) US10452122B2 (zh)
CN (1) CN108170370B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108514186B (zh) 2018-05-09 2020-08-11 温州中熙进出口有限公司 一种抗菌减震鞋的生产方法
CN110719138B (zh) * 2018-07-13 2022-04-01 中兴通讯股份有限公司 传输速率确定方法、装置、传输设备及存储介质
US11231873B2 (en) * 2018-12-07 2022-01-25 Intel Corporation Apparatus and method for assigning velocities to write data
KR20220046948A (ko) 2020-10-08 2022-04-15 삼성전자주식회사 스토리지 컨트롤러, 스토리지 시스템 및 그 동작방법
KR20220059981A (ko) 2020-11-02 2022-05-11 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US20220206850A1 (en) * 2020-12-30 2022-06-30 Ati Technologies Ulc Method and apparatus for providing non-compute unit power control in integrated circuits
CN116560486A (zh) * 2022-01-27 2023-08-08 华为技术有限公司 调整存储介质的接口参数的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596580A (en) * 1993-06-04 1997-01-21 Fmc Corporation Access to transmit on a message priority basis
CN101465151A (zh) * 2007-12-17 2009-06-24 富士通微电子株式会社 存储器系统和存储器的控制方法
CN103262061A (zh) * 2010-10-15 2013-08-21 意法爱立信有限公司 用于测试具有不对称链路的互连线的电特性的方法和系统
CN104735343A (zh) * 2013-12-18 2015-06-24 佳能株式会社 数据处理装置和数据处理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX9702434A (es) 1991-03-07 1998-05-31 Masimo Corp Aparato de procesamiento de señales.
US20070081453A1 (en) 2005-10-11 2007-04-12 Via Technologies, Inc. Method and apparatus for data transmission in a wireless communication system
US20090161799A1 (en) 2007-12-21 2009-06-25 Mediatek, Inc. Decoding communication signals
US8149702B2 (en) 2007-12-21 2012-04-03 Mediatek Inc. Multi-mode bit rate processor
TWI423032B (zh) 2009-04-30 2014-01-11 Ralink Technology Corp 提升資料傳輸效能的方法
CN102156529A (zh) 2010-02-11 2011-08-17 仁宝电脑工业股份有限公司 硬盘省电方法及硬盘省电装置
US9501399B2 (en) * 2011-02-04 2016-11-22 Kabushiki Kaisha Toshiba Memory system capable of controlling wireless communication function
TWI550408B (zh) 2011-04-22 2016-09-21 晨星半導體股份有限公司 多核心電子系統及其速率調節裝置
US20130046732A1 (en) 2011-08-17 2013-02-21 Hsin-Ti Chueh Data synchronization management methods and systems
US9418035B2 (en) 2012-10-22 2016-08-16 Intel Corporation High performance interconnect physical layer
TWI507881B (zh) 2013-04-10 2015-11-11 Realtek Semiconductor Corp 通訊裝置與設置資料傳輸的方法
KR102145420B1 (ko) * 2013-07-25 2020-08-18 삼성전자주식회사 데이터 전송 속도를 변경하는 스토리지 시스템 및 그것의 데이터 전송 속도 변경 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596580A (en) * 1993-06-04 1997-01-21 Fmc Corporation Access to transmit on a message priority basis
CN101465151A (zh) * 2007-12-17 2009-06-24 富士通微电子株式会社 存储器系统和存储器的控制方法
CN103262061A (zh) * 2010-10-15 2013-08-21 意法爱立信有限公司 用于测试具有不对称链路的互连线的电特性的方法和系统
CN104735343A (zh) * 2013-12-18 2015-06-24 佳能株式会社 数据处理装置和数据处理方法

Also Published As

Publication number Publication date
US20180157309A1 (en) 2018-06-07
US10452122B2 (en) 2019-10-22
CN108170370A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108170369B (zh) 主机装置与数据传输速率控制方法
CN108170370B (zh) 数据储存装置与数据传输速率控制方法
US11176068B2 (en) Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US10182398B2 (en) Downstream device service latency reporting for power management
JP5661874B2 (ja) 電力管理のためのアイドル期間報告
US20080320243A1 (en) Memory-sharing system device
CN108628544B (zh) 电子装置与数据传输速率控制方法
US10545694B2 (en) Methods for controlling data transfer speed of a data storage device and a host device utilizing the same
US8566495B2 (en) Systems, methods and apparatus for data communication
US10671141B2 (en) Storage device and method of controlling link state thereof
US11886742B2 (en) Memory system control method for power-level state of a host via PCIe bus including receiving optimized buffer flush/fill (OBFF) messages over the PCIe bus
US8832407B2 (en) Communication device with storage function
JP2020144410A (ja) メモリコントローラ
CN115576710A (zh) 一种基板管理控制器的数据传输方法及相关装置
CN113099490B (zh) 一种基于5g通信的数据包传输方法和系统
CN110012535B (zh) 跟踪区更新周期确定方法、用户设备和网络侧设备
WO2023035113A1 (zh) 一种存储装置的控制方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant