[go: up one dir, main page]

TWI697839B - Method and computer program product and apparatus for adjusting operating frequencies - Google Patents

Method and computer program product and apparatus for adjusting operating frequencies Download PDF

Info

Publication number
TWI697839B
TWI697839B TW107129113A TW107129113A TWI697839B TW I697839 B TWI697839 B TW I697839B TW 107129113 A TW107129113 A TW 107129113A TW 107129113 A TW107129113 A TW 107129113A TW I697839 B TWI697839 B TW I697839B
Authority
TW
Taiwan
Prior art keywords
frequency
interface
flash memory
processing unit
device side
Prior art date
Application number
TW107129113A
Other languages
Chinese (zh)
Other versions
TW202009698A (en
Inventor
沈昌煒
王德凱
陳炳華
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW107129113A priority Critical patent/TWI697839B/en
Publication of TW202009698A publication Critical patent/TW202009698A/en
Application granted granted Critical
Publication of TWI697839B publication Critical patent/TWI697839B/en

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

A method for adjusting operating frequencies, performed by a processing unit of a device side, includes: collecting an interface-activity parameter; selecting one from multiple frequencies according to the interface-activity parameter; and driving a clock generator to output a clock signal at the selected frequency, thereby enabling a host access interface and/or a flash access interface to operate at a corresponding operating frequency.

Description

操作頻率調整方法及電腦程式產品及裝置 Operating frequency adjustment method and computer program product and device

本發明涉及快閃記憶裝置,特別指一種操作頻率調整方法及電腦程式產品及裝置。 The invention relates to a flash memory device, in particular to an operating frequency adjustment method and computer program products and devices.

快閃記憶裝置通常分為NOR快閃記憶裝置與NAND快閃記憶裝置。NOR快閃記憶裝置為隨機存取裝置,主機端(Host)可於位址腳位上提供任何存取NOR快閃記憶裝置的位址,並及時地從NOR快閃記憶裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃記憶裝置並非隨機存取,而是序列存取。NAND快閃記憶裝置無法像NOR快閃記憶裝置一樣,可以存取任何隨機位址,主機端反而需要寫入序列的位元組(Bytes)的值到NAND快閃記憶裝置中,用以定義請求命令(Command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(快閃記憶裝置中寫入作業的最小資料塊)或一個區塊(快閃記憶裝置中抹除作業的最小資料塊)。 Flash memory devices are generally divided into NOR flash memory devices and NAND flash memory devices. The NOR flash memory device is a random access device. The host can provide any address for accessing the NOR flash memory device on the address pin, and promptly retrieve it from the data pin of the NOR flash memory device Obtain the data stored at that address. On the contrary, NAND flash memory devices are not random access, but serial access. NAND flash memory devices cannot access any random address like NOR flash memory devices. Instead, the host side needs to write serial bytes (Bytes) into the NAND flash memory device to define the request The type of command (such as read, write, erase, etc.), and the address used for this command. The address can point to a page (the smallest data block for a write operation in the flash memory device) or a block (the smallest data block for an erase operation in the flash memory device).

省電通常是快閃記憶裝置的重要議題。傳統上,主機端可於不使用快閃記憶裝置存取資料時,控制快閃記憶裝置工作在不同的休眠模式(Sleep Mode)來節省電力消耗。快閃記憶裝置依據不同的休眠模式選擇性地開啟或關閉全部或部分電路,以達到省電的目的。然而,這樣的控制不應用在主機端及快閃記憶裝置間傳輸資料時的運行模式(Active Mode)。因此,本發明提出一種操作頻率調整方法及電腦 程式產品及裝置,可應用於主動模式中,達成更佳的省電效果。 Power saving is usually an important issue for flash memory devices. Traditionally, the host can control the flash memory device to work in different sleep modes to save power consumption when the flash memory device is not used to access data. The flash memory device selectively turns on or off all or part of the circuits according to different sleep modes to save power. However, such control does not apply to the Active Mode when transferring data between the host and the flash memory device. Therefore, the present invention provides an operating frequency adjustment method and computer Program products and devices can be used in active mode to achieve better power saving effects.

有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。 In view of this, how to reduce or eliminate the deficiencies in the above-mentioned related fields is indeed a problem to be solved.

本發明提出一種操作頻率調整方法及電腦程式產品以及裝置,該方法由裝置端的處理單元於載入並執行韌體或軟體的程式碼時實施,包含:搜集介面活動參數;根據介面活動參數從多個頻率中選擇一者;以及驅動時脈產生器以輸出選擇頻率的時脈訊號,使得主機存取介面以及/或閃存存取介面運行於相應操作頻率。 The present invention provides an operating frequency adjustment method, a computer program product, and a device. The method is implemented by a processing unit on the device side when loading and executing firmware or software code, including: collecting interface activity parameters; Select one of the two frequencies; and drive the clock generator to output a clock signal of the selected frequency, so that the host access interface and/or the flash memory access interface run at the corresponding operating frequency.

本發明另提出一種操作頻率調整的電腦程式產品,包含以下的程式碼:搜集介面活動參數;根據介面活動參數從多個頻率中選擇一者;以及驅動時脈產生器以輸出選擇頻率的時脈訊號,使得主機存取介面以及/或閃存存取介面運行於相應操作頻率。 The present invention also provides a computer program product for adjusting the operating frequency, which includes the following code: collecting interface activity parameters; selecting one from a plurality of frequencies according to the interface activity parameters; and driving a clock generator to output a clock of the selected frequency Signal to make the host access interface and/or flash memory access interface run at the corresponding operating frequency.

本發明提出一種操作頻率調整裝置,包含:時脈產生器及處理單元。處理單元搜集介面活動參數;根據介面活動參數從多個頻率中選擇一者;以及驅動時脈產生器以輸出選擇頻率的時脈訊號,使得主機存取介面以及/或閃存存取介面運行於相應操作頻率。 The present invention provides an operating frequency adjustment device, including: a clock generator and a processing unit. The processing unit collects interface activity parameters; selects one from multiple frequencies according to the interface activity parameters; and drives the clock generator to output a clock signal of the selected frequency, so that the host access interface and/or flash memory access interface runs in the corresponding Operating frequency.

介面活動參數包含主機存取介面以及/或閃存存取介面的資料傳輸資訊。 The interface activity parameters include data transmission information of the host access interface and/or flash memory access interface.

上述實施例的優點之一,裝置端可主動在運行模式(Active Mode)啟動節省電力消耗的控制機制,而不需要被動等待主機端的指揮。 One of the advantages of the above-mentioned embodiment is that the device side can actively activate the control mechanism for saving power consumption in Active Mode, without passively waiting for the command from the host side.

上述實施例的另一優點,裝置端可因應裝置端與主機端間或裝置端與儲存單元間的資料傳輸狀態,調整時脈產生器所產生要提供給處理單元以及/或存取介面的時脈訊號,進行更精細的電力消耗控制。 Another advantage of the above embodiment is that the device side can adjust the time generated by the clock generator to be provided to the processing unit and/or the access interface according to the data transmission state between the device side and the host side or between the device side and the storage unit. Pulse signal for finer power consumption control.

本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。 Other advantages of the present invention will be explained in more detail with the following description and drawings.

100:快閃記憶系統 100: Flash memory system

110:主機端 110: host side

130:裝置端 130: device side

131:實體層 131: physical layer

132:資料連結層 132: Data Link Layer

133:快閃記憶控制器 133: Flash memory controller

134:處理單元 134: Processing Unit

135:計時器 135: Timer

136_1、136_2:時脈產生器 136_1, 136_2: clock generator

137_1、137_2、138_1、138_2:寄存器 137_1, 137_2, 138_1, 138_2: register

139:閃存存取介面 139: Flash memory access interface

150:儲存單元 150: storage unit

170:通用快閃記憶儲存互聯層 170: Universal flash memory storage interconnection layer

CLK1、CLK2:時脈訊號 CLK1, CLK2: clock signal

139_0:存取子介面 139_0: Access sub-interface

150_0_0~150_0_i:儲存子單元 150_0_0~150_0_i: storage subunit

210:資料線 210: data line

230_0~230_i:晶片致能控制訊號 230_0~230_i: Chip enable control signal

S310~S350:方法步驟 S310~S350: method steps

S410~S460:方法步驟 S410~S460: method steps

500:快閃記憶系統 500: Flash memory system

530:裝置端 530: device side

535:除頻器 535: Divider

610~650:程式模塊 610~650: program module

圖1為依據本發明實施例之快閃記憶體的系統架構示意圖。 FIG. 1 is a schematic diagram of a system architecture of a flash memory according to an embodiment of the present invention.

圖2為存取子介面與多個儲存子單元的連接示意圖。 2 is a schematic diagram of the connection between the access sub-interface and a plurality of storage sub-units.

圖3為依據本發明實施例的操作頻率的調整方法流程圖。 FIG. 3 is a flowchart of a method for adjusting the operating frequency according to an embodiment of the present invention.

圖4為依據本發明實施例的週期性調整時脈產生器輸出的時脈訊號的方法流程圖。 4 is a flowchart of a method for periodically adjusting the clock signal output by a clock generator according to an embodiment of the present invention.

圖5為依據本發明另一實施例之快閃記憶體的系統架構示意圖。 FIG. 5 is a schematic diagram of a system architecture of a flash memory according to another embodiment of the present invention.

圖6為依據本發明實施例的調整操作頻率的功能模塊示意圖。 FIG. 6 is a schematic diagram of functional modules for adjusting operating frequency according to an embodiment of the present invention.

以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。 The following description is a preferred implementation manner for completing the invention, and its purpose is to describe the basic spirit of the invention, but not to limit the invention. The actual content of the invention must refer to the scope of the claims that follow.

必須了解的是,使用於本說明書中的”包含”、”包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。 It must be understood that the words "including" and "including" used in this specification are used to indicate the existence of specific technical features, values, method steps, operations, elements and/or components, but do not exclude the possibility of adding More technical features, values, method steps, job processing, components, components, or any combination of the above.

於權利要求中使用如”第一”、”第二”、”第三”等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。 Words such as "first", "second", and "third" used in the claims are used to modify the elements in the claims, and are not used to indicate that there is a priority, prerequisite relationship, or an element Prior to another component, or the chronological order of execution of method steps, is only used to distinguish components with the same name.

必須了解的是,當元件描述為”連接”或”耦接"至另一元件時,可以是直接連結、或耦接至其他元件,可能出現中間元件。相反地,當元件描述為”直接連接”或”直接耦接”至另一元件時,其中不存在任何中間元件。使用來描述元件之間關係的其他語詞也可類似方式解讀,例如”介於”相對於”直接介於”,或者是”鄰接”相對於”直接鄰接”等等。 It must be understood that when an element is described as being “connected” or “coupled” to another element, it can be directly connected or coupled to other elements, and intermediate elements may appear. Conversely, when an element is described as being "directly connected" or "directly coupled" to another element, there are no intervening elements. Other terms used to describe the relationship between elements can also be interpreted in a similar manner, such as "between" and "directly between", or "adjacent" as opposed to "directly adjacent" and so on.

參考圖1。快閃記憶系統架構100包含主機端(host)110、裝置端(device)130及儲存單元150。此系統架構可實施於個人電腦、筆記型電腦(Laptop PC)、平板電腦、手機、數位相機、數位攝影機等電子 產品。裝置端130可包含快閃記憶控制器133。主機端110及裝置端130間可以快閃記憶通訊協定(例如,通用快閃記憶儲存,Universal Flash Storage UFS)彼此通信。快閃記憶控制器133通過資料連結層132及實體層131電性連接(耦接)主機端110。快閃記憶控制器133可通過直接記憶體存取控制器(未顯示於圖1)從資料緩衝區(未顯示於圖1)讀取從儲存單元150取得的使用者資料,並通過驅動資料連結層132及實體層131依序敲出給主機端110。快閃記憶控制器133可通過直接記憶體存取控制器(未顯示於圖1)將主機端110欲寫入的使用者資料儲存至資料緩衝區。處理單元134可使用多種方式實施,例如使用通用硬體,如單一處理器、具平行處理能力的多處理器、圖形處理器、輕簡型通用目的處理器(Lightweight General-Purpose Processor)或其他具運算能力的處理器,並且在執行指令(Instructions)、宏碼(Macrocode)或微碼(Microcode)時,提供之後描述的功能。快閃記憶控制器133可為UFS控制器,透過UFS通訊協定與主機端110進行溝通。雖然本發明實施例以UFS通訊協定舉例,但本發明也可應用到其他的通訊協定,例如通用序列匯流排(Universal Serial Bus,USB)、先進技術附著(advanced technology attachment,ATA)、序列先進技術附著(serial advanced technology attachment,SATA)、快速周邊元件互聯(peripheral component interconnect express,PCI-E)或其他介面的通訊協定。 Refer to Figure 1. The flash memory system architecture 100 includes a host 110, a device 130, and a storage unit 150. This system architecture can be implemented in personal computers, laptop PCs, tablets, mobile phones, digital cameras, digital cameras and other electronics product. The device 130 may include a flash memory controller 133. The host 110 and the device 130 can communicate with each other with a flash memory communication protocol (for example, Universal Flash Storage UFS). The flash memory controller 133 is electrically connected (coupled) to the host terminal 110 through the data link layer 132 and the physical layer 131. The flash memory controller 133 can read the user data obtained from the storage unit 150 from the data buffer (not shown in FIG. 1) through the direct memory access controller (not shown in FIG. 1), and connect it through the drive data The layer 132 and the physical layer 131 are knocked out to the host 110 in sequence. The flash memory controller 133 can store the user data to be written by the host terminal 110 into the data buffer through a direct memory access controller (not shown in FIG. 1). The processing unit 134 can be implemented in a variety of ways, such as the use of general-purpose hardware, such as a single processor, multi-processors with parallel processing capabilities, graphics processors, lightweight general-purpose processors (Lightweight General-Purpose Processor) or other tools. A processor with arithmetic capability, and provides the functions described later when executing instructions, macrocodes or microcodes. The flash memory controller 133 may be a UFS controller, which communicates with the host terminal 110 through the UFS communication protocol. Although the UFS communication protocol is used as an example in the embodiment of the present invention, the present invention can also be applied to other communication protocols, such as Universal Serial Bus (USB), advanced technology attachment (ATA), advanced serial technology Attach (serial advanced technology attachment, SATA), rapid peripheral component interconnect express (PCI-E) or other interface communication protocols.

裝置端130另包含閃存存取介面139,使得處理單元134可通過閃存存取介面139與儲存單元150溝通,詳細來說,可採用雙倍資料率(Double Data Rate DDR)通訊協定,例如,開放NAND快閃(Open NAND Flash Interface ONFI)、雙倍資料率開關(DDR Toggle)或其他介面。處理單元134透過閃存存取介面139寫入使用者資料到儲存單元150中的指定位址(目的位址),以及從儲存單元150中的指定位址(來源位址)讀取使用者資料。閃存存取介面139使用數個電子訊號來 協調處理單元134與儲存單元150間的資料與命令傳遞,包含資料線(data line)、時脈訊號(clock signal)與控制訊號(control signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞晶片致能(Chip Enable CE)、位址提取致能(Address Latch Enable ALE)、命令提取致能(Command Latch Enable CLE)、寫入致能(Write Enable WE)等控制訊號。 The device side 130 further includes a flash memory access interface 139, so that the processing unit 134 can communicate with the storage unit 150 through the flash memory access interface 139. In detail, a Double Data Rate (DDR) communication protocol can be used, for example, open NAND flash (Open NAND Flash Interface ONFI), double data rate switch (DDR Toggle) or other interfaces. The processing unit 134 writes user data to the designated address (destination address) in the storage unit 150 through the flash memory access interface 139, and reads the user data from the designated address (source address) in the storage unit 150. Flash memory access interface 139 uses several electronic signals to The data and command transmission between the coordinating processing unit 134 and the storage unit 150 includes a data line, a clock signal, and a control signal. The data line can be used to transfer commands, addresses, read and write data; the control signal line can be used to transfer Chip Enable CE, Address Latch Enable ALE, Command Extraction Enable ( Control signals such as Command Latch Enable CLE) and Write Enable WE.

儲存單元150可包含多個儲存子單元,每個儲存子單元,各自使用關聯的存取子介面與處理單元134進行溝通。一或多個儲存子單元可封裝在一個晶粒(Die)之中。閃存存取介面139可包含j個存取子介面,每一個存取子介面連接i個儲存子單元。存取子介面及其後連接的儲存子單元又可統稱為輸出入通道,並可以邏輯單元編號(Logic Unit Number LUN)識別。換句話說,i個儲存子單元共享一個存取子介面。例如,裝置端130包含4個輸出入且每一個輸出入連接4個儲存子單元時,裝置端130可存取16個儲存子單元。處理單元134可驅動存取子介面中之一者,從指定的儲存子單元讀取,或寫入資料至指定的儲存子單元。每個儲存子單元擁有獨立的晶片致能(CE)控制訊號。換句話說,當欲對指定的儲存子單元進行資料讀取或寫入時,需要驅動關聯的存取子介面來致能此儲存子單元的晶片致能控制訊號。參考圖2。處理單元134可透過存取子介面139_0使用獨立的晶片致能控制訊號230_0_0至230_0_i從連接的儲存子單元150_0_0至150_0_i中選擇出其中一者,接著,透過共享的資料線210從選擇出的儲存子單元的指定位址讀取資料,或傳送欲寫入指定位址的使用者資料至選擇出的儲存子單元。 The storage unit 150 may include a plurality of storage sub-units, each of which uses an associated access sub-interface to communicate with the processing unit 134. One or more storage sub-units can be packaged in a die. The flash memory access interface 139 may include j access sub-interfaces, and each access sub-interface is connected to i storage sub-units. The access sub-interface and the subsequent storage sub-units can also be collectively referred to as input and output channels, and can be identified by the logic unit number (Logic Unit Number LUN). In other words, i storage sub-units share one access sub-interface. For example, when the device 130 includes 4 I/Os and each I/O is connected to 4 storage sub-units, the device 130 can access 16 storage sub-units. The processing unit 134 can drive to access one of the sub-interfaces, read from the designated storage sub-unit, or write data to the designated storage sub-unit. Each storage sub-unit has an independent chip enable (CE) control signal. In other words, when data is to be read or written to a designated storage sub-unit, the associated access sub-interface needs to be driven to enable the chip enable control signal of this storage sub-unit. Refer to Figure 2. The processing unit 134 can use independent chip enable control signals 230_0_0 to 230_0_i to select one of the connected storage subunits 150_0_0 to 150_0_i through the access sub-interface 139_0, and then use the shared data line 210 from the selected storage Read data from the specified address of the subunit, or send user data to be written to the specified address to the selected storage subunit.

參考圖1。裝置端130另包含時脈產生器(Clock Generator)136_1。時脈產生器136_1是產生時脈訊號CLK1的電路,輸出時脈訊號CLK1給處理單元134,用來同步韌體指令、宏碼或微碼等的提取、解碼、執行及回寫。於一些實施方式中,當主機端110預期會長時間不存 取儲存單元150時,可發送命令給裝置端130,讓裝置端130進入省電模式。例如,主機端110可發送進入休眠模式(Sleep Mode)的原語(primitive)DME_HIBERNATE_ENTER給裝置端130。當快閃記憶控制器133接收到原語DME_HIBERNATE_ENTER,可關閉時脈產生器136_1,用以節省電力消耗。或者,主機端110可發送啟動停止單元(Start Stop Unit SSU)命令給裝置端130,強迫裝置端130進入休眠狀態(Sleep State)。當快閃記憶控制器133接收到進入休眠狀態的啟動停止單元命令後,阻斷時脈產生器136_1產生的時脈訊號CLK1,使得時脈訊號CLK1無法提供給處理單元134。原語DME_HIBERNATE_ENTER及啟動停止單元命令的資料格式及發送細節可參考發表於2016年6月的通用快閃記憶儲存標準的版本2.1。當處理單元134沒被時脈訊號CLK1驅動時,無法運行,使得電力消耗可以節約。於此需注意的是,當處理單元134沒被時脈訊號CLK1驅動時,不能執行任何韌體或軟體指令、宏碼或微碼。然而,在運行模式(Active Mode)中,主機端110並沒有任何可讓裝置端130節省電力消耗的控制機制。 Refer to Figure 1. The device end 130 further includes a clock generator (Clock Generator) 136_1. The clock generator 136_1 is a circuit that generates a clock signal CLK1, and outputs the clock signal CLK1 to the processing unit 134 for synchronizing the extraction, decoding, execution, and writing of firmware commands, macrocode or microcode, etc. In some embodiments, when the host 110 is expected to be out of storage for a long time When the storage unit 150 is fetched, a command can be sent to the device terminal 130 to make the device terminal 130 enter the power saving mode. For example, the host terminal 110 may send the primitive DME_HIBERNATE_ENTER to enter the sleep mode (Sleep Mode) to the device terminal 130. When the flash memory controller 133 receives the primitive DME_HIBERNATE_ENTER, the clock generator 136_1 can be turned off to save power consumption. Alternatively, the host terminal 110 may send a Start Stop Unit (SSU) command to the device terminal 130 to force the device terminal 130 to enter the sleep state (Sleep State). When the flash memory controller 133 receives the start-stop unit command to enter the sleep state, it blocks the clock signal CLK1 generated by the clock generator 136_1, so that the clock signal CLK1 cannot be provided to the processing unit 134. For the data format and sending details of the primitive DME_HIBERNATE_ENTER and the start-stop unit command, please refer to the version 2.1 of the general flash memory storage standard published in June 2016. When the processing unit 134 is not driven by the clock signal CLK1, it cannot operate, so that power consumption can be saved. It should be noted here that when the processing unit 134 is not driven by the clock signal CLK1, it cannot execute any firmware or software commands, macrocode or microcode. However, in the Active Mode, the host 110 does not have any control mechanism that allows the device 130 to save power consumption.

為解決此缺陷,本發明實施例提出一種在運行模式中的省電機制,由裝置端130主動控制,可因應裝置端130與主機端110間或裝置端130與儲存單元150間的資料傳輸狀態,調整時脈產生器所產生要提供給處理單元以及/或存取介面的時脈訊號。例如,當兩裝置間只需要較低傳輸率時,可讓時脈產生器產生較低頻率的時脈訊號,用以節省電力消耗。 To solve this defect, the embodiment of the present invention proposes a power saving mechanism in the operating mode, which is actively controlled by the device end 130, which can respond to the data transmission status between the device end 130 and the host end 110 or between the device end 130 and the storage unit 150 To adjust the clock signal generated by the clock generator to be provided to the processing unit and/or the access interface. For example, when only a lower transmission rate is required between two devices, the clock generator can be used to generate a lower frequency clock signal to save power consumption.

參考圖1。裝置端130另包含時脈產生器136_2。時脈產生器136_2是一種產生時脈訊號CLK2的電路,輸出時脈訊號CLK2給通用快閃記憶儲存互聯層170(UFS InterConnect Layer-UIC,其包含實體層131、資料連結層132及快閃記憶控制器133)及閃存存取介面139,用來同步資料傳收的操作。通用快閃記憶儲存互聯層170可稱為主機存取 介面。時脈產生器136_1及136_2分別依據寄存器138_1及138_2的設定調整輸出時脈訊號CLK1及CLK2的頻率。 Refer to Figure 1. The device end 130 further includes a clock generator 136_2. The clock generator 136_2 is a circuit that generates the clock signal CLK2, and outputs the clock signal CLK2 to the universal flash memory storage interconnect layer 170 (UFS InterConnect Layer-UIC, which includes the physical layer 131, the data link layer 132 and the flash memory). The controller 133) and the flash memory access interface 139 are used to synchronize data transmission and reception operations. The universal flash memory storage interconnection layer 170 can be called host access interface. The clock generators 136_1 and 136_2 adjust the frequency of the output clock signals CLK1 and CLK2 according to the settings of the registers 138_1 and 138_2, respectively.

為了提供更好的省電效果,裝置端130可分別為處理單元134及閃存存取介面139預設多個頻率。例如,輸出至處理單元134的時脈訊號CLK1的頻率可為500、250、125MHz等,而輸出至存取介面(包含通用快閃記憶儲存互聯層170及閃存存取介面139)的時脈訊號CLK2的頻率可為300、150、75MHz等。參考圖3。圖3所示的方法可由處理單元134於載入並執行特定韌體或軟體指令、宏碼或微碼時實施。處理單元134首先搜集介面活動參數,包含通用快閃記憶儲存互聯層170以及/或閃存存取介面139的資料傳輸相關資訊(步驟S310)。例如,介面活動參數可指出裝置端130是否進入閒置狀態(idle state)、閃存存取介面139是否用來進行背景操作,以及通用快閃記憶儲存互聯層170的資料傳輸模式等資訊。處理單元134依據介面活動參數分別為處理單元134及存取介面從上述多個頻率中選擇出一者(步驟S330),以及驅動時脈產生器136_1以選擇頻率輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以選擇頻率輸出時脈訊號CLK2給存取介面,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於指定的操作頻率(步驟S350)。於步驟S350的一些實施例中,處理單元134可只調整時脈產生器136_2輸出的時脈訊號CLK2的頻率,並讓脈產生器136_1輸出的時脈訊號CLK1的頻率固定在一個較高的水準。 In order to provide a better power saving effect, the device 130 can preset multiple frequencies for the processing unit 134 and the flash memory access interface 139 respectively. For example, the frequency of the clock signal CLK1 output to the processing unit 134 can be 500, 250, 125 MHz, etc., and the clock signal output to the access interface (including the general flash memory storage interconnection layer 170 and the flash memory access interface 139) The frequency of CLK2 can be 300, 150, 75 MHz and so on. Refer to Figure 3. The method shown in FIG. 3 can be implemented by the processing unit 134 when loading and executing specific firmware or software commands, macrocodes or microcodes. The processing unit 134 first collects interface activity parameters, including data transmission related information of the universal flash memory storage interconnection layer 170 and/or the flash memory access interface 139 (step S310). For example, the interface activity parameters can indicate whether the device 130 enters an idle state, whether the flash memory access interface 139 is used for background operations, and the data transmission mode of the general flash memory storage interconnect layer 170. The processing unit 134 selects one of the above-mentioned frequencies for the processing unit 134 and the access interface according to the interface activity parameters (step S330), and drives the clock generator 136_1 to output the clock signal CLK1 to the processing unit 134 at the selected frequency And the clock generator 136_2 is driven to output the clock signal CLK2 to the access interface at the selected frequency, so that the processing unit 134, the universal flash memory storage interconnection layer 170, and the flash memory access interface 139 can run at a specified operating frequency (step S350) . In some embodiments of step S350, the processing unit 134 may only adjust the frequency of the clock signal CLK2 output by the clock generator 136_2, and fix the frequency of the clock signal CLK1 output by the pulse generator 136_1 at a higher level .

參考圖4。圖4所示的方法可由處理單元134於載入並執行特定韌體或軟體指令、宏碼或微碼時實施。處理單元134可週期性地執行一個迴圈(步驟S410至S460),並且於每個回合中,搜集介面活動參數,依據介面活動參數決定時脈產生器136_1及136_2輸出的時脈訊號CLK1及CLK2的頻率,並且驅動時脈產生器136_1及136_2以決定的頻率輸出時脈訊號CLK1及CLK2。 Refer to Figure 4. The method shown in FIG. 4 can be implemented by the processing unit 134 when loading and executing specific firmware or software commands, macrocodes or microcodes. The processing unit 134 may periodically execute a loop (steps S410 to S460), and in each round, collect interface activity parameters, and determine the clock signals CLK1 and CLK2 output by the clock generators 136_1 and 136_2 according to the interface activity parameters And drive the clock generators 136_1 and 136_2 to output clock signals CLK1 and CLK2 at the determined frequency.

裝置端130另包含計時器(timer)135。處理單元134可於初始或每個回合結束時,設定計時器135重新開始計數一段指定時間,例如2、3或5毫秒(milliseconds ms)等。每當計時器135計數到指定時間時,發出中斷給處理單元134,使得處理單元134可啟動新一回合的操作頻率調整(步驟S410)。 The device end 130 further includes a timer 135. The processing unit 134 can set the timer 135 to restart counting for a specified period of time, such as 2, 3, or 5 milliseconds (milliseconds ms), at the beginning or at the end of each round. Whenever the timer 135 counts to the designated time, an interrupt is issued to the processing unit 134, so that the processing unit 134 can start a new round of operation frequency adjustment (step S410).

於一些實施例,時脈訊號CLK1及CLK2的頻率可依據搜集的介面活動參數調整為符合三個水平中的一個。範例的頻率範圍如表1所示:

Figure 107129113-A0305-02-0010-1
In some embodiments, the frequencies of the clock signals CLK1 and CLK2 can be adjusted to meet one of the three levels according to the collected interface activity parameters. The frequency range of the example is shown in Table 1:
Figure 107129113-A0305-02-0010-1

當處理單元134決定裝置端130需要運行在高速時,可驅動時脈產生器136_1以400~600MHz間的一個頻率輸出時脈訊號CLK1並且驅動時脈產生器136_2以250~350MHz間的一個頻率輸出時脈訊號CLK2。當決定裝置端130需要運行在中速時,可驅動時脈產生器136_1以200~300MHz間的一個頻率輸出時脈訊號CLK1並且驅動時脈產生器136_2以125~175MHz間的一個頻率輸出時脈訊號CLK2。當決定裝置端130需要運行在低速時,可驅動時脈產生器136_1以100~150MHz間的一個頻率輸出時脈訊號CLK1並且驅動時脈產生器136_2以62.5~87.5MHz間的一個頻率輸出時脈訊號CLK2。裝置端130的製造商可於出廠前可將時脈訊號CLK1及CLK2的三個水平的預設頻率儲存至非揮發記憶體(未顯示於圖1),使得處理單元134可於執行操作頻率調整方法時使用。 When the processing unit 134 determines that the device terminal 130 needs to run at a high speed, it can drive the clock generator 136_1 to output the clock signal CLK1 at a frequency between 400 and 600 MHz and drive the clock generator 136_2 to output at a frequency between 250 and 350 MHz The clock signal CLK2. When it is determined that the device terminal 130 needs to run at a medium speed, the clock generator 136_1 can be driven to output the clock signal CLK1 at a frequency between 200 and 300 MHz and the clock generator 136_2 can be driven to output the clock at a frequency between 125 and 175 MHz. The signal CLK2. When it is determined that the device terminal 130 needs to run at a low speed, the clock generator 136_1 can be driven to output the clock signal CLK1 at a frequency between 100 and 150 MHz and the clock generator 136_2 can be driven to output the clock at a frequency between 62.5 and 87.5 MHz. The signal CLK2. The manufacturer of the device 130 can store the three-level preset frequencies of the clock signals CLK1 and CLK2 in a non-volatile memory (not shown in FIG. 1) before leaving the factory, so that the processing unit 134 can perform operating frequency adjustment Method to use.

當處理單元134偵測到計時器135發出的中斷時(步驟S410),可先判斷裝置端130是否需要執行背景操作(步驟S420)。寄存器137_2可以1 位元鎖存裝置端130是否需要執行背景操作的資訊,例如,”1”代表需要;”0”代表不需要。處理單元134可讀取寄存器137_2的值來判斷裝置端130是否需要執行背景操作。背景操作並不是受到主機端110指示而發起,而是裝置端130主動發起的資料存取,可為垃圾回收程序(garbage collection GC process)、損耗平均程序(wear leveling process)、讀取回收程序(read reclaim process)或讀取更新程序(read reflash process)。 When the processing unit 134 detects the interrupt issued by the timer 135 (step S410), it can first determine whether the device 130 needs to perform a background operation (step S420). Register 137_2 can be 1 The bit latch device 130 needs to perform background operation information, for example, "1" means required; "0" means not required. The processing unit 134 can read the value of the register 137_2 to determine whether the device terminal 130 needs to perform a background operation. The background operation is not initiated by the instruction of the host side 110, but the data access initiated by the device side 130, which can be garbage collection process (garbage collection GC process), wear leveling process (wear leveling process), read recovery process ( read reclaim process) or read update process (read reflash process).

例如,經過多次的存取後,一個實體頁面可能包含有效及無效區段(又稱為過期區段),其中,有效區段儲存有效的使用者資料,無效區段儲存無效的(舊的)使用者資料。當偵測到儲存單元150的可用空間不足時,處理單元134可設定寄存器(可稱作背景操作寄存器,background-operation register)137_2,指出裝置端130需要執行背景操作(如垃圾回收程序)。於垃圾回收程序中,處理單元134驅動閃存存取介面139,重新寫入蒐集起來的有效的使用者資料至閒置區塊或主動區塊的空實體頁面,使得這些包含無效的使用者資料的資料區塊可變更成為閒置區塊,於抹除後,即可提供給其他使用者資料儲存。 For example, after multiple accesses, a physical page may contain valid and invalid sections (also called expired sections), where the valid section stores valid user data, and the invalid section stores invalid (old ) User data. When it is detected that the available space of the storage unit 150 is insufficient, the processing unit 134 can set a register (which can be referred to as a background-operation register) 137_2 to indicate that the device side 130 needs to perform a background operation (such as a garbage collection procedure). In the garbage collection process, the processing unit 134 drives the flash memory access interface 139 to rewrite the collected valid user data to the idle block or the empty physical page of the active block, so that these data contain invalid user data Blocks can be changed to idle blocks, and after erasing, they can be provided to other users for data storage.

又例如,由於經過一定次數的抹除(例如,500次、1000次或5000次),儲存單元150中的實體區塊便會因為不良的資料保存(Data Retention)能力而被列為壞塊而不再使用。為了延長實體區塊的服務壽命,處理單元134持續監督每個實體區塊的抹除次數。當一個資料區塊的抹除次數超過抹除閥值時,處理單元134可設定寄存器137_2,指出裝置端130需要執行背景操作(如損耗平均程序)。於損耗平均程序中,處理單元134驅動閃存存取介面139讀取這個資料區塊(來源區塊)中的使用者資料。接著,處理單元134選擇一個抹除次數最少的閒置區塊作為目的區塊,並且驅動閃存存取介面139寫入之前的讀取的使用者資料寫至選擇的目的區塊中的可用實體頁面。 For another example, due to a certain number of erasing (for example, 500, 1000, or 5000 times), the physical blocks in the storage unit 150 will be classified as bad blocks due to poor data retention capabilities. No longer use. In order to extend the service life of the physical block, the processing unit 134 continuously monitors the number of erasures of each physical block. When the number of erasures of a data block exceeds the erasure threshold, the processing unit 134 can set the register 137_2 to indicate that the device end 130 needs to perform a background operation (such as a loss averaging procedure). In the wear averaging process, the processing unit 134 drives the flash memory access interface 139 to read the user data in this data block (source block). Then, the processing unit 134 selects an idle block with the least number of erasures as the target block, and drives the flash access interface 139 to write the previously read user data to the available physical page in the selected target block.

此外,當讀取回收程序或讀取更新程序的啟動條件滿足時,處理單元134同樣可設定寄存器137_2,指出裝置端130需要執行背景操作(如讀取回收程序或讀取更新程序)。 In addition, when the start condition of the read recovery program or read update program is met, the processing unit 134 can also set the register 137_2 to indicate that the device end 130 needs to perform background operations (such as reading the recovery program or read the update program).

由於背景操作需要執行一系列的命令,從儲存單元150讀取資料及寫入資料到儲存單元150,因此處理單元134、閃存存取介面139及儲存單元150以越快的操作頻率運行越好。當判斷裝置端130需要執行背景操作時(步驟S420中”是”的路徑),驅動時脈產生器136_1以可選擇的最高頻率輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以可選擇的最高頻率輸出時脈訊號CLK2給通用快閃記憶儲存互聯層170及閃存存取介面139,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於最高的操作頻率(步驟S430)。舉例來說,處理單元134可設定寄存器138_1成為如表1所示符合CLK1第三水平(也就是400~600MHz間)的值,使得時脈產生器136_1依據設定值以相應頻率輸出時脈訊號CLK1給處理單元134;以及設定寄存器138_2成為如表1所示符合CLK2第三水平(也就是250~350MHz間)的值,使得時脈產生器136_2依據設定值以相應頻率輸出時脈訊號CLK2給通用快閃記憶儲存互聯層170及閃存存取介面139。於此需注意的是,執行背景操作期間,同樣可穿插執行主機端110發出的存取命令。 Since background operations need to execute a series of commands to read data from the storage unit 150 and write data to the storage unit 150, the processing unit 134, the flash memory access interface 139, and the storage unit 150 should run at a faster operating frequency. When it is determined that the device terminal 130 needs to perform a background operation (the "yes" path in step S420), the clock generator 136_1 is driven to output the clock signal CLK1 to the processing unit 134 at the highest selectable frequency and the clock generator 136_2 is driven to The selectable highest frequency output clock signal CLK2 is sent to the universal flash memory storage interconnection layer 170 and the flash memory access interface 139, so that the processing unit 134, the universal flash memory storage interconnection layer 170 and the flash memory access interface 139 can operate at the highest Operating frequency (step S430). For example, the processing unit 134 may set the register 138_1 to a value that meets the third level of CLK1 (that is, between 400 and 600 MHz) as shown in Table 1, so that the clock generator 136_1 outputs the clock signal CLK1 at a corresponding frequency according to the set value To the processing unit 134; and set the register 138_2 to a value that meets the third level of CLK2 (that is, between 250 and 350 MHz) as shown in Table 1, so that the clock generator 136_2 outputs the clock signal CLK2 to the general purpose at the corresponding frequency according to the set value The flash memory storage interconnection layer 170 and the flash memory access interface 139. It should be noted that during the background operation, the access command issued by the host terminal 110 can also be interspersed.

針對不需要執行背景操作的情況,處理單元134可因應裝置端130及主機端110間的資料傳輸模式,讓處理單元134、閃存存取介面139及儲存單元150運行於匹配的操作頻率。當判斷裝置端130不需要執行背景操作時(步驟S420中”否”的路徑),處理單元134取得裝置端130的運行狀態及裝置端130及主機端110間的資料傳輸模式(步驟S440)。 For situations where background operations are not required, the processing unit 134 can make the processing unit 134, the flash memory access interface 139, and the storage unit 150 run at a matching operating frequency in response to the data transmission mode between the device 130 and the host 110. When it is determined that the device end 130 does not need to perform background operations (the "No" path in step S420), the processing unit 134 obtains the running status of the device end 130 and the data transmission mode between the device end 130 and the host end 110 (step S440).

UFS介面可運行於脈波寬度調變檔(PWM,Pulse-Width Modulation gear)或高速檔(HS,High-Speed gear)。脈波寬度調變檔可為 0.5Gbps(Gigabits per second)或更低速,而高速檔可為1.4Gbps或更高速。脈波寬度調變檔可稱作低速檔。例如,表2列舉UFS規範所定義不同高速檔(HS-GEARs)的資料速率:

Figure 107129113-A0305-02-0013-2
The UFS interface can run in pulse width modulation gear (PWM, Pulse-Width Modulation gear) or high-speed gear (HS, High-Speed gear). The pulse width modulation gear can be 0.5Gbps (Gigabits per second) or lower, and the high-speed gear can be 1.4Gbps or higher. The pulse width modulation gear can be called the low-speed gear. For example, Table 2 lists the data rates of different high-speed gears (HS-GEARs) defined by the UFS specification:
Figure 107129113-A0305-02-0013-2

高速檔HS-G1的A級速率為1248Mbps,而高速檔HS-G1的B級速率為1248Mbps,高速檔HS-G2的A級速率為2496Mbps,而高速檔HS-G2的B級速率為2915.2Mbps,依此類推。表3列舉UFS規範所定義不同脈波寬度調變檔(PWMS-GEARs)的資料速率:

Figure 107129113-A0305-02-0013-3
The high-speed HS-G1 has a Class A rate of 1248Mbps, while the high-speed HS-G1 has a Class B rate of 1248Mbps, the high-speed HS-G2 has a Class A rate of 2496Mbps, and the high-speed HS-G2 has a Class B rate of 2915.2Mbps. ,So on and so forth. Table 3 lists the data rates of different pulse width modulation files (PWMS-GEARs) defined by the UFS specification:
Figure 107129113-A0305-02-0013-3

低速檔PWM-G0的資料速率介於0.01至3Mbps之間,低速檔PWM-G1的資料速率介於3至9Mbps之間,低速檔PWM-G2的資料速率介於6至18Mbps之間,依此類推。 The data rate of low-speed PWM-G0 is between 0.01 and 3Mbps, the data rate of low-speed PWM-G1 is between 3 and 9Mbps, and the data rate of low-speed PWM-G2 is between 6 and 18Mbps, and so on analogy.

裝置端130可配置寄存器137_1,用以儲存裝置端130及主機端110間的資料傳輸模式。寄存器137_1可鎖存至少5個位元的值,其中2個 位元(又可稱為模式寄存器)表示傳輸模式(transmission mode),另外3個位元(又可稱為檔位寄存器)表示檔位(gear)。例如,模式寄存器儲存”0b00”、”0b01”、”0b10”及”0b11”分別代表UFS介面運行於脈波寬度調變檔、自動脈波寬度調變檔(PWM-auto gear)、高速檔及自動高速檔(HS-auto gear)。檔位寄存器儲存”0b000”至”0b111”中之一者分別代表第0至第7檔中之相應一者。主機端110可發送模式改變命令給裝置端130,用以組態裝置端130及主機端110間的資料傳輸模式。當快閃記憶控制器133接收到模式改變命令,根據模式改變命令的指示設定模式寄存器及檔位寄存器。表4描述不同資料傳輸模式的模式寄存器及檔位寄存器的設定範例:

Figure 107129113-A0305-02-0014-4
The device 130 can be configured with a register 137_1 to store the data transmission mode between the device 130 and the host 110. The register 137_1 can latch the value of at least 5 bits, of which 2 bits (also known as the mode register) represent the transmission mode (transmission mode), and the other 3 bits (also known as the gear register) represent the gear Bit (gear). For example, the mode register stores "0b00", "0b01", "0b10" and "0b11" respectively representing that the UFS interface is operating in pulse width modulation gear, PWM-auto gear, high-speed gear and HS-auto gear. The gear register stores one of "0b000" to "0b111" respectively representing the corresponding one of the 0th to 7th gears. The host terminal 110 may send a mode change command to the device terminal 130 to configure the data transmission mode between the device terminal 130 and the host terminal 110. When the flash memory controller 133 receives the mode change command, it sets the mode register and the gear register according to the instructions of the mode change command. Table 4 describes the setting examples of the mode register and gear register of different data transmission modes:
Figure 107129113-A0305-02-0014-4

當模式改變命令指示裝置端130運行於脈波寬度調變的第0檔,快閃記憶控制器133分別設定模式寄存器及檔位寄存器為”0b00”及”0b000”。當模式改變命令指示裝置端130運行於自動脈波寬度調變的第0檔,快閃記憶控制器133分別設定模式寄存器及檔位寄存器為”0b01”及”0b000”。脈波寬度調變或自動脈波寬度調變的其餘檔位 設定可依此類推,不再贅述以求簡潔。當模式改變命令指示裝置端130運行於高速的第1檔,快閃記憶控制器133分別設定模式寄存器及檔位寄存器為”0b10”及”0b001”。當模式改變命令指示裝置端130運行於自動高速的第1檔,快閃記憶控制器133分別設定模式寄存器及檔位寄存器為”0b11”及”0b001”。高速或自動高速的其餘檔位設定可依此類推,不再贅述以求簡潔。 When the mode change command instructs the device terminal 130 to operate in the 0th gear of pulse width modulation, the flash memory controller 133 sets the mode register and gear register to "0b00" and "0b000" respectively. When the mode change command instructs the device terminal 130 to operate in the 0th gear from the arterial wave width modulation, the flash memory controller 133 sets the mode register and the gear register to "0b01" and "0b000" respectively. Pulse wave width modulation or other gears from arterial wave width modulation The settings can be deduced by analogy, and will not be repeated for the sake of brevity. When the mode change command instructs the device terminal 130 to operate in the first high-speed gear, the flash memory controller 133 sets the mode register and gear register to "0b10" and "0b001" respectively. When the mode change command instructs the device terminal 130 to operate in the first gear of the automatic high speed, the flash memory controller 133 sets the mode register and the gear register to "0b11" and "0b001" respectively. The rest of the gear settings for high-speed or auto-high-speed can be deduced by analogy and will not be repeated for the sake of simplicity.

當裝置端130運行於自動脈波寬度調變檔檔位或自動高速檔,並且於預設一段時間沒有與主機端110間進行任何資料傳輸時,裝置端130會自動進入閒置狀態(idle state),用以關閉部分電路,節省電力消耗。裝置端130可更設置一個寄存器(未顯示於圖1),耦接處理單元134,用以鎖存裝置端130是否進入閒置狀態的資訊。 When the device 130 is running at the auto-arterial wave width modulation gear or automatic high-speed gear, and there is no data transmission with the host 110 for a preset period of time, the device 130 will automatically enter the idle state. , Used to close some circuits and save power consumption. The device terminal 130 may further be provided with a register (not shown in FIG. 1), coupled to the processing unit 134, for latching information on whether the device terminal 130 enters the idle state.

處理單元134取得裝置端130的運行狀態及裝置端130及主機端110間的資料傳輸模式後(步驟S440),據此從多個頻率中選擇一者(步驟S450)。參考表1所示的頻率水平的劃分。處理單元134可依據寄存器137_1的內容使用以下規則決定處理單元134、閃存存取介面139及儲存單元150的頻率:(1)當裝置端130進入閒置狀態時,不管資料傳輸模式為何,選擇符合第一水平的頻率;(2)當裝置端130沒有進入閒置狀態且資料傳輸模式為脈波寬度調變或自動脈波寬度調變,不管檔位為何,選擇符合第一水平的頻率;(3)當裝置端130沒有進入閒置狀態且資料傳輸模式為高速或自動高速的第1檔,選擇符合第二水平的頻率;以及(4)當裝置端130沒有進入閒置狀態且資料傳輸模式為高速或自動高速的第2檔或第3檔,選擇符合第三水平的頻率。 After the processing unit 134 obtains the operating status of the device 130 and the data transmission mode between the device 130 and the host 110 (step S440), it selects one of multiple frequencies accordingly (step S450). Refer to the division of frequency levels shown in Table 1. The processing unit 134 can determine the frequency of the processing unit 134, the flash access interface 139, and the storage unit 150 according to the contents of the register 137_1 using the following rules: (1) When the device 130 enters the idle state, regardless of the data transmission mode, select the A horizontal frequency; (2) When the device 130 is not in an idle state and the data transmission mode is pulse wave width modulation or auto-arterial wave width modulation, select the frequency that meets the first level regardless of the gear position; (3) When the device 130 does not enter the idle state and the data transmission mode is high-speed or automatic high-speed first gear, select the frequency that meets the second level; and (4) when the device 130 does not enter the idle state and the data transmission mode is high-speed or automatic For high-speed second gear or third gear, select the frequency that meets the third level.

當處理單元134依據資料傳輸模式從多個頻率中選擇一者後(步驟S450),驅動時脈產生器136_1以選擇頻率輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以選擇頻率輸出時脈訊號 CLK2給通用快閃記憶儲存互聯層170及閃存存取介面139,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於指定的操作頻率(步驟S460)。舉例來說,當資料傳輸模式為高速或自動高速的第1檔,處理單元134可設定寄存器138_1成為如表1所示符合CLK1第二水平(也就是200~300MHz間)的值,使得時脈產生器136_1依據設定值以相應頻率輸出時脈訊號CLK1給處理單元134;以及設定寄存器138_2成為如表1所示符合CLK2第二水平(也就是125~175MHz間)的值,使得時脈產生器136_2依據設定值以相應頻率輸出時脈訊號CLK2給通用快閃記憶儲存互聯層170及閃存存取介面139。於步驟S460的一些實施例中,處理單元134可只調整時脈產生器136_2輸出的時脈訊號CLK2的頻率,而讓脈產生器136_1輸出的時脈訊號CLK1的頻率保持在特定水準。 After the processing unit 134 selects one of the multiple frequencies according to the data transmission mode (step S450), the clock generator 136_1 is driven to output the clock signal CLK1 to the processing unit 134 at the selected frequency and the clock generator 136_2 is driven to select the frequency Output clock signal CLK2 gives the universal flash memory storage interconnection layer 170 and the flash memory access interface 139 so that the processing unit 134, the universal flash memory storage interconnection layer 170 and the flash memory access interface 139 can run at a specified operating frequency (step S460). For example, when the data transmission mode is high-speed or automatic high-speed first gear, the processing unit 134 can set the register 138_1 to a value that meets the second level of CLK1 (that is, between 200 and 300 MHz) as shown in Table 1, so that the clock The generator 136_1 outputs the clock signal CLK1 to the processing unit 134 at the corresponding frequency according to the set value; and sets the register 138_2 to a value corresponding to the second level of CLK2 (that is, between 125 and 175 MHz) as shown in Table 1, so that the clock generator 136_2 outputs a clock signal CLK2 to the general flash memory storage interconnection layer 170 and the flash memory access interface 139 at a corresponding frequency according to the set value. In some embodiments of step S460, the processing unit 134 may only adjust the frequency of the clock signal CLK2 output by the clock generator 136_2, while keeping the frequency of the clock signal CLK1 output by the pulse generator 136_1 at a specific level.

圖3中步驟S310所述的介面活動參數可包含寄存器137_1及137_2中全部或部分的值。 The interface activity parameters described in step S310 in FIG. 3 may include all or part of the values in the registers 137_1 and 137_2.

圖1所示的快閃記憶系統架構100的裝置端130可進一步修改,讓處理單元134只控制一個時脈產生器,就可讓處理器134及存取介面(包含通用快閃記憶儲存互聯層170及閃存存取介面139)運行於不同的操作頻率。參考圖5。修改後的裝置端530可設置除頻器535,耦接於時脈產生器136_1、通用快閃記憶儲存互聯層170及閃存存取介面139之間,用以從時脈產生器136_1輸入一個頻率的時脈訊號CLK1,產生1/2、3/5或2/3頻率的時脈訊號CLK2,並輸出時脈訊號CLK2至通用快閃記憶儲存互聯層170及閃存存取介面139。因應修改後的裝置端530,如圖4所示步驟S430可修改為,處理單元134設定寄存器138_1成為如表1所示符合CLK1第三水平(也就是400~600MHz間)的值,驅動時脈產生器136_1依據設定值以相應頻率輸出時脈訊號CLK1給處理單元134及除頻器535,使得除頻器535產生並輸出2/5、1/2或2/3頻率的時脈訊號CLK2給通用快閃記憶儲存互聯層170及閃 存存取介面139。此外,如圖4所示步驟S460可修改為,驅動時脈產生器136_1以選擇頻率輸出時脈訊號CLK1給處理單元134及除頻器535,使得除頻器535產生並輸出1/2、3/5或2/3選擇頻率的時脈訊號CLK2給通用快閃記憶儲存互聯層170及閃存存取介面139。 The device end 130 of the flash memory system architecture 100 shown in FIG. 1 can be further modified to allow the processing unit 134 to control only one clock generator to allow the processor 134 and the access interface (including the general flash memory storage interconnection layer) 170 and flash memory access interface 139) run at different operating frequencies. Refer to Figure 5. The modified device end 530 can be provided with a frequency divider 535, which is coupled between the clock generator 136_1, the universal flash memory storage interconnection layer 170 and the flash memory access interface 139 for inputting a frequency from the clock generator 136_1 The clock signal CLK1 generates a clock signal CLK2 with a frequency of 1/2, 3/5 or 2/3, and outputs the clock signal CLK2 to the general flash memory storage interconnection layer 170 and the flash memory access interface 139. In response to the modified device end 530, as shown in FIG. 4, step S430 can be modified to: the processing unit 134 sets the register 138_1 to a value corresponding to the third level of CLK1 (that is, between 400 and 600 MHz) as shown in Table 1, and drives the clock The generator 136_1 outputs the clock signal CLK1 to the processing unit 134 and the frequency divider 535 at a corresponding frequency according to the set value, so that the frequency divider 535 generates and outputs a clock signal CLK2 with a frequency of 2/5, 1/2 or 2/3 to Universal flash memory storage interconnection layer 170 and flash Deposit and access interface 139. In addition, as shown in FIG. 4, step S460 can be modified to drive the clock generator 136_1 to output the clock signal CLK1 to the processing unit 134 and the frequency divider 535 at the selected frequency, so that the frequency divider 535 generates and outputs 1/2, 3 The clock signal CLK2 with the selected frequency of /5 or 2/3 is sent to the universal flash memory storage interconnection layer 170 and the flash memory access interface 139.

於此需注意的是,當處理單元134中更包含調整時脈訊號CLK1的電路時,時脈訊號CLK1的頻率並不一定等於處理單元134運行時的操作頻率。當主機存取介面170或閃存存取介面139中更包含調整時脈訊號CLK2的電路時,時脈訊號CLK2的輸出頻率並不一定等於主機存取介面170或閃存存取介面139運行時的操作頻率。但所屬技術領域人員可理解,時脈訊號CLK1的輸出頻率變快會導致處理單元134運行時的操作頻率加快,反之亦然。時脈訊號CLK2的輸出頻率變快會導致主機存取介面170及閃存存取介面139運行時的操作頻率加快,反之亦然。 It should be noted here that when the processing unit 134 further includes a circuit for adjusting the clock signal CLK1, the frequency of the clock signal CLK1 is not necessarily equal to the operating frequency of the processing unit 134 during operation. When the host access interface 170 or the flash memory access interface 139 further includes a circuit for adjusting the clock signal CLK2, the output frequency of the clock signal CLK2 is not necessarily equal to the operation of the host access interface 170 or the flash memory access interface 139 during operation frequency. However, those skilled in the art can understand that an increase in the output frequency of the clock signal CLK1 will result in an increase in the operating frequency of the processing unit 134 during operation, and vice versa. The faster output frequency of the clock signal CLK2 will result in faster operating frequencies of the host access interface 170 and the flash memory access interface 139, and vice versa.

以下提出數個使用案例,說明如何應用如上所述的操作頻率調整裝置及方法。 Several use cases are presented below to illustrate how to apply the above-mentioned operating frequency adjustment device and method.

於第一個使用案例,假設裝置端130不執行背景操作:一開始,主機端110發送模式改變命令給裝置端130,指示裝置端130運行於自動高速的特定檔位。當快閃記憶控制器133接收到模式改變命令後,設定寄存器137_1,用以鎖存此資料傳輸模式的資訊。此時,裝置端130進入運行狀態(active state)。接著,處理單元134讀取寄存器137_1(步驟S440),依據此資料傳輸模式驅動時脈產生器136_1以相應頻率(例如符合CLK1第二或第三水平的頻率)輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以相應頻率(例如符合CLK2第二或第三水平的頻率)輸出時脈訊號CLK2給存取介面,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於期望的操作頻率(步驟S450至S460)。接著,於預設一段時間沒有與主機端110間進行任何資料傳輸,裝置端130自動進入閒置狀 態。處理單元134偵測到進入閒置狀態(步驟S440),驅動時脈產生器136_1以符合CLK1第一水平的頻率輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以符合CLK2第一水平的頻率輸出時脈訊號CLK2給存取介面,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於較慢的操作頻率,從而節省電力消耗(步驟S450至S460)。 In the first use case, it is assumed that the device terminal 130 does not perform background operations: at the beginning, the host terminal 110 sends a mode change command to the device terminal 130, instructing the device terminal 130 to operate in a specific gear of automatic high speed. When the flash memory controller 133 receives the mode change command, the register 137_1 is set to latch the information of the data transmission mode. At this time, the device end 130 enters an active state. Then, the processing unit 134 reads the register 137_1 (step S440), and drives the clock generator 136_1 according to the data transmission mode to output the clock signal CLK1 to the processing unit 134 at a corresponding frequency (for example, a frequency that matches the second or third level of CLK1) In addition, the clock generator 136_2 is driven to output the clock signal CLK2 to the access interface at a corresponding frequency (for example, a frequency corresponding to the second or third level of CLK2), so that the processing unit 134, the general flash memory storage interconnection layer 170 and the flash memory are accessed The interface 139 can run at a desired operating frequency (steps S450 to S460). Then, if there is no data transmission with the host 110 for a preset period of time, the device 130 automatically enters the idle state. state. The processing unit 134 detects that it enters the idle state (step S440), drives the clock generator 136_1 to output the clock signal CLK1 to the processing unit 134 at a frequency that matches the first level of CLK1, and drives the clock generator 136_2 to meet the first level of CLK2 The clock signal CLK2 is output to the access interface, so that the processing unit 134, the universal flash memory storage interconnection layer 170, and the flash memory access interface 139 can run at a slower operating frequency, thereby saving power consumption (steps S450 to S460) .

於第二個使用案例,假設裝置端130不執行背景操作:一開始,主機端110發送模式改變命令給裝置端130,指示裝置端130運行於高速或自動高速的特定檔位。當快閃記憶控制器133接收到模式改變命令後,設定寄存器137_1,用以鎖存此資料傳輸模式的資訊。接著,處理單元134讀取寄存器137_1(步驟S440),依據資料傳輸模式驅動時脈產生器136_1以相應頻率(例如符合CLK1第二或第三水平的頻率)輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以相應頻率(例如符合CLK2第二或第三水平的頻率)輸出時脈訊號CLK2給存取介面,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於期望的操作頻率(步驟S450至S460)。接著,主機端110發送模式改變命令給裝置端130,指示裝置端130運行於脈波寬度調變或自動脈波寬度調變的特定檔位(亦即是改變後資料傳輸模式)。當快閃記憶控制器133接收到模式改變命令後,設定寄存器137_1,用以鎖存改變後資料傳輸模式的資訊。接著,處理單元134讀取寄存器137_1(步驟S440),依據改變後資料傳輸模式驅動時脈產生器136_1以符合CLK1第一水平的頻率輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以符合CLK2第一水平的頻率輸出時脈訊號CLK2給存取介面,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於較慢的操作頻率,從而節省電力消耗(步驟S450至S460)。 In the second use case, it is assumed that the device terminal 130 does not perform background operations: at the beginning, the host terminal 110 sends a mode change command to the device terminal 130, instructing the device terminal 130 to operate in a specific gear of high speed or automatic high speed. When the flash memory controller 133 receives the mode change command, the register 137_1 is set to latch the information of the data transmission mode. Next, the processing unit 134 reads the register 137_1 (step S440), and drives the clock generator 136_1 according to the data transmission mode to output the clock signal CLK1 to the processing unit 134 at a corresponding frequency (for example, a frequency that matches the second or third level of CLK1). The driving clock generator 136_2 outputs the clock signal CLK2 to the access interface at a corresponding frequency (for example, a frequency that corresponds to the second or third level of CLK2), so that the processing unit 134, the universal flash memory storage interconnection layer 170, and the flash memory access interface 139 can run at the desired operating frequency (steps S450 to S460). Then, the host terminal 110 sends a mode change command to the device terminal 130, instructing the device terminal 130 to operate in a specific gear of pulse wave width modulation or self-arterial wave width modulation (that is, the changed data transmission mode). When the flash memory controller 133 receives the mode change command, the register 137_1 is set to latch the information of the data transmission mode after the change. Next, the processing unit 134 reads the register 137_1 (step S440), and drives the clock generator 136_1 according to the changed data transmission mode to output the clock signal CLK1 to the processing unit 134 and drives the clock generator 136_2 at a frequency consistent with the first level of CLK1 The clock signal CLK2 is output to the access interface at a frequency consistent with the first level of CLK2, so that the processing unit 134, the universal flash memory storage interconnection layer 170, and the flash memory access interface 139 can run at a slower operating frequency, thereby saving power consumption (Steps S450 to S460).

於第三個使用案例,假設裝置端130不執行背景操作:一開始,主 機端110發送模式改變命令給裝置端130,指示裝置端130運行於高速或自動高速的第2或3檔。當快閃記憶控制器133接收到模式改變命令後,設定寄存器137_1,用以鎖存此資料傳輸模式的資訊。接著,處理單元134讀取寄存器137_1(步驟S440),依據資料傳輸模式驅動時脈產生器136_1以符合CLK1第三水平的頻率輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以符合CLK2第三水平的頻率輸出時脈訊號CLK2給存取介面,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於期望的操作頻率(步驟S450至S460)。接著,主機端110發送模式改變命令給裝置端130,指示裝置端130運行於高速或自動高速的第1檔(亦即是改變後資料傳輸模式)。當快閃記憶控制器133接收到模式改變命令後,設定寄存器137_1,用以鎖存改變後資料傳輸模式的資訊。接著,處理單元134讀取寄存器137_1(步驟S440),依據改變後資料傳輸模式驅動時脈產生器136_1以符合CLK1第二水平的頻率輸出時脈訊號CLK1給處理單元134並且驅動時脈產生器136_2以符合CLK2第二水平的頻率輸出時脈訊號CLK2給存取介面,使得處理單元134、通用快閃記憶儲存互聯層170及閃存存取介面139可運行於較慢的操作頻率,從而節省電力消耗(步驟S450至S460)。 In the third use case, assume that the device 130 does not perform background operations: in the beginning, the main The machine terminal 110 sends a mode change command to the device terminal 130, instructing the device terminal 130 to operate in the second or third gear of high speed or automatic high speed. When the flash memory controller 133 receives the mode change command, the register 137_1 is set to latch the information of the data transmission mode. Next, the processing unit 134 reads the register 137_1 (step S440), drives the clock generator 136_1 according to the data transmission mode to output the clock signal CLK1 to the processing unit 134 at a frequency that matches the third level of CLK1, and drives the clock generator 136_2 to match The third level frequency of CLK2 outputs the clock signal CLK2 to the access interface, so that the processing unit 134, the universal flash memory storage interconnection layer 170 and the flash memory access interface 139 can run at the desired operating frequency (steps S450 to S460). Then, the host terminal 110 sends a mode change command to the device terminal 130, instructing the device terminal 130 to operate in the first gear of high speed or automatic high speed (that is, the changed data transmission mode). When the flash memory controller 133 receives the mode change command, the register 137_1 is set to latch the information of the data transmission mode after the change. Next, the processing unit 134 reads the register 137_1 (step S440), and drives the clock generator 136_1 according to the changed data transmission mode to output the clock signal CLK1 to the processing unit 134 and drives the clock generator 136_2 at a frequency that matches the second level of CLK1 The clock signal CLK2 is output to the access interface at a frequency that matches the second level of CLK2, so that the processing unit 134, the universal flash memory storage interconnection layer 170, and the flash memory access interface 139 can run at a slower operating frequency, thereby saving power consumption (Steps S450 to S460).

處理單元134所執行操作頻率調整的方法步驟,可用一或多個功能模塊組成的電腦程式產品來實現。這些功能模塊存儲於非揮發性儲存裝置,並且可被處理單元134於特定時間點載入並執行。參考圖6。處理單元134執行中斷管理模塊(Interrupt Handler Module)610以完成步驟S310的部分操作及步驟S410的操作,執行背景操作偵測模塊620以完成步驟S420的操作,執行裝置端運行狀態及資料傳輸模式偵測模塊630以完成步驟S310的部分操作及步驟S440的操作,執行頻率選擇模塊640以完成步驟S330及步驟S450的操作,以及執行時脈產生器驅動模塊650以完成步驟S350、步驟S430及S460的操作。 背景操作偵測模塊620可依據偵測結果呼叫裝置端運行狀態及資料傳輸模式偵測模塊630及時脈產生器驅動模塊650中之一者。背景操作偵測模塊620及頻率選擇模塊640可使用參數來傳送選擇的頻率給時脈產生器驅動模塊650。 The method steps for adjusting the operating frequency performed by the processing unit 134 can be implemented by a computer program product composed of one or more functional modules. These functional modules are stored in a non-volatile storage device, and can be loaded and executed by the processing unit 134 at a specific time. Refer to Figure 6. The processing unit 134 executes the Interrupt Handler Module (Interrupt Handler Module) 610 to complete part of the operation of step S310 and the operation of step S410, executes the background operation detection module 620 to complete the operation of step S420, and executes device-side operation status and data transmission mode detection The test module 630 is to complete part of the operation of step S310 and the operation of step S440, the frequency selection module 640 is executed to complete the operations of step S330 and step S450, and the clock generator driving module 650 is executed to complete the operations of steps S350, S430 and S460. operating. The background operation detection module 620 can call one of the operating state of the device and the data transmission mode detection module 630 and the clock generator driving module 650 according to the detection result. The background operation detection module 620 and the frequency selection module 640 can use parameters to transmit the selected frequency to the clock generator driving module 650.

本發明所述的方法中的全部或部分步驟可以電腦程式實現,例如電腦的作業系統、電腦中特定硬體的驅動程式、或軟體應用程式。此外,也可實現於如上所示的其他類型程式。所屬技術領域具有通常知識者可將本發明實施例的方法撰寫成電腦程式,為求簡潔不再加以描述。依據本發明實施例方法實施的電腦程式.可儲存於適當的電腦可讀取資料載具,例如DVD、CD-ROM、USB碟、硬碟,亦可置於可通過網路(例如,網際網路,或其他適當載具)存取的網路伺服器。 All or part of the steps in the method of the present invention can be implemented by a computer program, such as a computer operating system, a specific hardware driver in the computer, or a software application program. In addition, it can also be implemented in other types of programs as shown above. Those with ordinary knowledge in the technical field can write the method of the embodiments of the present invention into a computer program, which will not be described for brevity. The computer program implemented according to the method of the embodiment of the present invention can be stored in an appropriate computer readable data carrier, such as DVD, CD-ROM, USB disk, hard disk, and can also be placed on the Internet (for example, the Internet Or other appropriate vehicle).

雖然圖1及5中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖3及4的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。 Although FIGS. 1 and 5 include the above-described components, it is not excluded that, without violating the spirit of the invention, more other additional components can be used to achieve better technical effects. In addition, although the flowcharts in Figures 3 and 4 are executed in the specified order, those skilled in the art can modify the order of these steps under the premise of achieving the same effect without violating the spirit of the invention. Therefore, this The invention is not limited to using only the sequence described above. In addition, those skilled in the art can also integrate several steps into one step, or in addition to these steps, perform more steps sequentially or in parallel, and the present invention is not limited thereby.

雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。 Although the present invention is described using the above embodiments, it should be noted that these descriptions are not intended to limit the present invention. On the contrary, this invention covers modifications and similar arrangements that are obvious to those skilled in the art. Therefore, the scope of applied claims must be interpreted in the broadest way to include all obvious modifications and similar settings.

S310~S350:方法步驟 S310~S350: method steps

Claims (19)

一種電腦程式產品,用以由一裝置端的一處理單元載入並執行,包含以下的程式碼:搜集一介面活動參數,其中該介面活動參數包含一主機存取介面以及/或一閃存存取介面的資料傳輸資訊;根據該介面活動參數從多個第一頻率中選擇一者;以及驅動一第一時脈產生器以輸出該選擇的第一頻率的一第一時脈訊號,使得該主機存取介面以及/或該閃存存取介面運行於一第一操作頻率,其中,當該介面活動參數指出該裝置端需要執行一背景操作時,該選擇的第一頻率為該第一頻率中的最大者。 A computer program product, which is loaded and executed by a processing unit on a device side, and includes the following code: collecting an interface activity parameter, wherein the interface activity parameter includes a host access interface and/or a flash memory access interface Data transmission information; select one from a plurality of first frequencies according to the interface activity parameters; and drive a first clock generator to output a first clock signal of the selected first frequency, so that the host stores The fetch interface and/or the flash memory access interface runs at a first operating frequency, wherein, when the interface activity parameter indicates that the device side needs to perform a background operation, the selected first frequency is the largest of the first frequencies By. 如請求項1所述的電腦程式產品,包含以下的程式碼:根據該介面活動參數從多個第二頻率中選擇一者;以及驅動一第二時脈產生器以輸出該選擇的第二頻率的一第二時脈訊號,使得該處理單元運行於一第二操作頻率。 The computer program product according to claim 1, comprising the following code: selecting one from a plurality of second frequencies according to the interface activity parameter; and driving a second clock generator to output the selected second frequency A second clock signal of, so that the processing unit runs at a second operating frequency. 如請求項1所述的電腦程式產品,其中,該選擇的第一頻率的該第一時脈訊號被輸出至該處理單元,使得該處理單元運行於一第二操作頻率:該選擇的第一頻率的該第一時脈訊號被輸出至一除頻器;以及該除頻器輸出一第二頻率的一第二時脈訊號給該主機存取介面以及/或該閃存存取介面,使得該主機存取介面以及/或該閃存存取介面運行於該第一操作頻率。 The computer program product of claim 1, wherein the first clock signal of the selected first frequency is output to the processing unit, so that the processing unit runs at a second operating frequency: the selected first frequency The first clock signal of the frequency is output to a frequency divider; and the frequency divider outputs a second clock signal of a second frequency to the host access interface and/or the flash memory access interface, so that the The host access interface and/or the flash memory access interface run at the first operating frequency. 如請求項1所述的電腦程式產品,其中,該背景操作並不是受到一主機端指示而發起,而是該裝置端主動發起的資料存取。 The computer program product according to claim 1, wherein the background operation is not initiated by an instruction from a host, but data access initiated by the device. 如請求項1所述的電腦程式產品,其中,當該介面活動參數指出該裝置端不需要執行背景操作以及該裝置端進入一閒置狀態時,該選擇的第一頻率為該第一頻率中的最小者。 The computer program product according to claim 1, wherein, when the interface activity parameter indicates that the device side does not need to perform background operations and the device side enters an idle state, the selected first frequency is the first frequency The smallest. 如請求項1所述的電腦程式產品,其中,當該介面活動參數指出該裝置端不需要執行背景操作,該裝置端沒有進入一閒置狀態,以及一主機端及該裝置端的資料傳輸模式為脈波寬度調變或自動脈波寬度調變時,該選擇的第一頻率為該第一頻率中的最小者。 The computer program product of claim 1, wherein when the interface activity parameter indicates that the device side does not need to perform background operations, the device side does not enter an idle state, and the data transmission mode of a host side and the device side is pulse In the case of wave width modulation or self-arterial wave width modulation, the selected first frequency is the smallest one of the first frequencies. 如請求項1所述的電腦程式產品,其中,當該介面活動參數指出該裝置端不需要執行背景操作,該裝置端沒有進入一閒置狀態,以及一主機端及該裝置端的資料傳輸模式為高速或自動高速的第2檔或第3檔時,該選擇的第一頻率為該第一頻率中的最大者。 The computer program product of claim 1, wherein, when the interface activity parameter indicates that the device side does not need to perform background operations, the device side does not enter an idle state, and the data transmission mode of a host side and the device side is high-speed Or in the second or third gear of automatic high speed, the selected first frequency is the largest of the first frequencies. 如請求項1所述的電腦程式產品,其中,當該介面活動參數指出該裝置端不需要執行背景操作,該裝置端沒有進入一閒置狀態,以及一主機端及該裝置端的資料傳輸模式為高速或自動高速的第1檔時,該選擇的第一頻率低於該第一頻率中的最大者。 The computer program product of claim 1, wherein, when the interface activity parameter indicates that the device side does not need to perform background operations, the device side does not enter an idle state, and the data transmission mode of a host side and the device side is high-speed Or in the first gear of automatic high speed, the selected first frequency is lower than the largest of the first frequencies. 一種操作頻率調整方法,由一裝置端的一處理單元執行,包含:搜集一介面活動參數,其中該介面活動參數包含一主機存取介面以及/或一閃存存取介面的資料傳輸資訊;根據該介面活動參數從多個第一頻率中選擇一者;以及驅動一第一時脈產生器以輸出該選擇的第一頻率的一第一時脈訊號,使得該主機存取介面以及/或該閃存存取介面運行於一第一操作頻率,其中,當該介面活動參數指出該裝置端需要執行一背景操作時,該選擇的第一頻率為該第一頻率中的最大者。 An operating frequency adjustment method, executed by a processing unit on a device side, includes: collecting an interface activity parameter, wherein the interface activity parameter includes data transmission information of a host access interface and/or a flash memory access interface; according to the interface The activity parameter selects one from a plurality of first frequencies; and drives a first clock generator to output a first clock signal of the selected first frequency, so that the host access interface and/or the flash memory The interface is selected to run at a first operating frequency, wherein when the interface activity parameter indicates that the device needs to perform a background operation, the selected first frequency is the largest of the first frequencies. 一種操作頻率調整裝置,包含:一第一時脈產生器;以及一處理單元,耦接該第一時脈產生器,搜集一介面活動參數,其中該介面活動參數包含一主機存取介面以及/或一閃存存取介面的資料傳輸資訊;根據該介面活動參數從多個第一頻率中選擇一者;以及驅動該第一時脈產生器以輸出該選擇的第一頻率的一 第一時脈訊號,使得該主機存取介面以及/或該閃存存取介面運行於一第一操作頻率,其中,當該介面活動參數指出該裝置端需要執行一背景操作時,該選擇的第一頻率為該第一頻率中的最大者。 An operating frequency adjustment device, comprising: a first clock generator; and a processing unit coupled to the first clock generator to collect an interface activity parameter, wherein the interface activity parameter includes a host access interface and/ Or data transmission information of a flash memory access interface; select one from a plurality of first frequencies according to the interface activity parameter; and drive the first clock generator to output a selected first frequency The first clock signal causes the host access interface and/or the flash memory access interface to run at a first operating frequency, wherein when the interface activity parameter indicates that the device needs to perform a background operation, the selected second A frequency is the largest of the first frequencies. 如請求項10所述的操作頻率調整裝置,包含:一第二時脈產生器,耦接該處理單元,其中,該處理單元根據該介面活動參數從多個第二頻率中選擇一者;驅動該第二時脈產生器以輸出該選擇的第二頻率的一第二時脈訊號,使得該處理單元運行於一第二操作頻率。 The operating frequency adjusting device according to claim 10, comprising: a second clock generator coupled to the processing unit, wherein the processing unit selects one of a plurality of second frequencies according to the interface activity parameter; and drives The second clock generator outputs a second clock signal of the selected second frequency, so that the processing unit runs at a second operating frequency. 如請求項10所述的操作頻率調整裝置,包含:一除頻器,耦接該第一時脈產生器,其中,該選擇的第一頻率的該第一時脈訊號被輸出至該處理單元,使得該處理單元運行於一第二操作頻率:該選擇的第一頻率的該第一時脈訊號被輸出至該除頻器;以及該除頻器輸出一第二頻率的一第二時脈訊號給該主機存取介面以及/或該閃存存取介面,使得該主機存取介面以及/或該閃存存取介面依據該第二頻率的該第二時脈訊號運行於該第一操作頻率。 The operating frequency adjustment device according to claim 10, comprising: a frequency divider coupled to the first clock generator, wherein the first clock signal of the selected first frequency is output to the processing unit , Making the processing unit run at a second operating frequency: the first clock signal of the selected first frequency is output to the frequency divider; and the frequency divider outputs a second clock of a second frequency Signals are given to the host access interface and/or the flash memory access interface, so that the host access interface and/or the flash memory access interface operate at the first operating frequency according to the second clock signal of the second frequency. 如請求項12所述的操作頻率調整裝置,其中,該第二頻率為該第一頻率的1/2、3/5或2/3。 The operating frequency adjustment device according to claim 12, wherein the second frequency is 1/2, 3/5 or 2/3 of the first frequency. 如請求項10所述的操作頻率調整裝置,其中,該選擇的第一頻率介於250~350MHz之間。 The operating frequency adjustment device according to claim 10, wherein the selected first frequency is between 250 and 350 MHz. 如請求項14所述的操作頻率調整裝置,其中,該背景操作為一垃圾回收程序、一損耗平均程序、一讀取回收程序或一讀取更新程序。 The operating frequency adjustment device according to claim 14, wherein the background operation is a garbage collection process, a wear leveling process, a read recovery process, or a read update process. 如請求項10所述的操作頻率調整裝置,其中,當該介面活動參數指出該裝置端不需要執行背景操作以及該裝置端進入一閒置狀態時,該選擇的第一頻率為該第一頻率中的最小者,並且介於62.5~87.5MHz之間。 The operating frequency adjustment device of claim 10, wherein, when the interface activity parameter indicates that the device side does not need to perform background operations and the device side enters an idle state, the selected first frequency is the first frequency The smallest one, and between 62.5~87.5MHz. 如請求項10所述的操作頻率調整裝置,其中,當該介面活動參數指出該裝置端不需要執行背景操作,該裝置端沒有進入一閒置狀態,以及一主機端及該裝置端的資料傳輸模式為脈波寬度調變或自動脈波寬度調變時,該選擇的第一頻率為該第一頻率中的最小者。 The operating frequency adjustment device of claim 10, wherein when the interface activity parameter indicates that the device side does not need to perform background operations, the device side does not enter an idle state, and the data transmission mode of a host side and the device side is In pulse wave width modulation or auto-arterial wave width modulation, the selected first frequency is the smallest one of the first frequencies. 如請求項10所述的操作頻率調整裝置,其中,當該介面活動參數指出該裝置端不需要執行背景操作,該裝置端沒有進入一閒置狀態,以及一主機端及該裝置端的資料傳輸模式為高速或自動高速的第2檔或第3檔時,該選擇的第一頻率為該第一頻率中的最大者,並且介於250~350MHz之間。 The operating frequency adjustment device of claim 10, wherein when the interface activity parameter indicates that the device side does not need to perform background operations, the device side does not enter an idle state, and the data transmission mode of a host side and the device side is In high-speed or automatic high-speed second gear or third gear, the selected first frequency is the largest of the first frequencies and is between 250-350 MHz. 如請求項10所述的操作頻率調整裝置,其中,當該介面活動參數指出該裝置端不需要執行背景操作,該裝置端沒有進入一閒置狀態,以及一主機端及該裝置端的資料傳輸模式為高速或自動高速的第1檔時,該選擇的第一頻率低於該第一頻率中的最大者,並且介於125~175MHz之間。 The operating frequency adjustment device of claim 10, wherein when the interface activity parameter indicates that the device side does not need to perform background operations, the device side does not enter an idle state, and the data transmission mode of a host side and the device side is In the first gear of high-speed or automatic high-speed, the selected first frequency is lower than the largest of the first frequencies and is between 125 and 175 MHz.
TW107129113A 2018-08-21 2018-08-21 Method and computer program product and apparatus for adjusting operating frequencies TWI697839B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107129113A TWI697839B (en) 2018-08-21 2018-08-21 Method and computer program product and apparatus for adjusting operating frequencies

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107129113A TWI697839B (en) 2018-08-21 2018-08-21 Method and computer program product and apparatus for adjusting operating frequencies

Publications (2)

Publication Number Publication Date
TW202009698A TW202009698A (en) 2020-03-01
TWI697839B true TWI697839B (en) 2020-07-01

Family

ID=70766322

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107129113A TWI697839B (en) 2018-08-21 2018-08-21 Method and computer program product and apparatus for adjusting operating frequencies

Country Status (1)

Country Link
TW (1) TWI697839B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI768543B (en) * 2020-11-13 2022-06-21 新唐科技股份有限公司 Integrated circuit and in-system programming circuit thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264845A1 (en) * 2010-04-27 2011-10-27 Samsung Electronics Co., Ltd Nonvolatile memory device having operation mode change function and operation mode change method
US20150084675A1 (en) * 2011-12-12 2015-03-26 Dong Keun Kim Methods of controlling clocks in system on chip including function blocks, systems on chips and semiconductor systems including the same
US20160077572A1 (en) * 2014-09-16 2016-03-17 Samsung Electronics Co., Ltd. System on chip (soc), and dynamic voltage frequency scaling (dvfs) verification method thereof
US9372790B2 (en) * 2012-07-31 2016-06-21 Samsung Electronics Co., Ltd. Nonvolatile memory device having wear-leveling control and method of operating the same
US20160179175A1 (en) * 2011-12-21 2016-06-23 Intel Corporation Method and systems for energy efficiency and energy conservation including on-off keying for power control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264845A1 (en) * 2010-04-27 2011-10-27 Samsung Electronics Co., Ltd Nonvolatile memory device having operation mode change function and operation mode change method
US20150084675A1 (en) * 2011-12-12 2015-03-26 Dong Keun Kim Methods of controlling clocks in system on chip including function blocks, systems on chips and semiconductor systems including the same
US20160179175A1 (en) * 2011-12-21 2016-06-23 Intel Corporation Method and systems for energy efficiency and energy conservation including on-off keying for power control
US9372790B2 (en) * 2012-07-31 2016-06-21 Samsung Electronics Co., Ltd. Nonvolatile memory device having wear-leveling control and method of operating the same
US20160077572A1 (en) * 2014-09-16 2016-03-17 Samsung Electronics Co., Ltd. System on chip (soc), and dynamic voltage frequency scaling (dvfs) verification method thereof

Also Published As

Publication number Publication date
TW202009698A (en) 2020-03-01

Similar Documents

Publication Publication Date Title
CN113220108B (en) Computer-readable storage medium, operating frequency adjustment method and device
CN102696021B (en) Interface clock manages
KR20180121531A (en) Adaptive Peripheral Component Interconnects for Optimal Performance and Power Savings
KR20180017035A (en) Test for 50 nanosecond spike filter
WO2016048525A1 (en) Link retraining based on runtime performance characteristics
CN102043460A (en) Computer system and control method thereof
US20180260357A1 (en) I2c clock stretch over i3c bus
KR102714198B1 (en) Storage device and link state control method thereof
TWI770516B (en) Method and computer program product and apparatus for adjusting operating frequencies
US10216421B2 (en) Method of operating storage device using serial interface and method of operating data processing system including the same
US10684981B2 (en) Fast termination of multilane single data rate transactions
US20180181532A1 (en) Data transfer ending in phase differential modes
TWI697839B (en) Method and computer program product and apparatus for adjusting operating frequencies
KR102169033B1 (en) power optimization system and Method of driving the same
WO2025200601A1 (en) Data processing system, method and apparatus, device and medium
US11023408B2 (en) I3C single data rate write flow control
US20170371830A1 (en) Accelerated i3c master stop
JP6245056B2 (en) Information processing apparatus, power supply control program, and USB device
US12230360B2 (en) Controlling memory module clock buffer power in a system with dual memory clocks per memory module
TWI768829B (en) Parameter adjusting method for a memory device and a memory storage system
CN1726451A (en) An apparatus and method for address bus power control
TWI893619B (en) Method, device and computer-readable storage medium for saving power
US20240119979A1 (en) Controlling memory module clock buffer power in a system with a single memory clock per memory module
US12334188B2 (en) Power reduction in a clock buffer of a memory module based upon memory module speed
US20180181533A1 (en) Ending write data transfer in i3c hdr-ddr mode