TWI760760B - Computer program product and method and apparatus for controlling access to flash storage - Google Patents

Computer program product and method and apparatus for controlling access to flash storage Download PDF

Info

Publication number
TWI760760B
TWI760760B TW109118541A TW109118541A TWI760760B TW I760760 B TWI760760 B TW I760760B TW 109118541 A TW109118541 A TW 109118541A TW 109118541 A TW109118541 A TW 109118541A TW I760760 B TWI760760 B TW I760760B
Authority
TW
Taiwan
Prior art keywords
flash memory
memory device
host
controlling access
data
Prior art date
Application number
TW109118541A
Other languages
Chinese (zh)
Other versions
TW202139023A (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 慧榮科技股份有限公司
Publication of TW202139023A publication Critical patent/TW202139023A/en
Application granted granted Critical
Publication of TWI760760B publication Critical patent/TWI760760B/en

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A method for controlling access to a flash storage, performed by a processing unit of a bridge Integrated Circuit (IC), is introduced to include: receive a host write command from a host side; determine whether a flash storage needs to enter a hibernate state according to information indicating how much data has been programmed into a flash storage and/or how many host write commands have been executed after the host write command is executed; and direct the flash storage to enter the hibernate state when the information satisfies a triggering condition. The aforementioned control mechanism prevents the flash storage from being crashed due to over-heat when numerous data write operations are performed.

Description

控制閃存裝置存取的電腦程式產品及方法及裝置 Computer program product and method and apparatus for controlling access to flash memory devices

本發明涉及儲存裝置,尤指一種控制閃存裝置存取的電腦程式產品及方法及裝置。 The present invention relates to a storage device, in particular to a computer program product, method and device for controlling access to a flash memory device.

通用序列匯流排(Universal Serial Bus,USB)記憶碟是一種資料儲存裝置,包含整合了USB介面的閃存,通常是可卸載、可重複寫入,而且很小。儲存容量可以從16千兆位元組(Gigabytes,GB)到1兆兆位元組(Terabytes,TB)不等。USB記憶碟通常用來做電腦檔案的儲存、資料備份等。然而,隨著閃存的資料存取速度提升,USB記憶碟的溫度可能高於可容許的操作範圍,造成讀取或寫入命令在執行時發生不可預期的錯誤。因此,本發明提出一種控制閃存裝置存取的電腦程式產品及方法及裝置,用於解決如上所述的問題。 A Universal Serial Bus (USB) memory disk is a data storage device that includes a flash memory integrated with a USB interface, and is usually unloadable, rewritable, and small. Storage capacity can vary from 16 gigabytes (Gigabytes, GB) to 1 terabytes (Terabytes, TB). USB memory disks are usually used for computer file storage, data backup, etc. However, as the data access speed of the flash memory increases, the temperature of the USB memory disk may be higher than the allowable operating range, resulting in unexpected errors in the execution of read or write commands. Therefore, the present invention provides a computer program product, method and apparatus for controlling access to a flash memory device, which are used to solve the above-mentioned problems.

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

本說明書涉及一種電腦程式產品,用於控制閃存裝置存取,包含由橋接積體電路的處理單元載入並執行的程式碼,用於:從主機端接收主機寫入命令;在執行主機寫入命令後,根據多少長度的資料已經寫入閃存裝置和/或多少個主機寫入命令已經執行過的資訊來判斷閃存裝置是否需要進入休眠狀態;以及當上述長度和/或數量滿足觸發條件時,指示閃存裝置進入休眠狀態。 This specification relates to a computer program product for controlling access to a flash memory device, including program codes loaded and executed by a processing unit of a bridge integrated circuit, for: receiving a host write command from a host; After the command, determine whether the flash memory device needs to enter the dormant state according to the information of how many lengths of data have been written to the flash memory device and/or how many host write commands have been executed; and when the above length and/or number meet the trigger conditions, Instructs the flash device to enter hibernation.

本說明書另涉及一種控制閃存裝置存取的方法,由橋接積體電路的處理單元執行,包含:從主機端接收主機寫入命令;在執行主機寫入命令後,根據多少長度的資料已經寫入閃存裝置和/或多少個主機寫入命令已經執行過的資訊來判斷閃存裝置是否需要進入休眠狀態;以及當上述長度和/或數量滿足觸發條件時,指示閃存裝置進入休眠狀態。 The present specification also relates to a method for controlling access to a flash memory device, executed by a processing unit of a bridge integrated circuit, comprising: receiving a host write command from a host; The flash memory device and/or the information of how many host write commands have been executed to determine whether the flash memory device needs to enter the sleep state; and when the above length and/or number satisfy the trigger condition, the flash memory device is instructed to enter the sleep state.

本說明書更另涉及一種控制閃存裝置存取的裝置,包含:主機介面,耦接主機端;裝置介面,耦接閃存裝置;及處理單元,耦接主機介面和裝置介面。處理單元通過主機介面從主機端接收主機寫入命令;在執行主機寫入命令後,根據多少長度的資料已經寫入閃存裝置和/或多少個主機寫入命令已經執行過的資訊來判斷閃存裝置是否需要進入休眠狀態;以及當上述長度和/或數量滿足觸發條件時,通過裝置介面指示閃存裝置進入休眠狀態。 The present specification further relates to a device for controlling access to a flash memory device, comprising: a host interface coupled to a host; a device interface coupled to the flash memory device; and a processing unit coupled to the host interface and the device interface. The processing unit receives the host write command from the host side through the host interface; after executing the host write command, it judges the flash memory device according to how much data has been written to the flash memory device and/or how many host write commands have been executed. Whether it is necessary to enter the sleep state; and when the above-mentioned length and/or quantity satisfy the trigger condition, instruct the flash memory device to enter the sleep state through the device interface.

上述實施例的優點之一,通過如上所示的控制機制,避免閃存裝置因大量的資料寫入操作而過熱所造成的裝置失效。 One of the advantages of the above-mentioned embodiments is to avoid device failure caused by overheating of the flash memory device due to a large number of data writing operations through the control mechanism shown above.

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

110:電腦主機 110: computer host

115:USB埠 115:USB port

130:USB記憶碟 130:USB memory disk

210,310:USB連接器 210, 310: USB connectors

230,330:母板 230,330: Motherboard

250:橋接IC 250: Bridge IC

260:卡槽 260: card slot

270:閃存卡 270: flash card

280:閃存控制器 280: Flash Controller

370:閃存記憶體 370: Flash memory

410:閃存模組 410: Flash Module

430:中央處理器 430: CPU

510:匯流排架構 510: Bus Architecture

530:處理單元 530: Processing Unit

550:RAM 550:RAM

570:主機介面 570: Host Interface

580:裝置介面 580: Device Interface

S610~S690:方法步驟 S610~S690: Method steps

圖1為依據本發明實施例的通用序列匯流排記憶碟的使用示意圖。 FIG. 1 is a schematic diagram of the use of a universal serial bus memory disk according to an embodiment of the present invention.

圖2A、2B為依據本發明實施例的通用序列匯流排記憶碟的外觀示意圖。 2A and 2B are schematic diagrams of the appearance of a general-purpose serial bus memory disk according to an embodiment of the present invention.

圖3為依據本發明實施例的通用序列匯流排記憶碟的外觀示意圖。 FIG. 3 is a schematic diagram of the appearance of a general-purpose serial bus memory disk according to an embodiment of the present invention.

圖4為依據本發明實施例的主機端和通用序列匯流排記憶碟的方塊圖。 4 is a block diagram of a host side and a general purpose serial bus memory disk according to an embodiment of the present invention.

圖5為依據本發明實施例的橋接積體電路和外部元件的方塊圖。 5 is a block diagram of a bridge IC and external components according to an embodiment of the present invention.

圖6為依據本發明實施例的控制閃存裝置存取的方法流程圖。 FIG. 6 is a flowchart of a method for controlling access to a flash memory device according to an embodiment of the present invention.

以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基 本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。 The following descriptions are preferred implementations for accomplishing the invention, and their purpose is to describe the basis of the invention. the spirit of the present invention, but is not intended to limit the present invention. Reference must be made to the scope of the following claims for the actual inventive content.

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

於權利要求中使用如“第一”、“第二”、“第三”等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。 The use of words such as "first", "second", "third", etc. in the claims is used to modify the elements in the claims, and is not used to indicate that there is a priority order, a preceding relationship between them, or an element Prior to another element, or chronological order in which method steps are performed, is only used to distinguish elements 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 the other element, and intervening elements may be present. In contrast, when an element is described as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements can also be read in a similar fashion, such as "between" versus "directly interposed," or "adjacent" versus "directly adjoining," and the like.

參考圖1。使用者將通用序列匯流排(Universal Serial Bus,USB)記憶碟(USB Memory Drive)130插入電腦主機110的USB埠115後,可從電腦主機110中的儲存裝置備份資料到USB記憶碟130,複製USB記憶碟130中的資料到電腦主機110中的儲存裝置,或者執行其他資料存取操作。USB記憶碟130包含大容量的NAND閃存卡,可以從16千兆位元組(Gigabytes,GB)到1兆兆位元組(Terabytes,TB)不等。隨著存取速度的提升,NAND閃存卡在資料存取時容易發熱。然而,為了攜帶方便,USB記憶碟130會被製造到盡可能小而造成散熱不易,造成NAND閃存卡會因為溫度過高而讓資料存取發生不可預期的錯誤,甚至讓NAND閃存卡失效。NAND閃存卡失效可能會讓電腦主機110在資料存取的過程中因得不到USB記憶碟130的回 應而誤以為USB記憶碟130毀損。雖然本發明實施例描述USB介面連接上電腦主機110作為示例,所屬技術領域人員也可以應用到使用其他介面連接上電腦主機110的記憶碟,例如IEEE1394等,本發明並不因此侷限。於另一些實施例中,所屬技術領域人員可將電腦主機110替代地實施為筆記型電腦(Laptop PC)、平板電腦、手機、數位相機、數位攝影機等電子產品,本發明並不因此侷限。 Refer to Figure 1. After the user inserts the Universal Serial Bus (USB) memory drive (USB Memory Drive) 130 into the USB port 115 of the computer host 110, the user can back up data from the storage device in the computer host 110 to the USB memory drive 130, and copy the data to the USB memory drive 130. The data in the USB memory disk 130 is transferred to the storage device in the computer host 110, or other data access operations are performed. The USB memory disk 130 contains a high-capacity NAND flash memory card, which can vary from 16 Gigabytes (GB) to 1 Terabytes (TB). With the increase of access speed, NAND flash memory cards tend to heat up during data access. However, for the convenience of portability, the USB memory disk 130 is made as small as possible, which makes it difficult to dissipate heat. As a result, the NAND flash memory card may cause unexpected errors in data access due to high temperature, and even make the NAND flash memory card invalid. The failure of the NAND flash memory card may cause the computer host 110 to fail to receive a response from the USB memory disk 130 during data access. It should be mistakenly assumed that the USB memory disk 130 is damaged. Although the embodiments of the present invention describe a USB interface connected to the computer host 110 as an example, those skilled in the art can also apply to a memory disk connected to the computer host 110 using other interfaces, such as IEEE1394, etc., the present invention is not limited thereto. In other embodiments, those skilled in the art can alternatively implement the computer host 110 as an electronic product such as a laptop computer (Laptop PC), a tablet computer, a mobile phone, a digital camera, a digital video camera, etc., and the present invention is not limited thereto.

為了解決如上所述的問題,在一些實施方式中,USB記憶碟130中可加上溫度監控積體電路(Integrate Circuit,IC),用於偵測USB記憶碟130在資料存取時的溫度,並且在溫度超過閥值時執行避免閃存裝置失效的操作。 In order to solve the above problems, in some embodiments, a temperature monitoring integrated circuit (IC) may be added to the USB memory disk 130 to detect the temperature of the USB memory disk 130 during data access. And, when the temperature exceeds a threshold, an operation to avoid failure of the flash memory device is performed.

然而,增加溫度監控積體電路會增加USB記憶碟的成本。因此,本發明實施例提出一種技術方案,應用在沒有設置溫度監控積體電路的USB記憶碟中。由於資料寫入操作需要大量的電力而容易讓USB記憶碟130的溫度上升,因此,本發明實施例監督過去已經執行的資料寫入操作,並且當資料寫入操作達到預設的條件時,執行避免NAND閃存卡失效的操作。 However, adding a temperature monitoring IC increases the cost of the USB memory stick. Therefore, an embodiment of the present invention proposes a technical solution, which is applied to a USB memory disk without a temperature monitoring integrated circuit. Since the data writing operation requires a large amount of power, the temperature of the USB memory disk 130 is likely to rise. Therefore, the embodiment of the present invention supervises the data writing operation that has been performed in the past, and when the data writing operation reaches a preset condition, executes the Avoid operations where NAND flash cards fail.

參考圖2A。在一些實施例中,USB記憶碟130包含USB連接器210和矩形的母板230,母板230的一端連接USB連接器210。母板230的一面上設置橋接積體電路(Bridge IC)250,橋接IC 250通過母板230中的電路耦接USB連接器210。參考圖2B,母板230的另一面上設置卡槽260,而閃存卡270可被放置入卡槽260中並通過母板230中的電路耦接橋接IC 250。閃存卡270包含閃存控制器280和閃存模組。通常,母板230的尺寸小於3公分乘2公分時會發生散熱不易的情形。 Refer to Figure 2A. In some embodiments, the USB memory disk 130 includes a USB connector 210 and a rectangular motherboard 230 , and one end of the motherboard 230 is connected to the USB connector 210 . A bridge integrated circuit (Bridge IC) 250 is disposed on one side of the motherboard 230 , and the bridge IC 250 is coupled to the USB connector 210 through the circuit in the motherboard 230 . Referring to FIG. 2B , a card slot 260 is provided on the other side of the motherboard 230 , and a flash memory card 270 can be placed in the card slot 260 and coupled to the bridge IC 250 through a circuit in the motherboard 230 . The flash memory card 270 includes a flash memory controller 280 and a flash memory module. Generally, when the size of the motherboard 230 is smaller than 3 cm by 2 cm, it is difficult to dissipate heat.

參考圖3。USB記憶碟130包含USB連接器310和削去同側兩角矩形的母板330,母板330的窄端連接USB連接器310。母板330的一面上設置橋接積體電路250和閃存記憶體(Flash Memory)370,橋接IC 250通過母板330中的電路耦接USB連接器310和閃存記憶體370。閃 存記憶體370使用球柵陣列(Ball Grid Array,BGA)封裝,包含閃存控制器280和閃存模組。 Refer to Figure 3. The USB memory disk 130 includes a USB connector 310 and a motherboard 330 with two rectangular corners on the same side cut off. The narrow end of the motherboard 330 is connected to the USB connector 310 . One side of the motherboard 330 is provided with a bridge integrated circuit 250 and a flash memory (Flash Memory) 370 , and the bridge IC 250 is coupled to the USB connector 310 and the flash memory 370 through the circuit in the motherboard 330 . flash The memory 370 is packaged in a Ball Grid Array (BGA), and includes the flash memory controller 280 and the flash memory module.

閃存卡270和閃存記憶體370可統稱為閃存裝置(Flash Storage),並且USB記憶碟130中可配置其他類型的NAND閃存作為閃存裝置,本發明並不因此侷限。 The flash memory card 270 and the flash memory 370 may be collectively referred to as a flash memory device (Flash Storage), and other types of NAND flash memory may be configured in the USB memory disk 130 as a flash memory device, and the present invention is not limited thereto.

參考圖4。電腦主機(以下簡稱主機端)110包含中央處理器430,而USB記憶碟(以下簡稱記憶碟)130包含橋接IC 250。閃存卡270或閃存記憶體370包含閃存控制器280及閃存模組410。從一方面來說,橋接IC 250扮演中央處理器330的裝置端角色,可通過USB通訊協定和中央處理器430溝通。從另一方面來說,橋接IC 250扮演閃存卡270或閃存記憶體370的主機端角色,可通過快速周邊元件互聯(peripheral component interconnect express,PCI-E)、通用快閃記憶儲存(Universal Flash Storage UFS)、嵌入式多媒體卡(Embedded Multi-Media Card eMMC)等介面和閃存控制器280溝通。閃存控制器280和閃存模組410可以雙倍資料率(Double Data Rate DDR)通訊協定彼此溝通,例如,開放NAND快閃(Open NAND Flash Interface ONFI)、雙倍資料率開關(DDR Toggle)或其他通訊協定。中央處理器430可使用多種方式實施,如使用通用硬體(例如,單一處理器、具有平行處理能力的多處理器、圖形處理器或其他具有運算能力的處理器),並且在執行軟體以及/或韌體指令時,提供之後描述的功能。 Refer to Figure 4. The computer host (hereinafter referred to as the host side) 110 includes the central processing unit 430 , and the USB memory disk (hereinafter referred to as the memory disk) 130 includes the bridge IC 250 . The flash card 270 or flash memory 370 includes a flash controller 280 and a flash module 410 . In one aspect, the bridge IC 250 plays the role of the device end of the CPU 330, and can communicate with the CPU 430 through the USB communication protocol. On the other hand, the bridge IC 250 plays the role of the host side of the flash memory card 270 or the flash memory 370 , which can be used for peripheral component interconnect express (PCI-E), Universal Flash Storage (Universal Flash Storage) Interfaces such as UFS) and Embedded Multi-Media Card (eMMC) communicate with the flash memory controller 280 . The flash memory controller 280 and the flash memory module 410 can communicate with each other through a Double Data Rate DDR protocol, such as Open NAND Flash Interface ONFI, DDR Toggle or others communication protocol. The central processing unit 430 can be implemented using a variety of ways, such as using general-purpose hardware (eg, a single processor, multiple processors with parallel processing capabilities, graphics processors, or other processors with computing capabilities), and execute software and/or or firmware commands, provide the functions described later.

參考圖5。橋接IC 250包含處理單元530、隨機存取記憶體(Random Access Memory,RAM)550、主機介面570、裝置介面580,並且這些元件530、550、570和580以匯流排架構(Bus Architecture)510彼此耦接。匯流排架構510用於讓元件530、550、570和580之間能夠傳遞資料、位址、控制訊號等。處理單元530可使用多種方式實施,如使用通用硬體(例如,單一處理器、具有平行處理能力的多處理 器、圖形處理器或其他具有運算能力的處理器),並且在執行軟體以及/或韌體指令時,提供之後描述的功能。處理單元530通過主機介面570從主機端110接收主機命令,例如讀取命令(Read Command)、寫入命令(Write Command)、抹除命令(Erase Command)等,排程並執行這些命令。RAM 550可實施為動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)、靜態隨機存取記憶體(Static Random Access Memory,SRAM)或上述兩者的結合,用於配置空間作為資料緩衝區,儲存從主機端110讀取並即將寫入閃存卡270或閃存記憶體370的使用者資料(也可稱為主機資料),以及從閃存卡270或閃存記憶體370讀取並即將輸出給主機端110的使用者資料。RAM 550另可儲存執行過程中需要的資料,例如,變數、資料表等。 Refer to Figure 5. The bridge IC 250 includes a processing unit 530 , a random access memory (RAM) 550 , a host interface 570 , and a device interface 580 , and these elements 530 , 550 , 570 and 580 are connected to each other by a bus architecture 510 coupled. The bus structure 510 is used to allow data, addresses, control signals, etc. to be communicated between the components 530 , 550 , 570 and 580 . The processing unit 530 may be implemented using a variety of ways, such as using general purpose hardware (eg, a single processor, multiprocessing with parallel processing capabilities) computer, graphics processor, or other processor with computing capabilities), and when executing software and/or firmware instructions, provide the functions described later. The processing unit 530 receives host commands, such as Read Command, Write Command, Erase Command, etc., from the host terminal 110 through the host interface 570, and schedules and executes these commands. The RAM 550 can be implemented as a dynamic random access memory (DRAM), a static random access memory (SRAM), or a combination of the two, and is used to configure the space as a data buffer. Store user data (also called host data) read from the host 110 and to be written to the flash card 270 or flash memory 370, and read from the flash card 270 or flash memory 370 and output to the host 110 user data. The RAM 550 can also store data required in the execution process, such as variables, data tables, and the like.

閃存模組410提供大量的儲存空間,通常是數百個GB,甚至是數個TB,用於儲存大量的使用者資料,例如高解析度圖片、影片等。閃存模組410中包含控制電路以及記憶體陣列,記憶體陣列中的記憶單元可包含單層式單元(Single Level Cells,SLCs)、多層式單元(Multiple Level Cells,MLCs)三層式單元(Triple Level Cells,TLCs)、四層式單元(Quad-Level Cells,QLCs)或上述的任意組合。處理單元530通過裝置介面580與閃存控制器280溝通,用於寫入指定邏輯位置的使用者資料,以及讀取指定邏輯位置的使用者資料,邏輯位置可以邏輯區塊位址(Logical Block Address,LBA)表示。 The flash memory module 410 provides a large amount of storage space, usually hundreds of GB, or even several TB, for storing a large amount of user data, such as high-resolution pictures, videos, and the like. The flash memory module 410 includes a control circuit and a memory array, and the memory cells in the memory array may include single-level cells (Single Level Cells, SLCs), multi-level cells (Multiple Level Cells, MLCs), triple-level cells (Triple Level Cells, MLCs) Level Cells, TLCs), Quad-Level Cells (Quad-Level Cells, QLCs), or any combination of the above. The processing unit 530 communicates with the flash memory controller 280 through the device interface 580, and is used for writing user data of a designated logical location and reading user data of a designated logical location. The logical location may be a logical block address (Logical Block Address, LBA) said.

為了解決如上所述的問題,本發明實施例提出一種控制閃存裝置存取的方法,由處理單元530載入和執行相關韌體或軟體指令時實施,用於降低閃存裝置於執行主機寫入命令時發生過熱的可能性。在執行主機寫入命令後,根據多少長度的資料已經寫入閃存裝置和/或多少個主機寫入命令已經執行過的資訊來判斷閃存裝置是否需要進入 休眠狀態(Hibernate State)。當上述資訊滿足觸發條件時,指示閃存裝置進入休眠狀態,使得閃存裝置能夠降溫並且避免失效。之後,當下一個命令進入時,再喚醒閃存裝置。USB記憶碟130應用本發明的演算法將不會讓使用者感受到太大的效能差異,但卻能大幅降低因為溫度過高而卡住的風險。參考圖6,詳細步驟說明如下:步驟S610:設定關於寫入資料長度和已執行主機寫入命令的觸發條件。一般來說,觸發條件可設為目前的主機寫入命令請求寫入n-k位元組或更多的資料,以及已經累積處理了m個用於請求寫入n-k位元組或更多的資料的主機寫入命令,其中m和n為大於0的整數。為反應閃存裝置的容量或者USB記憶碟130的尺寸,變數“n”和“m”可被更改。在一些實施例中,變數“n”設為96並且變數“m”設為4至7中的任意整數。在另一些實施例中,變數“n”設為32並且變數“m”設為15至25中的任意整數。處理單元530可將變數“n”和“m”儲存在RAM 550中,作為預設值。此外,處理單元530可在RAM 550中維護計數值“cmd_count”,用於記錄已經累積處理多少個請求寫入n-k位元組或更多資料的主機寫入命令,並初始為0。 In order to solve the above-mentioned problems, an embodiment of the present invention provides a method for controlling access to a flash memory device, which is implemented when the processing unit 530 loads and executes relevant firmware or software instructions, so as to reduce the time for the flash memory device to execute a host write command. possibility of overheating. After executing the host write command, it is determined whether the flash memory device needs to be entered according to the information of how much data has been written to the flash memory device and/or how many host write commands have been executed. Hibernate State. When the above information satisfies the triggering condition, the flash memory device is instructed to enter the sleep state, so that the flash memory device can be cooled down and avoid failure. After that, when the next command comes in, the flash device is woken up again. Applying the algorithm of the present invention to the USB memory disk 130 will not make the user feel much difference in performance, but can greatly reduce the risk of being stuck due to excessive temperature. Referring to FIG. 6 , the detailed steps are described as follows: Step S610 : Set trigger conditions regarding the length of the written data and the executed host write command. In general, the trigger conditions can be set to the current host write command requesting the writing of n-k bytes or more of data, and the cumulative processing of m requests for the writing of n-k bytes or more of data. Host write commands, where m and n are integers greater than 0. The variables "n" and "m" may be changed to reflect the capacity of the flash memory device or the size of the USB memory disk 130. In some embodiments, the variable "n" is set to 96 and the variable "m" is set to any integer from 4 to 7. In other embodiments, the variable "n" is set to 32 and the variable "m" is set to any integer from 15 to 25. The processing unit 530 may store the variables "n" and "m" in the RAM 550 as preset values. In addition, the processing unit 530 may maintain a count value "cmd_count" in the RAM 550 for recording how many host write commands requesting to write n-k bytes or more have been accumulated and processed, and is initially zero.

步驟S620:通過主機介面570從主機端110接收寫入命令(也可稱為主機寫入命令)。 Step S620 : Receive a write command (also referred to as a host write command) from the host terminal 110 through the host interface 570 .

步驟S630:判斷閃存裝置是否進入休眠狀態。如果是,則進行步驟S650的處理。否則,進行步驟S660的處理。處理單元530可在RAM 550維護狀態旗標(Status Flag),用於記錄閃存裝置是否進入休眠狀態的資訊。舉例來說,每當處理單元530通過裝置介面580指示閃存控制器280讓閃存裝置進入休眠狀態時,將狀態旗標設為“1”。每當處理單元530通過裝置介面580指示閃存控制器280喚醒閃存裝置時,將狀態旗標設為“0”。處理單元530可偵測狀態旗標的值來完成步驟S630的判斷。在這裡需要注意的是,當主機端110進入S3/S4狀態時,也會通過橋接IC 250來指示閃存裝置進入休眠狀態。 Step S630: Determine whether the flash memory device enters a sleep state. If yes, the process of step S650 is performed. Otherwise, the process of step S660 is performed. The processing unit 530 may maintain a Status Flag in the RAM 550 for recording information about whether the flash memory device enters the sleep state. For example, whenever the processing unit 530 instructs the flash controller 280 through the device interface 580 to put the flash memory device into a hibernation state, the status flag is set to "1". Whenever the processing unit 530 instructs the flash controller 280 through the device interface 580 to wake up the flash device, the status flag is set to "0". The processing unit 530 can detect the value of the status flag to complete the determination in step S630. It should be noted here that when the host side 110 enters the S3/S4 state, the bridging IC 250 is also used to instruct the flash memory device to enter the sleep state.

步驟S650:喚醒閃存裝置。處理單元530可通過裝置介面580發出一系列指令給閃存控制器280,請求讓閃存裝置離開休眠狀態(Un-hibernate)。舉例來說,離開休眠狀態的技術細節可參考2017年9月13日發表的UniPro標準的版本1.8“Specification for UniPro Version 1.8”的9.5.2節。當閃存裝置成功離開休眠狀態時,處理單元530將RAM 550中的狀態旗標更改為“0”。 Step S650: Wake up the flash memory device. The processing unit 530 may issue a series of instructions to the flash memory controller 280 through the device interface 580 to request the flash memory device to leave the hibernate state (Un-hibernate). For example, the technical details of leaving the sleep state can be found in Section 9.5.2 of the UniPro Standard Version 1.8 "Specification for UniPro Version 1.8" published on September 13, 2017. When the flash memory device successfully leaves the hibernation state, the processing unit 530 changes the status flag in the RAM 550 to "0".

步驟S660:指示閃存裝置執行寫入命令。處理單元530可通過裝置介面580發出指令給閃存控制器280,請求寫入特定邏輯區塊位址的資料。如果寫入的資料長度等於或大於n-k位元組,處理單元530將RAM 550中的計數值“cmd_count”加1。 Step S660: Instruct the flash memory device to execute the write command. The processing unit 530 can send an instruction to the flash memory controller 280 through the device interface 580 to request data to be written at a specific logical block address. If the length of the written data is equal to or greater than n-k bytes, the processing unit 530 increments the count value "cmd_count" in the RAM 550 by one.

步驟S670:判斷是否滿足觸發條件。如果是,則進行步驟S690的處理。否則,進行步驟S680的處理。處理單元530可偵測計數值“cmd_count”是否等於或大於變數“m”。當計數值“cmd_count”等於或大於變數“m”時,代表觸發條件滿足。 Step S670: Determine whether the trigger condition is satisfied. If yes, the process of step S690 is performed. Otherwise, the process of step S680 is performed. The processing unit 530 can detect whether the count value "cmd_count" is equal to or greater than the variable "m". When the count value "cmd_count" is equal to or greater than the variable "m", it means that the trigger condition is satisfied.

步驟S680:讓閃存裝置待在閒置狀態(Idle State)。當閃存裝置執行完寫入命令且沒有任何背景操作需要執行時,會自動進入閒置狀態,等待下個命令的進入或者背景操作的啟動。也就是說,在步驟S680,處理單元530不通過裝置介面580發出指令給閃存控制器280,使得閃存裝置可以待在閒置狀態。 Step S680: Let the flash memory device stay in an idle state (Idle State). When the flash memory device finishes executing the write command and there is no background operation to be performed, it will automatically enter an idle state, waiting for the entry of the next command or the start of the background operation. That is, in step S680, the processing unit 530 does not issue an instruction to the flash memory controller 280 through the device interface 580, so that the flash memory device can stay in an idle state.

步驟S690:指示閃存裝置進入休眠狀態。處理單元530可通過裝置介面580發出一系列指令給閃存控制器280,請求讓閃存裝置進入休眠狀態。舉例來說,進入休眠狀態的技術細節可參考2017年9月13日發表的UniPro標準的版本1.8“Specification for UniPro Version 1.8”的9.5.1節。當閃存裝置成功進入休眠狀態時,處理單元530將RAM 550中的狀態旗標更改為“1”。當閃存裝置進入休眠狀態時,橋接IC 250和閃存控制器280之間以及閃存控制器280和閃存模組410之間會少有訊息交換,並且閃存控制器280和閃存模組410中的元件也幾乎 不工作,使得USB記憶碟130的溫度可以下降。在閃存裝置進入休眠狀態後,處理單元530另可將計數值“cmd_count”重設為0,用於重新累計主機寫入命令的數目。 Step S690: Instruct the flash memory device to enter a sleep state. The processing unit 530 can issue a series of commands to the flash memory controller 280 through the device interface 580 to request to put the flash memory device into a sleep state. For example, for the technical details of entering the sleep state, please refer to Section 9.5.1 of the UniPro Standard Version 1.8 "Specification for UniPro Version 1.8" published on September 13, 2017. When the flash memory device successfully enters the sleep state, the processing unit 530 changes the status flag in the RAM 550 to "1". When the flash device enters the hibernation state, there is little message exchange between the bridge IC 250 and the flash controller 280 and between the flash controller 280 and the flash module 410, and the components in the flash controller 280 and the flash module 410 also almost Not working, so that the temperature of the USB memory disk 130 can drop. After the flash memory device enters the sleep state, the processing unit 530 may further reset the count value "cmd_count" to 0, so as to re-accumulate the number of host write commands.

本發明所述的方法中的全部或部分步驟可以計算機指令實現,例如特定硬體的驅動程式等。此外,也可實現於其他類型程式。所屬技術領域人員可將本發明實施例的方法撰寫成計算機指令,為求簡潔不再加以描述。依據本發明實施例方法實施的計算機指令可儲存於適當的電腦可讀取媒體,例如DVD、CD-ROM、USB碟、硬碟,亦可置於可通過網路(例如,網際網路,或其他適當載具)存取的網路伺服器。 All or part of the steps in the method described in the present invention can be implemented by computer instructions, such as a specific hardware driver. In addition, it can also be implemented in other types of programs. Those skilled in the art can compose the methods of the embodiments of the present invention into computer instructions, which will not be described for brevity. Computer instructions for implementing methods according to embodiments of the present invention may be stored in a suitable computer-readable medium, such as DVD, CD-ROM, USB disk, hard disk, or may be other suitable vehicles) to access the web server.

雖然圖4、5中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖6的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。 Although the above-described elements are included in FIGS. 4 and 5 , it is not excluded that more other additional elements can be used to achieve better technical effects without violating the spirit of the invention. In addition, although the flowchart of FIG. 6 is executed in the specified sequence, those skilled in the art can modify the sequence of these steps under the premise of achieving the same effect without violating the spirit of the invention. Therefore, the present invention does not It is not limited to use only the sequence as 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 obvious to those skilled in the art. Therefore, the scope of the appended claims is to be construed in the broadest manner so as to encompass all obvious modifications and similar arrangements.

S610~S690:方法步驟 S610~S690: Method steps

Claims (12)

一種電腦程式產品,用於控制閃存裝置存取,包含由一橋接積體電路的一處理單元載入並執行的程式碼,用於:從一主機端接收一主機寫入命令;在執行上述主機寫入命令後,根據已經寫入一閃存裝置的資料的一長度和/或已經執行過的一個或多個主機寫入命令的一數量來判斷上述閃存裝置是否需要進入一休眠狀態;以及當已經寫入上述閃存裝置的資料的上述長度和/或已經執行過的上述主機寫入命令的上述數量滿足一觸發條件時,指示上述閃存裝置進入上述休眠狀態。 A computer program product for controlling access to a flash memory device, comprising program codes loaded and executed by a processing unit of a bridge integrated circuit, for: receiving a host write command from a host; After the write command, determine whether the flash memory device needs to enter a dormant state according to a length of data written to a flash memory device and/or a number of one or more host write commands that have been executed; When the length of the data written to the flash memory device and/or the number of the host write commands that have been executed satisfy a trigger condition, the flash memory device is instructed to enter the sleep state. 一種控制閃存裝置存取的方法,由一橋接積體電路的一處理單元執行,包含:從一主機端接收一主機寫入命令;在執行上述主機寫入命令後,根據已經寫入一閃存裝置的資料的一長度和/或已經執行過的一個或多個主機寫入命令的一數量來判斷上述閃存裝置是否需要進入一休眠狀態;以及當已經寫入上述閃存裝置的資料的上述長度和/或已經執行過的上述主機寫入命令的上述數量滿足一觸發條件時,指示上述閃存裝置進入上述休眠狀態。 A method for controlling access to a flash memory device, executed by a processing unit of a bridge integrated circuit, comprises: receiving a host write command from a host end; after executing the host write command, according to a flash memory device already written A length of the data and/or a number of one or more host write commands that have been executed to determine whether the flash memory device needs to enter a dormant state; Or when the above-mentioned number of the above-mentioned host write commands that have been executed satisfies a trigger condition, the above-mentioned flash memory device is instructed to enter the above-mentioned sleep state. 如請求項2所述的控制閃存裝置存取的方法,其中,上述觸發條件為上述主機寫入命令請求寫入n-千位元組或更多的資料,以及已經累積處理了m個用於請求寫入n-千位元組或更多的資料的主機寫入命令,其中m和n為大於0的整數。 The method for controlling access to a flash memory device according to claim 2, wherein the trigger condition is that the host write command requests to write n-kilobyte or more data, and m data for A host write command requesting to write n-kilobytes or more of data, where m and n are integers greater than zero. 如請求項3所述的控制閃存裝置存取的方法,其中,n設為96,並且m設為4至7中的任意整數。 The method of controlling access to a flash memory device of claim 3, wherein n is set to 96, and m is set to any integer from 4 to 7. 如請求項3所述的控制閃存裝置存取的方法,其中,n設為32,並且m設為15至25中的任意整數。 The method of controlling access to a flash memory device of claim 3, wherein n is set to 32, and m is set to any integer from 15 to 25. 一種控制閃存裝置存取的裝置,包含:一主機介面,耦接一主機端;一裝置介面,耦接一閃存裝置;以及一處理單元,耦接上述主機介面和上述裝置介面,用於通過上述主機介面從上述主機端接收一主機寫入命令;在執行上述主機寫入命令後,根據已經寫入上述閃存裝置的資料的一長度和/或已經執行過的一個或多個主機寫入命令的一數量來判斷上述閃存裝置是否需要進入一休眠狀態;以及當已經寫入上述閃存裝置的資料的上述長度和/或已經執行過的上述主機寫入命令的上述數量滿足一觸發條件時,通過上述裝置介面指示上述閃存裝置進入上述休眠狀態。 A device for controlling access to a flash memory device, comprising: a host interface, coupled to a host; a device interface, coupled to a flash memory device; and a processing unit, coupled to the host interface and the device interface, for passing the The host interface receives a host write command from the above-mentioned host terminal; after executing the above-mentioned host write command, according to a length of the data that has been written into the above-mentioned flash memory device and/or one or more host write commands that have been executed. A number to determine whether the flash memory device needs to enter a dormant state; and when the length of the data that has been written into the flash memory device and/or the number of the host write commands that have been executed satisfies a trigger condition, through the above The device interface instructs the flash memory device to enter the sleep state. 如請求項6所述的控制閃存裝置存取的裝置,其中,上述觸發條件為上述主機寫入命令請求寫入n-千位元組或更多的資料,以及已經累積處理了m個用於請求寫入n-千位元組或更多的資料的主機寫入命令,其中m和n為大於0的整數。 The apparatus for controlling access to a flash memory device as claimed in claim 6, wherein the trigger condition is that the host write command requests to write n-kilobyte or more data, and m data for A host write command requesting to write n-kilobytes or more of data, where m and n are integers greater than zero. 如請求項7所述的控制閃存裝置存取的裝置,其中,n設為96,並且m設為4至7中的任意整數。 The apparatus for controlling access to a flash memory device of claim 7, wherein n is set to 96 and m is set to any integer from 4 to 7. 如請求項7所述的控制閃存裝置存取的裝置,其中,n設為32,並 且m設為15至25中的任意整數。 The apparatus for controlling access to a flash memory device of claim 7, wherein n is set to 32, and And m is set to any integer from 15 to 25. 如請求項6至9中任一項所述的控制閃存裝置存取的裝置,其中,上述控制閃存裝置存取的裝置和上述閃存裝置設置在一母板上,並組合成一記憶碟。 The device for controlling access to a flash memory device according to any one of claims 6 to 9, wherein the device for controlling access to the flash memory device and the flash memory device are arranged on a motherboard and combined into a memory disk. 如請求項10所述的控制閃存裝置存取的裝置,其中,上述閃存裝置為一閃存卡,並且上述母板的尺寸小於3公分乘2公分。 The device for controlling access to a flash memory device according to claim 10, wherein the flash memory device is a flash memory card, and the size of the motherboard is less than 3 cm by 2 cm. 如請求項10所述的控制閃存裝置存取的裝置,其中,上述閃存裝置為使用球柵陣列封裝的一閃存記憶體。 The device for controlling access to a flash memory device as claimed in claim 10, wherein the flash memory device is a flash memory packaged with a ball grid array.
TW109118541A 2020-04-13 2020-06-03 Computer program product and method and apparatus for controlling access to flash storage TWI760760B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063009128P 2020-04-13 2020-04-13
US63/009,128 2020-04-13

Publications (2)

Publication Number Publication Date
TW202139023A TW202139023A (en) 2021-10-16
TWI760760B true TWI760760B (en) 2022-04-11

Family

ID=78094254

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109118541A TWI760760B (en) 2020-04-13 2020-06-03 Computer program product and method and apparatus for controlling access to flash storage

Country Status (2)

Country Link
CN (1) CN113535616B (en)
TW (1) TWI760760B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116236000A (en) * 2021-12-08 2023-06-09 比亚迪精密制造有限公司 Data storage control method of electronic cigarette, electronic cigarette and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201327561A (en) * 2011-12-19 2013-07-01 Sk Hynix Inc Bridge chipset and data storage system
US20140181327A1 (en) * 2011-08-09 2014-06-26 Lsi Corporation I/o device and computing host interoperation
TWI512623B (en) * 2013-12-26 2015-12-11 Phison Electronics Corp Method of enabling sleep mode, memory control circuit unit and storage apparatus
US20180360464A1 (en) * 2012-05-23 2018-12-20 Stryker Corporation Surgical Tool System With a Battery and Control Module Having a Driver Capable of Reusing Contacts

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475514B (en) * 2013-09-03 2016-12-07 华为技术有限公司 Node, group system and BIOS without BMC repair and upgrade method
US10175995B1 (en) * 2016-03-25 2019-01-08 Amazon Technologies, Inc. Device hibernation control
CN110275882A (en) * 2019-05-08 2019-09-24 平安科技(深圳)有限公司 Method for writing data, system, device and readable storage medium storing program for executing based on HBASE

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181327A1 (en) * 2011-08-09 2014-06-26 Lsi Corporation I/o device and computing host interoperation
TW201327561A (en) * 2011-12-19 2013-07-01 Sk Hynix Inc Bridge chipset and data storage system
US20180360464A1 (en) * 2012-05-23 2018-12-20 Stryker Corporation Surgical Tool System With a Battery and Control Module Having a Driver Capable of Reusing Contacts
TWI512623B (en) * 2013-12-26 2015-12-11 Phison Electronics Corp Method of enabling sleep mode, memory control circuit unit and storage apparatus

Also Published As

Publication number Publication date
CN113535616A (en) 2021-10-22
CN113535616B (en) 2023-09-22
TW202139023A (en) 2021-10-16

Similar Documents

Publication Publication Date Title
US11216323B2 (en) Solid state memory system with low power error correction mechanism and method of operation thereof
US8151036B2 (en) Memory controller, memory system, and access control method of flash memory
TWI703571B (en) Data storage device and the operating method thereof
US8489805B2 (en) Memory devices operated within a communication protocol standard timeout requirement
KR20180092435A (en) Data storage device and operating method thereof
US20210109587A1 (en) Power and thermal management in a solid state drive
EP3836145A1 (en) System approach to reduce stable threshold voltage (vt) read disturb degradation
JP2021125248A (en) Controller, controller action method, and storage device including controller
TWI454922B (en) Memory storage device and memory controller and data writing method thereof
US11385906B2 (en) Computer program product and method and apparatus for controlling access to flash storage
CN111984441A (en) Instantaneous power failure recovery processing method and device and computer readable storage medium
US20170371785A1 (en) Techniques for Write Commands to a Storage Device
US11487638B2 (en) Computer program product and method and apparatus for controlling access to flash memory card
TWI760760B (en) Computer program product and method and apparatus for controlling access to flash storage
US11763040B2 (en) Enhanced D3-cold and faster recovery
US11640251B2 (en) Early transition to low power mode for data storage devices
TWI738235B (en) Method for performing resuming management, and memory device and controller thereof and electronic device
TWI727985B (en) Data storage device and operating method thereof
TWI708250B (en) Computer program product and method and apparatus for controlling access to flash memory card
KR20180092430A (en) Data storage device and operating method thereof
US20240231962A1 (en) Notifications for avoiding thermal shutdown
US12067265B2 (en) Idle power mode for external storage device
TWI741296B (en) Method and apparatuse and computer program product for handling sudden power off recovery
TWI820473B (en) Method and apparatuse and computer program product for handling sudden power off recovery
US11561735B2 (en) Latency on indirect admin commands