TW202015057A - 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置 - Google Patents

快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置 Download PDF

Info

Publication number
TW202015057A
TW202015057A TW107135487A TW107135487A TW202015057A TW 202015057 A TW202015057 A TW 202015057A TW 107135487 A TW107135487 A TW 107135487A TW 107135487 A TW107135487 A TW 107135487A TW 202015057 A TW202015057 A TW 202015057A
Authority
TW
Taiwan
Prior art keywords
flash memory
code
memory controller
internal
parts
Prior art date
Application number
TW107135487A
Other languages
English (en)
Other versions
TWI673716B (zh
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 TW107135487A priority Critical patent/TWI673716B/zh
Priority to CN201811314733.7A priority patent/CN111026325B/zh
Priority to US16/413,615 priority patent/US10990292B2/en
Application granted granted Critical
Publication of TWI673716B publication Critical patent/TWI673716B/zh
Publication of TW202015057A publication Critical patent/TW202015057A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本發明揭露一快閃記憶體控制器,其中該快閃記憶體控制器用來存取一快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,該快閃記憶體控制器包含有一緩衝記憶體以及一微處理器,且該緩衝記憶體用以暫存一系統內部程式碼。當該快閃記憶體控制器進入一省電模式時,該微處理器關閉該緩衝記憶體的一部分區域以使得該系統內部程式碼的至少一部分消失;且當該快閃記憶體控制器由該省電模式進入一正常模式時,該微處理器自該多個快閃記憶體晶片中的N個快閃記憶體晶片中讀取該系統內部程式碼的該至少一部分,其中N為大於1的正整數。

Description

快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置
本發明係有關於快閃記憶體控制器。
快閃記憶體控制器通常會在沒有收到來自主裝置之存取命令時進入省電模式,並關閉靜態隨機存取記憶體(Static Random-Access Memory,SRAM)之一部分的電源,以節省電力消耗。由於靜態隨機存取記憶體的一部分被關閉,故原本儲存在其中的系統內部程式碼(In-System Programming (ISP) code)會有部分消失,因此,當快閃記憶體控制器由省電模式進入到正常模式時,會需要重新自一快閃記憶體模組模組中讀取ISP碼之後,才能夠正常地接收主裝置之存取命令並對快閃記憶體模組模組進行存取。然而,由於ISP碼的容量較大,因此快閃記憶體控制器會需要較多的時間來讀取ISP碼,因而造成了快閃記憶體控制器在離開省電模式時需要較長的時間才能夠處理來自主裝置的存取命令,而降低了整體系統的效能。
因此,本發明的目的之一在於提供一種快閃記憶體控制器,其可以將ISP碼分散儲存在多個快閃記憶體晶片中,並在由省電模式進入到正常模式時使用平行讀取的方式自多個快閃記憶體晶片中讀取ISP碼,以快速地完成ISP碼的讀取,以解決先前技術中的問題。
在本發明的一個實施例中,揭露了一種快閃記憶體控制器,其中該快閃記憶體控制器用來存取一快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,該快閃記憶體控制器包含有一唯讀記憶體、一緩衝記憶體以及一微處理器。該唯讀記憶體用來儲存一程式碼,該緩衝記憶體用以暫存一系統內部程式碼,且該微處理器用來執行該程式碼以及該系統內部程式碼以控制對該快閃記憶體模組之存取。當該快閃記憶體控制器進入一省電模式時,該微處理器關閉該緩衝記憶體的一部分區域以使得該系統內部程式碼的至少一部分消失;且當該快閃記憶體控制器由該省電模式進入一正常模式時,該微處理器自該多個快閃記憶體晶片中的N個快閃記憶體晶片中讀取該系統內部程式碼的該至少一部分,其中N為大於1的正整數。
在本發明的另一個實施例中,揭露了一種電子裝置,其包含有一快閃記憶體模組以及一快閃記憶體控制器,其中該快閃記憶體模組包含多個快閃記憶體晶片,且該快閃記憶體控制器用來存取該快閃記憶體模組。在本實施例中,該快閃記憶體控制器包含有一緩衝記憶體以及一微處理器,且該緩衝記憶體用以暫存一系統內部程式碼。當該快閃記憶體控制器進入一省電模式時,該微處理器關閉該緩衝記憶體的一部分區域以使得該系統內部程式碼的至少一部分消失;且當該快閃記憶體控制器由該省電模式進入一正常模式時,該微處理器自該多個快閃記憶體晶片中的N個快閃記憶體晶片中讀取該系統內部程式碼的該至少一部分,其中N為大於1的正整數。
在本發明的另一個實施例中,揭露了一種快閃記憶體控制器的控制方法,其包含有以下步驟:當該快閃記憶體控制器進入一省電模式時,關閉位於該快閃記憶體控制器內部之一緩衝記憶體的一部分區域以使得一系統內部程式碼的至少一部分消失;以及當該快閃記憶體控制器由該省電模式進入一正常模式時,自多個快閃記憶體晶片中的N個快閃記憶體晶片中讀取該系統內部程式碼的該至少一部分,其中N為大於1的正整數。
第1圖為依據本發明一實施例之一種記憶裝置100的示意圖。記憶裝置100包含有一快閃記憶體(Flash Memory)模組120以及一快閃記憶體控制器110,且快閃記憶體控制器110用來存取快閃記憶體模組120。依據本實施例,快閃記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory, ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體模組120之存取(Access)。控制邏輯114包含了一編碼器132以及一解碼器134,其中編碼器132用來對寫入到快閃記憶體模組120中的資料進行編碼以產生對應的校驗碼(或稱,錯誤更正碼(Error Correction Code),ECC),而解碼器134用來將從快閃記憶體模組120所讀出的資料進行解碼。
於典型狀況下,快閃記憶體模組120包含了多個快閃記憶體晶片,而每一個快閃記憶體晶片包含複數個區塊(block),而快閃記憶體控制器110對快閃記憶體模組120進行抹除資料運作係以區塊為單位來進行。另外,一區塊可記錄特定數量的資料頁(page),其中快閃記憶體控制器110對快閃記憶體模組120進行寫入資料之運作係以資料頁為單位來進行寫入。在本實施例中,快閃記憶體模組120為一立體NAND型快閃記憶體(3D NAND-type flash)模組。
實作上,透過微處理器112執行程式碼112C之快閃記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體模組120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device)130溝通。緩衝記憶體116係以隨機存取記憶體(Random Access Memory,RAM)來實施。例如,緩衝記憶體116可以是靜態隨機存取記憶體,但本發明不限於此。
在一實施例中,記憶裝置100可以是可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡),且主裝置130為一可與記憶裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦…等等。而在另一實施例中,記憶裝置100可以是固態硬碟或符合通用快閃記憶體儲存(Universal Flash Storage,UFS)或嵌入式多媒體記憶卡(Embedded Multi Media Card,EMMC)規格之嵌入式儲存裝置,以設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主裝置130可以是該電子裝置的一處理器。
第2圖為根據本發明一實施例之快閃記憶體模組120的示意圖。如第2圖所示,快閃記憶體模組120包含了多個快閃記憶體晶片(本實施例僅繪示了四個快閃記憶體晶片210_1~210_4),其中快閃記憶體晶片210_1包含了區塊221_1~221_N、快閃記憶體晶片210_2包含了區塊222_1~222_N、快閃記憶體晶片210_3包含了區塊223_1~223_N、且快閃記憶體晶片210_4包含了區塊224_1~224_N。在本實施例中,快閃記憶體晶片210_1的區塊221_1儲存了完整的ISP碼250,而ISP碼250包含了一部分ISP碼252,且部分ISP碼252主要包含了能夠讓快閃記憶體控制器110回應主裝置130之存取請求的代碼。在本實施例中,當快閃記憶體控制器110在初始化的時候,或是在任意適合的時間點,其中的微處理器112會將部分ISP碼252分割為多個部分代碼(本實施例為四個部分代碼262_1~262_4),並將四個部分代碼262_1~262_4分別儲存到快閃記憶體晶片210_1~210_4中。在本實施例中,部分代碼262_1儲存到快閃記憶體晶片210_1的區塊221_A、部分代碼262_2儲存到快閃記憶體晶片210_2的區塊222_B、部分代碼262_3儲存到快閃記憶體晶片210_3的區塊223_C、且部分代碼262_4儲存到快閃記憶體晶片210_4的區塊224_D,其中A、B、C、D可以是任意適合的正整數。
第3圖為根據本發明一實施例之記憶裝置100的操作流程圖。在步驟300中,流程開始。在步驟302中,記憶裝置100上電。在步驟304中,微處理器112自唯讀記憶體112M中讀取程式碼112C,並透過執行程式碼112C以進行初始化操作。在步驟306中,微處理器112自快閃記憶體晶片210_1的區塊221_1讀取ISP碼250,並將ISP碼250儲存至緩衝記憶體116中。
第4圖繪示了儲存在緩衝記憶體116之ISP碼250的示意圖,其中ISP碼250可以區分為ISP碼的第一部分410以及ISP碼的第二部分420,其中緩衝記憶體116亦包含了變數412以及變數422。在本實施例中,變數412以及變數422可儲存於系統區塊(例如區塊221_1),並且由微處理器112讀取並載入至緩衝記憶體116。ISP碼的第一部分410包含了用來存取快閃記憶體模組120的一些基本代碼,且變數412可以記錄第2圖所示之四個部分代碼262_1~262_4在快閃記憶體晶片210_1~210_4的位址(亦即,區塊序號與資料頁序號);此外,ISP碼的第二部分420主要包含了能夠讓快閃記憶體控制器110回應主裝置130之存取請求的代碼,例如讀取功能代碼、寫入功能代碼、抹除功能代碼以及搜尋功能代碼,亦即ISP碼的第二部分420包含了第2圖所示之部分ISP碼252。在某些實施例中,變數412可包含於ISP碼的第一部分410,而變數422可包含於ISP碼的第二部分420。
在一實施例中,ISP碼的第一部分410還包含了ISP碼250中有關於系統性的功能,例如有關於快閃記憶體轉換層(flash translation layer)中的命令轉換層(command translation layer),其中命令轉換層的主要功能是專門用處理快閃記憶體命令的代碼,而各種對照表/映射表的讀取必須透過命令轉換層的操作才能自快閃記憶體模組120中讀取。此外,ISP碼的第一部分410亦可包含由省電模式進入到正常模式時所需要執行的代碼,亦即可以控制或是加速快閃記憶體控制器110以及快閃記憶體模組的部分元件離開省電模式並還原系統狀態的代碼。在一實施例中,ISP碼的第二部分420所包含的可以是在省電模式下不需要執行的一些小功能或是快閃記憶體轉換層的部分功能。
在一實施例中,變數412還可包含快閃記憶體轉換層中有關於目前快閃記憶體模組120的寫入資訊,例如快閃記憶體模組120目前資料寫入的資料頁位址或是下一筆資料要寫入的資料頁位址。變數412也可包含協定層(protocol layer)中有關於記憶體分區(partition)的資訊,例如各分區的大小與邊界…等等。變數412也可包含主裝置130所提供之系統設定值,而這些系統設定值在系統重新設定/開機之間會維持原有的內容。
在一實施例中,變數422可以包含在存取快閃記憶體模組120的過程中所需要參考的一些對照表/映射表,例如邏輯位址至實體位址映射表(logical address to physical address mapping table)以及實體位址至邏輯位址映射表(physical address to logical address mapping table)。
當記憶裝置100一段時間沒有接收到來自主裝置130的存取命令時,記憶裝置100可以選擇進入省電模式以節省電力消耗。此時,快閃記憶體控制器110會關閉本身的部分功能,並關閉緩衝記憶體116的一部分區域。在本實施例中,微處理器112會關閉緩衝記憶體116中儲存ISP碼的第二部分420以及變數422的區域,因此,ISP碼的第二部分420以及變數422會因此流失。
當記憶裝置100在省電模式時接收到來自主裝置130的存取命令時,記憶裝置100會準備離開省電模式並進入正常模式,而由於緩衝記憶體116所儲存的ISP碼的第二部分420以及變數422已經消失,因此快閃記憶體控制器110必需再次從快閃記憶體模組120中讀取ISP碼的第二部分420,以使得記憶裝置100可以回應主裝置130的存取命令。在本實施例中,為了加速在緩衝記憶體116重新建立ISP碼的第二部分420,如第5圖所示,快閃記憶體控制器110根據變數412所記錄之四個部分代碼262_1~262_4在快閃記憶體晶片210_1~210_4的位址,以自快閃記憶體晶片210_1~210_4中讀取四個部分代碼262_1~262_4,以在緩衝記憶體116重新建立出ISP碼的第二部分420中能夠讓快閃記憶體控制器110回應主裝置130之存取請求的部分ISP碼252。
在本實施例中,由於快閃記憶體控制器110可以同步地發出晶片致能(chip enable)訊號至快閃記憶體晶片210_1~210_4,以使得快閃記憶體晶片210_1~210_4可以同時地開始準備進行資料讀取操作,之後快閃記憶體控制器110便可以快速地自快閃記憶體晶片210_1~210_4分別讀取四個部分代碼262_1~262_4。因此,由於快閃記憶體控制器110係採用平行讀取方式來讀取四個部分代碼262_1~262_4,而不需要自快閃記憶體晶片210_1的區塊221_1讀取ISP碼250,因此可以大幅加速ISP碼的第二部分420的建立,以供快閃記憶體控制器110快速回應主裝置130的存取請求。
在一實施例中,部分ISP碼252包含了讀取功能代碼,且讀取功能代碼係分散在四個部分代碼262_1~262_4中,亦即四個部分代碼262_1~262_4均包含了讀取功能代碼的一部分內容。
在另一實施例中,部分ISP碼252包含了一特定功能代碼,該特定功能代碼為寫入功能代碼、抹除功能代碼以及搜尋功能代碼的其中任一,且該特定功能代碼係分散在四個部分代碼262_1~262_4中,亦即四個部分代碼262_1~262_4均包含了該特定功能代碼的一部分內容。
在本實施例中,由於四個部分代碼262_1~262_4可視為部分ISP碼252的備份,因此四個部分代碼262_1~262_4只有在韌體更新(亦即,ISP碼250更新)、垃圾收集操作(garbage collection)、或是耗損平均(wear leveling)操作的情形下才會進行資料搬移。舉例來說,當ISP碼250更新進行更新時,快閃記憶體控制器110會重新將一更新後的ISP碼的至少一部分內容(例如,能夠讓快閃記憶體控制器110回應主裝置130之存取請求的部分ISP碼252)的分割為四個部分代碼,並將該四個部分代碼分別儲存在快閃記憶體晶片210_1~210_4中的不同位址。
在一實施例中,部分ISP碼252可以是緩衝記憶體116中ISP碼的第二部分420的全部內容。而在另一實施例中,考慮到ISP碼的內容很大且通常記憶裝置100剛被喚醒時只會需要部份的功能,因此部分ISP碼252可以是緩衝記憶體116中ISP碼的第二部分420的部分內容,例如部分ISP碼252僅包含讀取功能代碼,以針對來自主裝置130之特定的存取命令進行加速。
以上的實施例中部分ISP碼252為ISP碼250的一部分內容,但本發明並不以此為限。在其他的實施例中,部分ISP碼252即為ISP碼250,亦即四個部分代碼262_1~262_4為整個ISP碼250的備份。
在一實施例中,假設在記憶裝置100進入省電模式時快閃記憶體模組120並不會完全斷電且快閃記憶體模組120內部的快取記憶體仍然可以運作,則此時快閃記憶體控制器110可以在記憶裝置100進入省電模式之前將ISP碼250寫入到快閃記憶體模組120內部的快取記憶體中。當記憶裝置100離開省電模式而回到正常模式時,快閃記憶體控制器110便可以直接由快閃記憶體模組120內部的快取記憶體讀取ISP碼,以加速在緩衝記憶體116中重新建立ISP碼。此外,若是快閃記憶體控制器110偵測到快閃記憶體模組120有斷電的情形,則再採用第5圖所示的實施例將備分到快閃記憶體晶片210_1~210_4中的四個部分代碼262_1~262_4平行地讀回。
簡要歸納本發明,本發明之快閃記憶體控制器中,係將ISP碼分散儲存在多個快閃記憶體晶片中,並在由省電模式進入到正常模式時使用平行讀取的方式自多個快閃記憶體晶片中讀取ISP碼,以快速地完成ISP碼的讀取,以加速處理來自主裝置130的存取命令。   以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:記憶裝置110:快閃記憶體控制器112:微處理器112C:程式碼112M:唯讀記憶體114:控制邏輯116:緩衝記憶體118:介面邏輯120:快閃記憶體模組130:主裝置132:編碼器134:解碼器210_1、210_2、210_3、210_4:快閃記憶體晶片222_1、221_A、221_N、222_1、222_B、222_N、223_1、223_C、223_N、224_1、224_D、224_N:區塊250:ISP碼252:部分ISP碼262_1、262_2、262_3、262_4:部分代碼300、302、304、306:步驟410:ISP碼的第一部分412、422:變數420:ISP碼的第二部分
第1圖為依據本發明一實施例之一種記憶裝置的示意圖。 第2圖為根據本發明一實施例之快閃記憶體模組的示意圖。 第3圖為根據本發明一實施例之記憶裝置的操作流程圖。 第4圖繪示了儲儲存在緩衝記憶體之ISP碼的示意圖。 第5圖為讀取四個部分代碼以重新建立出ISP碼的示意圖。
120:快閃記憶體模組
210_1、210_2、210_3、210_4:快閃記憶體晶片
221_1、221_A、221_N、222_1、222_B、222_N、223_1、223_C、223_N、224_1、224_D、224_N:區塊
250:ISP碼
252:部分ISP碼
262_1、262_2、262_3、262_4:部分代碼

Claims (17)

  1. 一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,且該快閃記憶體控制器包含有: 一唯讀記憶體,用來儲存一程式碼; 一緩衝記憶體,用以暫存一系統內部程式碼(In-System Programming code);以及 一微處理器,用來執行該程式碼以及該系統內部程式碼以控制對該快閃記憶體模組之存取; 其中當該快閃記憶體控制器進入一省電模式時,該微處理器關閉該緩衝記憶體的一部分區域以使得該系統內部程式碼的至少一部分消失;且當該快閃記憶體控制器由該省電模式進入一正常模式時,該微處理器自該多個快閃記憶體晶片中的N個快閃記憶體晶片中讀取該系統內部程式碼的該至少一部分,其中N為大於1的正整數。
  2. 如申請專利範圍第1項所述之快閃記憶體控制器,其中該系統內部程式碼的該至少一部分包含了一特定功能代碼,該特定功能代碼被分割為N個部分並分別儲存在該N個快閃記憶體晶片中;以及當該快閃記憶體控制器由該省電模式進入該正常模式時,該微處理器分別自該N個快閃記憶體晶片中讀取該N個部分,並將該N個部分儲存在該緩衝記憶體中。
  3. 如申請專利範圍第2項所述之快閃記憶體控制器,其中該特定功能代碼為一讀取功能代碼。
  4. 如申請專利範圍第2項所述之快閃記憶體控制器,其中該特定功能代碼為一寫入功能代碼、一抹除功能代碼或是一搜尋功能代碼。
  5. 如申請專利範圍第1項所述之快閃記憶體控制器,其中該N個快閃記憶體晶片中的一特定快閃記憶體晶片包含了儲存有該系統內部程式碼的一區塊,且該快閃記憶體控制器將該系統內部程式碼的該至少一部分內容分散儲存在該N個快閃記憶體晶片中。
  6. 如申請專利範圍第5項所述之快閃記憶體控制器,其中該至少一部分內容包含了N個部分,該N個部分分別儲存在該N個快閃記憶體晶片中,該緩衝記憶體記錄了該N個部分位於該N個快閃記憶體晶片的多個位址,且該些位址並不會因為該快閃記憶體控制器進入該省電模式後而自該緩衝記憶體中消失。
  7. 如申請專利範圍第6項所述之快閃記憶體控制器,其中當該系統內部程式碼更新時,該快閃記憶體控制器重新將一更新後的系統內部程式碼的該至少一部分內容的該N個部分分別儲存在該N個快閃記憶體晶片中的不同位址。
  8. 如申請專利範圍第6項所述之快閃記憶體控制器,其中分別儲存在該N個快閃記憶體晶片中的該N個部分只有在一韌體更新、一垃圾收集操作、或是一耗損平均(wear leveling)操作的情形下才會進行資料搬移。
  9. 一種電子裝置,包含有: 一快閃記憶體模組,包含多個快閃記憶體晶片;以及 一快閃記憶體控制器,用來存取該快閃記憶體模組,其中該快閃記憶體控制器包含有: 一緩衝記憶體,用以暫存一系統內部程式碼(In-System Programming code);以及 一微處理器,用來執行該系統內部程式碼以控制對該快閃記憶體模組之存取; 其中當該快閃記憶體控制器進入一省電模式時,該微處理器關閉該緩衝記憶體的一部分區域以使得該系統內部程式碼的至少一部分消失;且當該快閃記憶體控制器由該省電模式進入一正常模式時,該微處理器自該多個快閃記憶體晶片中的N個快閃記憶體晶片中讀取該系統內部程式碼的該至少一部分,其中N為大於1的正整數。
  10. 如申請專利範圍第9項所述之電子裝置,其中該系統內部程式碼的該至少一部分包含了一特定功能代碼,該特定功能代碼被分割為N個部分並分別儲存在該N個快閃記憶體晶片中;以及當該快閃記憶體控制器由該省電模式進入該正常模式時,該微處理器分別自該N個快閃記憶體晶片中讀取該N個部分,並將該N個部分儲存在該緩衝記憶體中。
  11. 如申請專利範圍第10項所述之電子裝置,其中該特定功能代碼為一讀取功能代碼。
  12. 如申請專利範圍第10項所述之電子裝置,其中該特定功能代碼為一寫入功能代碼、一抹除功能代碼或是一搜尋功能代碼。
  13. 如申請專利範圍第9項所述之電子裝置,其中該N個快閃記憶體晶片中的一特定快閃記憶體晶片包含了儲存有該系統內部程式碼的一區塊,且該快閃記憶體控制器將該系統內部程式碼的該至少一部分內容分散儲存在該N個快閃記憶體晶片中。
  14. 如申請專利範圍第13項所述之電子裝置,其中該至少一部分內容包含了N個部分,該N個部分分別儲存在該N個快閃記憶體晶片中,該緩衝記憶體記錄了該N個部分位於該N個快閃記憶體晶片的多個位址,且該些位址並不會因為該快閃記憶體控制器進入該省電模式後而自該緩衝記憶體中消失。
  15. 如申請專利範圍第14項所述之電子裝置,其中當該系統內部程式碼更新時,該快閃記憶體控制器重新將一更新後的系統內部程式碼的該至少一部分內容的該N個部分分別儲存在該N個快閃記憶體晶片中的不同位址。
  16. 如申請專利範圍第14項所述之電子裝置,其中分別儲存在該N個快閃記憶體晶片中的該N個部分只有在該快閃記憶體控制器對該快閃記憶體模組進行一韌體更新、一垃圾收集操作、或是一耗損平均(wear leveling)操作的情形下才會進行資料搬移。
  17. 一種快閃記憶體控制器的控制方法,包含有: 當該快閃記憶體控制器進入一省電模式時,關閉位於該快閃記憶體控制器內部之一緩衝記憶體的一部分區域以使得一系統內部程式碼(In-System Programming code)的至少一部分消失;以及 當該快閃記憶體控制器由該省電模式進入一正常模式時,自多個快閃記憶體晶片中的N個快閃記憶體晶片中讀取該系統內部程式碼的該至少一部分,其中N為大於1的正整數。
TW107135487A 2018-10-09 2018-10-09 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置 TWI673716B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107135487A TWI673716B (zh) 2018-10-09 2018-10-09 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置
CN201811314733.7A CN111026325B (zh) 2018-10-09 2018-11-06 闪存控制器、闪存控制器的控制方法及相关的电子装置
US16/413,615 US10990292B2 (en) 2018-10-09 2019-05-16 Flash memory controller, control method of flash memory controller and associated electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107135487A TWI673716B (zh) 2018-10-09 2018-10-09 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置

Publications (2)

Publication Number Publication Date
TWI673716B TWI673716B (zh) 2019-10-01
TW202015057A true TW202015057A (zh) 2020-04-16

Family

ID=69023496

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107135487A TWI673716B (zh) 2018-10-09 2018-10-09 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置

Country Status (3)

Country Link
US (1) US10990292B2 (zh)
CN (1) CN111026325B (zh)
TW (1) TWI673716B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI817824B (zh) * 2022-11-11 2023-10-01 宇瞻科技股份有限公司 資料備份還原方法及其裝置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918082B (zh) * 2020-07-08 2024-03-08 慧荣科技股份有限公司 计算机可读取存储介质、配置可靠命令的方法及装置
CN113885692B (zh) * 2021-10-22 2023-09-26 合肥兆芯电子有限公司 存储器效能优化方法、存储器控制电路单元以及存储装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707354B2 (en) * 1999-08-04 2010-04-27 Super Talent Electronics, Inc. SRAM cache and flash micro-controller with differential packet interface
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US6883044B1 (en) * 2000-07-28 2005-04-19 Micron Technology, Inc. Synchronous flash memory with simultaneous access to one or more banks
US20050182978A1 (en) * 2004-02-17 2005-08-18 Anderson Jason M. Always ready computing device
TWM286985U (en) * 2005-08-22 2006-02-01 Regulus Technologies Co Ltd Memory module with smart-type power-saving and fault-tolerance
TWI467579B (zh) * 2011-01-14 2015-01-01 Mstar Semiconductor Inc 電子裝置及其記憶體控制方法以及相關電腦可讀取儲存媒體
TWI533305B (zh) * 2014-02-10 2016-05-11 慧榮科技股份有限公司 將資料寫入至快閃記憶體的方法及相關的記憶裝置與快閃記憶體
KR102225313B1 (ko) * 2014-08-20 2021-03-10 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
EP3185037B1 (en) * 2015-12-23 2020-07-08 STMicroelectronics (Research & Development) Limited Depth imaging system
KR102466412B1 (ko) * 2016-01-14 2022-11-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
TWI679554B (zh) * 2017-03-07 2019-12-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI817824B (zh) * 2022-11-11 2023-10-01 宇瞻科技股份有限公司 資料備份還原方法及其裝置

Also Published As

Publication number Publication date
TWI673716B (zh) 2019-10-01
US20200110543A1 (en) 2020-04-09
CN111026325B (zh) 2023-03-10
US10990292B2 (en) 2021-04-27
CN111026325A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
US11216214B2 (en) Memory system and operation method thereof
TWI650644B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
TWI692690B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US11030093B2 (en) High efficiency garbage collection method, associated data storage device and controller thereof
US10838629B2 (en) Solid state device with fast boot after ungraceful shutdown
CN110890113A (zh) 存储设备及其操作方法
JP2007183961A (ja) ハードディスクドライブキャッシュメモリ及び再生デバイス
US20230333763A1 (en) Memory system and method of operating the same
TWI659304B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
JP2010211734A (ja) 不揮発性メモリを用いた記憶装置
TWI698749B (zh) 資料儲存裝置與資料處理方法
TWI673716B (zh) 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置
US9037781B2 (en) Method for managing buffer memory, memory controllor, and memory storage device
TWI748542B (zh) 電子裝置、快閃記憶體控制器及快閃記憶體模組進行垃圾收集操作的方法
TWI657339B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
TWI721365B (zh) 高效能垃圾收集方法以及資料儲存裝置及其控制器
TWI697778B (zh) 資料儲存裝置與資料處理方法
TWI670598B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
TW202134859A (zh) 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置
US11188265B2 (en) Method for performing storage space management, associated data storage device, and controller thereof
TWI808010B (zh) 資料處理方法及對應之資料儲存裝置
TWI653630B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
TW202414223A (zh) 資料處理方法及對應之資料儲存裝置
JPH10222424A (ja) データキャッシュ制御方法