TWI664527B - 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 - Google Patents
用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 Download PDFInfo
- Publication number
- TWI664527B TWI664527B TW107109506A TW107109506A TWI664527B TW I664527 B TWI664527 B TW I664527B TW 107109506 A TW107109506 A TW 107109506A TW 107109506 A TW107109506 A TW 107109506A TW I664527 B TWI664527 B TW I664527B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- volatile memory
- empty
- controller
- indicator
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供一種用來於一記憶裝置中進行初始化之方法、相關之記憶裝置及其控制器以及相關之電子裝置。該方法包含:在該記憶裝置中之非揮發性記憶體上電之後,於該非揮發性記憶體中尋找一空記憶體指標器,其中該空記憶體指標器係可應用於判斷該非揮發性記憶體是否為空的;以及依據該空記憶體指標器是否被找到,選擇性地跳過或進行於該非揮發性記憶體中的程式碼資訊搜尋,以完成該初始化,其中該初始化包含該記憶裝置之至少一初始設定,以及當該空記憶體指標器被找到,該程式碼資訊搜尋被跳過,否則,該程式碼資訊搜尋被進行。
Description
本發明係有關於快閃記憶體(Flash memory)之存取(access),尤指一種用來於一記憶裝置中進行初始化(initialization)之方法、相關之記憶裝置及其控制器以及相關之電子裝置。
近年來由於記憶體的技術不斷地發展,各種可攜式或非可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD或UFS標準之記憶卡;又例如:固態硬碟;又例如:符合UFS或EMMC規格之嵌入式(embedded)儲存裝置)被廣泛地實施於諸多應用中。因此,這些記憶裝置中之記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(single level cell,SLC)與多階細胞(multiple level cell,MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶細胞(memory cell)的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄至少兩組位元資訊(諸如00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之至少兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快
閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保記憶裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,有了這些管理機制的記憶裝置還是有不足之處。舉例來說,在採用較新的技術製造快閃記憶體的狀況下,具備大容量的記憶裝置之開機時間可能很長。尤其是,對於安裝有降級的快閃記憶體裸晶(downgraded flash die)之記憶裝置,可能會發生各種問題,諸如初始化的時間需要更長、初始化失敗等。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下提昇記憶裝置之效能。
本發明之一目的在於提供一種用來於一記憶裝置中進行初始化(initialization)之方法、相關之記憶裝置及其控制器、以及電子裝置,以解決上述問題。
本發明之另一目的在於提供一種用來於一記憶裝置中進行初始化之方法、相關之記憶裝置及其控制器、以及電子裝置,以在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置之最佳化(optimal)效能。
本發明之至少一實施例提供一種用來於一記憶裝置中進行初始化之方法,其中該記憶裝置包含一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含一或多個非揮發性記憶體元件(NV memory
element),該一或多個非揮發性記憶體元件包含複數個區塊(block)。該方法包含有:在該非揮發性記憶體上電之後,於該非揮發性記憶體中尋找一空記憶體指標器(empty memory indicator),其中該空記憶體指標器係可應用於(applicable to)判斷該非揮發性記憶體是否為空的;以及依據該空記憶體指標器是否被找到,選擇性地跳過(skip)或進行於該非揮發性記憶體中的程式碼資訊搜尋,以完成該初始化,其中該初始化包含該記憶裝置之至少一初始設定,以及當該空記憶體指標器被找到,該程式碼資訊搜尋被跳過,否則,該程式碼資訊搜尋被進行。
本發明之至少一實施例提供一種記憶裝置,其可包含:一非揮發性記憶體,用來儲存資訊,其中該非揮發性記憶體包含一或多個非揮發性記憶體元件,且該一或多個非揮發性記憶體元件包含複數個區塊;以及一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置之運作。該控制器可包含一處理電路,而該處理電路可依據來自一主裝置(host device)的複數個主裝置指令控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體。例如,在該非揮發性記憶體上電之後,該控制器於該非揮發性記憶體中尋找一空記憶體指標器,其中該空記憶體指標器係可應用於判斷該非揮發性記憶體是否為空的。另外,依據該空記憶體指標器是否被找到,該控制器選擇性地跳過或進行於該非揮發性記憶體中的程式碼資訊搜尋,以完成該初始化,其中該初始化包含該記憶裝置之至少一初始設定,以及當該空記憶體指標器被找到,該程式碼資訊搜尋被跳過,否則,該程式碼資訊搜尋被進行。
依據某些實施例,本發明另提供一種電子裝置,其可包含上述之記憶裝置,且另包含:該主裝置,耦接至該記憶裝置。該主裝置可包含:至少一處理器,用來控制該主裝置之運作;以及一電源供應電路,耦接至該至少一處理器,用來提供電源予該至少一處理器與該記憶裝置、且輸出該驅動電壓至該
記憶裝置。另外,該記憶裝置可用來提供儲存空間給該主裝置。
本發明之至少一實施例提供一種記憶裝置之控制器,其中該記憶裝置包含該控制器與一非揮發性記憶體,該非揮發性記憶體包含一或多個非揮發性記憶體元件,且該一或多個非揮發性記憶體元件包含複數個區塊。該控制器可包含一處理電路,而該處理電路可依據來自一主裝置的複數個主裝置指令控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體。例如,在該非揮發性記憶體上電之後,該控制器於該非揮發性記憶體中尋找一空記憶體指標器,其中該空記憶體指標器係可應用於判斷該非揮發性記憶體是否為空的。另外,依據該空記憶體指標器是否被找到,該控制器選擇性地跳過或進行於該非揮發性記憶體中的程式碼資訊搜尋,以完成該初始化,其中該初始化包含該記憶裝置之至少一初始設定,以及當該空記憶體指標器被找到,該程式碼資訊搜尋被跳過,否則,該程式碼資訊搜尋被進行。
本發明的好處之一是,本發明的方法與相關裝置能針對該控制器的運作進行妥善的控制,以達到記憶裝置之最佳化效能。尤其是,於快閃記憶體製造商採用較新的技術製造具備超大儲存空間的快閃記憶體時,本發明的方法與相關裝置能充分利用快閃記憶體製造商所提供的各種等級的快閃記憶體裸晶(flash die)。另外,依據本發明之實施例來實施並不會增加許多額外的成本。因此,相關技術的問題可被解決,且整體成本不會增加太多。相較於相關技術,本發明能在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置之最佳化效能。
10‧‧‧電子裝置
50‧‧‧主裝置
52‧‧‧處理器
54‧‧‧電源供應電路
100‧‧‧記憶裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯電路
116‧‧‧緩衝記憶體
118‧‧‧傳輸介面電路
120‧‧‧非揮發性記憶體
120S‧‧‧儲存區
121‧‧‧儲存單元
122-1,122-2,...,122-N‧‧‧非揮發性記憶體元件
123‧‧‧偵測電路
123-0,123-1,123-2,...,123-N‧‧‧邏輯電路
600‧‧‧工作流程
C0,C1,R0,R1,R2,P0,P1‧‧‧控制資訊
IPC‧‧‧程式碼資訊
IE‧‧‧空記憶體指標器
L(0),L(1),L(2),...,L(N)‧‧‧邏輯訊號
S10,S12,S14,S16,S18,S20,S22,S24,S26,S28,S30,S32‧‧‧步驟
第1圖為依據本發明一實施例之一種記憶裝置與一主裝置(host device)的示意
圖。
第2圖為依據本發明一實施例之一種用來於一記憶裝置進行初始化之方法的程式碼搜尋控制方案,其中該方法可應用於第1圖所示之記憶裝置。
第3圖繪示該方法於一實施例中之空記憶體管理方案。
第4圖繪示該方法於另一實施例中之空記憶體管理方案。
第5圖繪示第4圖所示空記憶體管理方案的於一實施例中之相關細節。
第6圖繪示該方法於一實施例中之工作流程。
I.記憶體系統
第1圖為依據本發明一實施例之一種電子裝置10的示意圖,其中電子裝置10包含一主裝置(host device)50與一記憶裝置100。主裝置50可包含:至少一處理器52(例如一或多個處理器),用來控制主裝置50之運作;以及一電源供應電路54,耦接至上述至少一處理器52,用來提供電源予上述至少一處理器52與記憶裝置100、且輸出一或多個驅動電壓至記憶裝置100,其中記憶裝置100可用來提供儲存空間給主裝置50,且可從主裝置50取得該一或多個驅動電壓,作為記憶裝置100之電源。主裝置50的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、平板電腦(tablet)、可穿戴裝置(wearable device)以及個人電腦(personal computer)諸如桌上型電腦與膝上型電腦。記憶裝置100的例子可包含(但不限於):可攜式記憶裝置(諸如符合SD/MMC、CF、MS、XD或UFS標準之記憶卡)、固態硬碟(solid state drive,SSD)以及各種嵌入式(embedded)儲存裝置(諸如符合UFS或EMMC規格之嵌入式儲存裝置)。依據本實施例,記憶裝置100可包含一控制器諸如記憶體控制器110,且可另包含一非揮發性記憶體(non-volatile memory,NV memory)120,其中該控制
器係用來存取(access)非揮發性記憶體120,且非揮發性記憶體120係用來儲存資訊。非揮發性記憶體120可包含至少一非揮發性記憶體元件(NV memory element)(例如一或多個非揮發性記憶體元件),諸如複數個非揮發性記憶體元件122-1、122-2、...與122-N,其中符號「N」可代表大於一的正整數。例如:非揮發性記憶體120可為一快閃記憶體(Flash memory),而非揮發性記憶體元件122-1、122-2、...與122-N可分別為複數個快閃記憶體晶片(Flash memory chip;可簡稱為快閃晶片)或複數個快閃記憶體裸晶(Flash memory die;可簡稱為快閃裸晶),但本發明不限於此。
如第1圖所示,記憶體控制器110可包含處理電路諸如微處理器112、儲存器諸如唯讀記憶體(Read Only Memory,ROM)112M、控制邏輯電路114、緩衝記憶體116與傳輸介面電路118,其中這些元件中之至少一部分(例如一部分或全部)可透過匯流排彼此耦接。緩衝記憶體116係以隨機存取記憶體(Random Access Memory,RAM)來實施,例如可為靜態隨機存取記憶體(Static RAM,SRAM),其中該隨機存取記憶體可用來提供內部儲存空間給記憶體控制器110,例如可暫時地儲存資料,但本發明不限於此。另外,本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對非揮發性記憶體120之存取。請注意,程式碼112C亦得儲存在緩衝記憶體116或任何形式之記憶體內。此外,控制邏輯電路114可用來控制非揮發性記憶體120。控制邏輯電路114可包含一錯誤更正碼電路(未顯示),以保護資料、及/或進行錯誤更正,而傳輸介面電路118可符合一特定通訊標準(諸如串列高級技術附件(Serial Advanced Technology Attachment,SATA)標準、通用序列匯流排(Universal Serial Bus,USB)標準、快捷外設互聯(Peripheral Component Interconnect Express,PCIE)標準、嵌入式多媒體記憶卡(embedded Multi Media Card,eMMC)標準、或通用快閃記憶體儲存(Universal Flash Storage,UFS)標
準)且可依據該特定通訊標準進行通訊。
於本實施例中,主裝置50可藉由傳送複數個主裝置指令(host command)與對應的邏輯位址予記憶體控制器110來間接地存取記憶裝置100中之非揮發性記憶體120。記憶體控制器110接收該複數個主裝置指令與邏輯位址,並將該複數個主裝置指令分別轉譯成記憶體操作指令(簡稱操作指令),再以操作指令控制非揮發性記憶體120讀取、寫入(write)/編程(Program)非揮發性記憶體120當中特定實體位址之記憶單位(memory unit)或資料頁(page),其中實體位址對應於邏輯位址。例如記憶體控制器110可產生或更新至少一邏輯對實體位址映射表(logical-to-physical address mapping table)來管理實體位址與邏輯位址之間的關係。
II.對應於記憶體架構的存取控制
依據某些實施例,於非揮發性記憶體120中,非揮發性記憶體元件122-1、122-2、...與122-N中之任一非揮發性記憶體元件122-n(符號「n」可代表區間[1,N]中之任一整數)可包含多個區塊(block),且該多個區塊中之一區塊可包含且可記錄特定數量的頁。例如,記憶體控制器110可依據一區塊位址與一頁位址來存取非揮發性記憶體120中之某一區塊中的某一頁。記憶體控制器110對非揮發性記憶體120進行抹除資料之運作的最小單位可為區塊,而記憶體控制器110對非揮發性記憶體120進行寫入資料之運作的最小單位可為頁,但本發明不限於此。
依據某些實施例,上述任一非揮發性記憶體元件122-n可包含多個平面(plane),該多個平面中之一平面可包含一組區塊諸如上述該多個區塊,且該組區塊中之一區塊可包含且可記錄特定數量的頁。例如,記憶體控制器110可依據一平面編號(plane number)、一區塊位址與一頁位址來存取非揮發性記憶體
120中之某一平面中的某一區塊中的某一頁,但本發明不限於此。於這些實施例中,總區塊數增加,且非揮發性記憶體120的儲存容量變得更大。
關於製造非揮發性記憶體120,有多種技術可供採用,例如:將記憶細胞排列成單層之平面NAND型快閃(2D/Planar NAND Flash)技術;以及將記憶細胞排列成多層垂直堆疊之立體NAND型快閃(3D NAND Flash)技術。依據某些實施例,非揮發性記憶體120可被實施成具有單層排列的記憶細胞之平面NAND型快閃架構。依據某些實施例,非揮發性記憶體120可被實施成具有以多層垂直堆疊的記憶細胞之立體NAND型快閃架構。此狀況下,非揮發性記憶體120的儲存容量可變得非常巨大。
III.初始化控制
記憶體控制器110可依據唯讀記憶體112M中之程式碼112C來控制記憶裝置100之運作,但本發明不限於此。例如,在非揮發性記憶體120儲存有額外程式碼的狀況下,記憶體控制器110可依據該額外程式碼來控制記憶裝置100之運作。程式碼112C可視為原始程式碼,以供進行記憶裝置100於開機時之控制。在執行程式碼112C之微處理器112的控制下,記憶體控制器110可從非揮發性記憶體120載入(load)該額外程式碼,以切換至對應於該額外程式碼之控制。
第2圖為依據本發明一實施例之一種用來於一記憶裝置進行初始化之方法的程式碼搜尋控制方案,其中該方法可應用於第1圖所示之記憶裝置100。上述之至少一非揮發性記憶體元件諸如該一或多個非揮發性記憶體元件(例如非揮發性記憶體元件122-1、122-2、...與122-N)可包含複數個區塊,而非揮發性記憶體120的一儲存區120S可包含該複數個區塊之至少一部分(例如一部分或全部)。舉例來說,記憶體控制器110可將該複數個區塊區分為屬於儲存區120S的資料區塊以及屬於一備用區(spare region)的備用區塊。資料區塊可
用來儲存資料,而備用區塊可用來進行記憶裝置100的內部控制,諸如損耗均衡(wear leveling)、垃圾收集等,其中記憶體控制器110可於需要時動態地調整任一區塊的類型,但本發明不限於此。如第2圖所示,程式碼資訊IPC可預先被寫入儲存區120S中之某一個區塊,以指出該額外程式碼於儲存區120S中之一或多個位置。例如,在記憶裝置100的一生產階段(production phase)的期間,記憶體控制器110可在生產工具的控制下將程式碼資訊IPC寫入這個區塊,但本發明不限於此。
記憶體控制器110可進行程式碼資訊搜尋以找出程式碼資訊IPC,以依據程式碼資訊IPC來載入該額外程式碼。基於位址閂鎖啟用(address latch enable,可簡稱為ALE)技術,記憶體控制器110可透過改變一ALE位址來進行該程式碼資訊搜尋以找出程式碼資訊IPC,其中記憶體控制器110傳送至非揮發性記憶體120之控制資訊{P0,C0,C1,R0,R1,R2,P1}可視為一ALE訊號,且其內的一部分資訊諸如{C0,C1,R0,R1,R2}可代表ALE位址,但本發明不限於此。依據某些實施例,控制資訊P0與P1可分別為0x00與0x03,控制資訊C0與C1可對應於行(column)控制,而控制資訊R0、R1與R2可對應於列(row)控制,尤其可分別對應於頁、區塊與平面控制,但本發明不限於此。依據某些實施例,多組程式碼資訊{IPC}可預先被寫入儲存區120S中之多處,諸如不同的區塊,以容許記憶體控制器110輕易地找到該多組程式碼資訊{IPC}中之任一者,但本發明不限於此。
第3圖繪示該方法於一實施例中之空記憶體管理方案。假設非揮發性記憶體120中不存在該額外程式碼。此狀況下,記憶體控制器110不需要浪費時間在該程式碼資訊搜尋。依據本實施例,一空記憶體指標器(empty memory indicator)IE係可應用於(applicable to)判斷非揮發性記憶體120是否為空的。例如,在記憶裝置100的該生產階段的期間,記憶體控制器110可在生產工具的控
制下將空記憶體指標器IE寫入儲存區120S中之一預定位置,諸如第一個區塊中的第一頁,其中一預定位址可代表該預定位置,但本發明不限於此。依據某些實施例,該預定位置可予以變化,例如可改為儲存區120S中之一特定區塊。依據某些實施例,在非揮發性記憶體120的一生產階段的期間,非揮發性記憶體120的製造商可利用其生產工具將空記憶體指標器IE寫入儲存區120S中之該預定位置,諸如第一個區塊中的第一頁。
在非揮發性記憶體120上電之後,記憶體控制器110可於非揮發性記憶體120的儲存區120S中尋找空記憶體指標器IE,例如依據該預定位址來讀取於儲存區120S中之該預定位置的內容,其中空記憶體指標器IE可包含一預定資料型樣(predetermined data pattern),諸如一系列預定邏輯值所形成的資料型樣(例如:01010101...;或00110011...;或任何其它預定邏輯值序列,只要不影響本發明的實施),以供判斷非揮發性記憶體120是否為空的。該預定資料型樣的存在可指出非揮發性記憶體120是空的,這表示其內不存在該額外程式碼。記憶體控制器110可讀取非揮發性記憶體120以取得一或多組讀取資料,並且可檢查是否該一或多組讀取資料中存在該預定資料型樣,以判斷是否空記憶體指標器IE被找到,其中當該一或多組讀取資料中存在該預定資料型樣,空記憶體指標器IE被找到,否則,空記憶體指標器IE未被找到。另外,依據空記憶體指標器IE是否被找到,記憶體控制器110可選擇性地跳過(skip)或進行於非揮發性記憶體120中的該程式碼資訊搜尋,以完成該初始化,其中該初始化可包含記憶裝置100之至少一初始設定(例如一或多個初始設定)。尤其是,當空記憶體指標器IE被找到,該程式碼資訊搜尋被跳過,否則,該程式碼資訊搜尋被進行。
第4圖繪示該方法於另一實施例中之空記憶體管理方案。非揮發性記憶體120可包含一儲存單元121,用來儲存空記憶體指標器IE,其中儲存單元121位於該一或多個非揮發性記憶體元件(例如非揮發性記憶體元件122-1、122-2、...
與122-N)之外。儲存單元121的例子可包含(但不限於):暫存器(register)。依據本實施例,該預定位置可改為儲存單元121,且該預定位址可指向儲存單元121。在非揮發性記憶體120上電之後,記憶體控制器110可於非揮發性記憶體120的儲存單元121中尋找空記憶體指標器IE,例如依據該預定位址來讀取於儲存單元121中之該預定位置的內容。
第5圖繪示第4圖所示記憶體管理方案的於一實施例中之相關細節。非揮發性記憶體120可包含一偵測電路123,其耦接至儲存單元121與非揮發性記憶體元件122-1、122-2、...與122-N。偵測電路123可偵測該複數個區塊是否均處於一抹除狀態,以選擇性地將空記憶體指標器IE寫入儲存單元121。當該複數個區塊均處於該抹除狀態,偵測電路123將空記憶體指標器IE寫入儲存單元121;否則,偵測電路123避免將空記憶體指標器IE寫入儲存單元121。依據本實施例,偵測電路123可包含一或多組邏輯電路,以供依據該複數個區塊是否均處於一抹除狀態來產生至少一邏輯訊號,其中偵測電路123可依據上述至少一邏輯訊號判斷該複數個區塊是否均處於該抹除狀態。例如,該一或多組邏輯電路可包含邏輯電路{123-0,123-1,123-2,...,123-N},其耦接至非揮發性記憶體元件122-1、122-2、...與122-N中之全部的記憶細胞(memory cell),而上述至少一邏輯訊號可包含邏輯電路{123-0,123-1,123-2,...,123-N}所分別產生的邏輯訊號{L(0),L(1),L(2),...,L(N)},但本發明不限於此。
依據某些實施例,記憶裝置100中之該儲存器可儲存一第一程式碼(例如該原始程式碼,諸如程式碼112C),以供進行記憶裝置100於開機時之控制。例如:在空記憶體指標器IE被找到的狀況下,於跳過該程式碼資訊搜尋之後,記憶體控制器110可進行對應於該第一程式碼之初始設定,以完成該初始化。又例如:在空記憶體指標器IE未被找到的狀況下,於進行該程式碼資訊搜尋之後,記憶體控制器110可檢查是否於非揮發性記憶體120中找到程式碼資訊IPC。當程
式碼資訊IPC被找到,記憶體控制器110可依據程式碼資訊IPC從非揮發性記憶體120載入一第二程式碼(例如該額外程式碼),以供控制記憶裝置100,並且可進行對應於該第二程式碼之初始設定,以完成該初始化。當程式碼資訊IPC未被找到,記憶體控制器110可進行對應於該第一程式碼之初始設定,以完成該初始化。這些實施例與前述實施例相仿的內容在此不重複贅述。
第6圖繪示該方法於一實施例中之工作流程600。
於步驟S10中,非揮發性記憶體120上電。
於步驟S12中,記憶體控制器110可於非揮發性記憶體120中尋找空記憶體指標器IE。
於步驟S14中,記憶體控制器110可檢查是否空記憶體指標器IE被找到。當空記憶體指標器IE被找到,進入步驟S16;否則,進入步驟S20。
於步驟S16中,記憶體控制器110可跳過該程式碼資訊搜尋。
於步驟S18中,記憶體控制器110可進行對應於該原始程式碼(諸如程式碼112C)之初始設定,以完成該初始化。
於步驟S20中,記憶體控制器110可進行該程式碼資訊搜尋。
於步驟S22中,記憶體控制器110可檢查是否搜尋成功。當程式碼資訊IPC被找到,記憶體控制器110可判斷搜尋成功,故進入步驟S24;否則(亦即,程式碼資訊IPC未被找到),記憶體控制器110可判斷搜尋未成功,故進入步驟S18。
於步驟S24中,記憶體控制器110可從非揮發性記憶體120載入該額外程式碼。
於步驟S26中,記憶體控制器110可進行對應於該額外程式碼之初始設定,以完成該初始化。
於步驟S28中,在記憶裝置100之初始化完成之後,記憶裝置100係備妥(ready)來服務主裝置50,以供被主裝置50存取。
於步驟S30中,記憶體控制器110可判斷是否抹除整個儲存區,諸如儲存區120S之全部。例如,當主裝置50傳送一預定指令(諸如一抹除指令)至記憶裝置100以要求記憶裝置100抹除整個儲存區,進入步驟S32;否則,步驟S28。
於步驟S32中,記憶體控制器110可抹除整個儲存區,諸如非揮發性記憶體120的儲存區120S之全部,且於儲存區120S中填入空記憶體指標器IE。
本實施例與前述實施例相仿的內容在此不重複贅述。
依據某些實施例,一或多個步驟可於工作流程600中被新增、修改、或刪除。依據某些實施例,工作流程600中之一部分的步驟的順序可予以變化。
依據某些實施例,記憶裝置100可應用於高端產品(high-end product)。舉例來說,快閃記憶體製造商可採用較新的技術製造具備超大儲存空間的快閃記憶體,而非揮發性記憶體120可為具備超大儲存空間的這些快閃記憶體中之一者。此狀況下,如果沒有採用本發明之關於空記憶體指標器IE的設計,當非揮發性記憶體120是空的,時間就浪費在該程式碼資訊搜尋,尤其是,該程式碼資訊搜尋的時間可能很長,使初始化的時間也很長,例如達到幾秒,其中可能有搜尋速度與搜尋有效性之間的權衡(trade-off)。基於該方法,當空記憶體指標器IE被找到,記憶體控制器110不需要浪費時間在該程式碼資訊搜尋。因此,本發明的方法及相關裝置能在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置100之最佳化效能。
依據某些實施例,記憶裝置100可應用於低端產品(low-end product),以節省成本、及/或避免資源浪費。舉例來說,當快閃記憶體製造商採用較新的技術製造具備超大儲存空間的快閃記憶體時,可能以極低價釋出某些降級的(downgraded)快閃記憶體、且不保證這些降級的快閃記憶體可用。於這些實施例中,非揮發性記憶體120中之該一或多個非揮發性記憶體元件(例如非揮發性記憶體元件122-1、122-2、...與122-N)可以是降級的快閃記憶體裸
晶(downgraded flash die),且該複數個區塊當中可能有許多壞區塊,即,不可用區塊,例如可用區塊的數量對該複數個區塊的總區塊數之比率可為90%、50%、30%、10%、或更低。此狀況下,如果沒有採用本發明之關於空記憶體指標器IE的設計,當非揮發性記憶體120是空的,時間就浪費在該程式碼資訊搜尋,尤其是,該程式碼資訊搜尋的時間可能變得更長,使初始化的時間對應地變得更長,例如超過十秒,其中搜尋點的密度可能需要增加以改進搜尋有效性,這可造成搜尋速度變慢。基於該方法,當空記憶體指標器IE被找到,記憶體控制器110不需要浪費時間在該程式碼資訊搜尋。因此,本發明的方法及相關裝置能在沒有副作用或較不可能帶來副作用之狀況下達到記憶裝置100之最佳化效能,且能達到多個目標諸如節省成本、避免資源浪費等。以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
Claims (20)
- 一種用來於一記憶裝置中進行初始化之方法,該記憶裝置包含一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含一或多個非揮發性記憶體元件(NV memory element),該一或多個非揮發性記憶體元件包含複數個區塊(block),該方法包含有:在該非揮發性記憶體上電之後,於該非揮發性記憶體中尋找一空記憶體指標器(empty memory indicator),其中該空記憶體指標器係可應用於(applicable to)判斷該非揮發性記憶體是否為空的;以及依據該空記憶體指標器是否被找到,選擇性地跳過(skip)或進行於該非揮發性記憶體中的程式碼資訊搜尋,以完成該初始化,其中該初始化包含該記憶裝置之至少一初始設定,以及當該空記憶體指標器被找到,該程式碼資訊搜尋被跳過,否則,該程式碼資訊搜尋被進行。
- 如申請專利範圍第1項所述之方法,其中該空記憶體指標器包含一預定資料型樣(predetermined data pattern);以及於該非揮發性記憶體中尋找該空記憶體指標器之步驟另包含:讀取該非揮發性記憶體以取得一或多組讀取資料;以及檢查是否該一或多組讀取資料中存在該預定資料型樣,以判斷是否該空記憶體指標器被找到,其中當該一或多組讀取資料中存在該預定資料型樣,該空記憶體指標器被找到,否則,該空記憶體指標器未被找到。
- 如申請專利範圍第1項所述之方法,其中於該非揮發性記憶體中尋找該空記憶體指標器之步驟另包含:在該非揮發性記憶體上電之後,於該非揮發性記憶體的一儲存區中尋找該空記憶體指標器,其中該儲存區包含該複數個區塊中的至少一部分區塊。
- 如申請專利範圍第1項所述之方法,其中於該非揮發性記憶體中尋找該空記憶體指標器之步驟另包含:在該非揮發性記憶體上電之後,於該非揮發性記憶體的一儲存單元中尋找該空記憶體指標器,其中該儲存單元位於該一或多個非揮發性記憶體元件之外。
- 如申請專利範圍第4項所述之方法,其中該非揮發性記憶體包含:一偵測電路,耦接至該儲存單元與該一或多個非揮發性記憶體元件,用來偵測該複數個區塊是否均處於一抹除狀態,以選擇性地將該空記憶體指標器寫入該儲存單元,其中當該複數個區塊均處於該抹除狀態,該偵測電路將該空記憶體指標器寫入該儲存單元,否則,該偵測電路避免將該空記憶體指標器寫入該儲存單元。
- 如申請專利範圍第5項所述之方法,其中該偵測電路包含:一或多組邏輯電路,耦接至該一或多個非揮發性記憶體元件中之全部的記憶細胞(memory cell),用來依據該複數個區塊是否均處於一抹除狀態來產生至少一邏輯訊號,其中該偵測電路依據該至少一邏輯訊號判斷該複數個區塊是否均處於該抹除狀態。
- 如申請專利範圍第1項所述之方法,其中該記憶裝置包含一儲存器,且該儲存器位於該非揮發性記憶體之外,其中該儲存器儲存一第一程式碼,以供進行該記憶裝置於開機時之控制;以及該方法另包含:於跳過該程式碼資訊搜尋之後,進行對應於該第一程式碼之初始設定,以完成該初始化。
- 如申請專利範圍第1項所述之方法,其中該記憶裝置包含一儲存器,且該儲存器位於該非揮發性記憶體之外,其中該儲存器儲存一第一程式碼,以供進行該記憶裝置於開機時之控制;以及該方法另包含:於進行該程式碼資訊搜尋之後,檢查是否於該非揮發性記憶體中找到程式碼資訊;當該程式碼資訊被找到,依據該程式碼資訊從該非揮發性記憶體載入(load)一第二程式碼,以供控制該記憶裝置;以及進行對應於該第二程式碼之初始設定,以完成該初始化。
- 如申請專利範圍第1項所述之方法,其中該記憶裝置包含一儲存器,且該儲存器位於該非揮發性記憶體之外,其中該儲存器儲存一第一程式碼,以供進行該記憶裝置於開機時之控制;以及該方法另包含:於進行該程式碼資訊搜尋之後,檢查是否於該非揮發性記憶體中找到程式碼資訊;以及當該程式碼資訊未被找到,進行對應於該第一程式碼之初始設定,以完成該初始化。
- 如申請專利範圍第1項所述之方法,其中在該記憶裝置之初始化完成之後,該記憶裝置係備妥(ready)來服務一主裝置(host device),以供被該主裝置存取(access)。
- 如申請專利範圍第1項所述之方法,其另包含:抹除該非揮發性記憶體的一儲存區,且於該儲存區中填入該空記憶體指標器,其中該儲存區包含該複數個區塊中的至少一部分區塊。
- 一種記憶裝置,包含有:一非揮發性記憶體(non-volatile memory,NV memory),用來儲存資訊,其中該非揮發性記憶體包含一或多個非揮發性記憶體元件(NV memory element),且該一或多個非揮發性記憶體元件包含複數個區塊(block);以及一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置之運作,其中該控制器包含:一處理電路,用來依據來自一主裝置(host device)的複數個主裝置指令(host command)控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體,其中:在該非揮發性記憶體上電之後,該控制器於該非揮發性記憶體中尋找一空記憶體指標器(empty memory indicator),其中該空記憶體指標器係可應用於(applicable to)判斷該非揮發性記憶體是否為空的;以及依據該空記憶體指標器是否被找到,該控制器選擇性地跳過(skip)或進行於該非揮發性記憶體中的程式碼資訊搜尋,以完成初始化,其中該初始化包含該記憶裝置之至少一初始設定,以及當該空記憶體指標器被找到,該程式碼資訊搜尋被跳過,否則,該程式碼資訊搜尋被進行。
- 如申請專利範圍第12項所述之記憶裝置,其中在該非揮發性記憶體上電之後,該控制器於該非揮發性記憶體的一儲存區中尋找該空記憶體指標器,其中該儲存區包含該複數個區塊中的至少一部分區塊。
- 如申請專利範圍第12項所述之記憶裝置,其中在該非揮發性記憶體上電之後,該控制器於該非揮發性記憶體的一儲存單元中尋找該空記憶體指標器,其中該儲存單元位於該一或多個非揮發性記憶體元件之外。
- 如申請專利範圍第12項所述之記憶裝置,其中在該記憶裝置之初始化完成之後,該記憶裝置係備妥(ready)來服務該主裝置,以供被該主裝置存取。
- 一種電子裝置,其包含如申請專利範圍第12項所述之記憶裝置,且另包含:該主裝置,耦接至該記憶裝置,其中該主裝置包含:至少一處理器,用來控制該主裝置之運作;以及一電源供應電路,耦接至該至少一處理器,用來提供電源予該至少一處理器與該記憶裝置;其中該記憶裝置係用來提供儲存空間給該主裝置。
- 一種記憶裝置之控制器,該記憶裝置包含該控制器與一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含一或多個非揮發性記憶體元件(NV memory element),該一或多個非揮發性記憶體元件包含複數個區塊(block),該控制器包含有:一處理電路,用來依據來自一主裝置(host device)的複數個主裝置指令(host command)控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體,其中:在該非揮發性記憶體上電之後,該控制器於該非揮發性記憶體中尋找一空記憶體指標器(empty memory indicator),其中該空記憶體指標器係可應用於(applicable to)判斷該非揮發性記憶體是否為空的;以及依據該空記憶體指標器是否被找到,該控制器選擇性地跳過(skip)或進行於該非揮發性記憶體中的程式碼資訊搜尋,以完成初始化,其中該初始化包含該記憶裝置之至少一初始設定,以及當該空記憶體指標器被找到,該程式碼資訊搜尋被跳過,否則,該程式碼資訊搜尋被進行。
- 如申請專利範圍第17項所述之控制器,其中在該非揮發性記憶體上電之後,該控制器於該非揮發性記憶體的一儲存區中尋找該空記憶體指標器,其中該儲存區包含該複數個區塊中的至少一部分區塊。
- 如申請專利範圍第17項所述之控制器,其中在該非揮發性記憶體上電之後,該控制器於該非揮發性記憶體的一儲存單元中尋找該空記憶體指標器,其中該儲存單元位於該一或多個非揮發性記憶體元件之外。
- 如申請專利範圍第17項所述之控制器,其中在該記憶裝置之初始化完成之後,該記憶裝置係備妥(ready)來服務該主裝置,以供被該主裝置存取。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107109506A TWI664527B (zh) | 2018-03-20 | 2018-03-20 | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 |
CN201810681123.4A CN110308936B (zh) | 2018-03-20 | 2018-06-27 | 进行初始化的方法、记忆装置及其控制器以及电子装置 |
US16/352,829 US10782901B2 (en) | 2018-03-20 | 2019-03-14 | Method for performing initialization in a memory device, associated memory device and controller thereof, and associated electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107109506A TWI664527B (zh) | 2018-03-20 | 2018-03-20 | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI664527B true TWI664527B (zh) | 2019-07-01 |
TW201941059A TW201941059A (zh) | 2019-10-16 |
Family
ID=67985226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107109506A TWI664527B (zh) | 2018-03-20 | 2018-03-20 | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10782901B2 (zh) |
CN (1) | CN110308936B (zh) |
TW (1) | TWI664527B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI738235B (zh) * | 2020-03-03 | 2021-09-01 | 慧榮科技股份有限公司 | 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200947213A (en) * | 2008-03-01 | 2009-11-16 | Toshiba Kk | Memory system |
TW201333959A (zh) * | 2011-11-06 | 2013-08-16 | Dsp Group Ltd | 用於管理快閃寫入的方法與系統 |
TW201510723A (zh) * | 2009-09-03 | 2015-03-16 | Pioneer Chip Technology Ltd | 以頁面為基礎管理快閃儲存裝置 |
TW201525691A (zh) * | 2013-12-26 | 2015-07-01 | Silicon Motion Inc | 資料儲存裝置以及快閃記憶體控制方法 |
TW201611035A (zh) * | 2013-11-05 | 2016-03-16 | 威盛電子股份有限公司 | 非揮發性記憶體裝置的操作方法 |
TW201614671A (en) * | 2014-10-13 | 2016-04-16 | Silicon Motion Inc | Non-volatile memory device and controller |
TW201618114A (zh) * | 2014-11-07 | 2016-05-16 | 群聯電子股份有限公司 | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 |
TW201714088A (zh) * | 2015-10-15 | 2017-04-16 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
TW201810088A (zh) * | 2013-08-13 | 2018-03-16 | 美商美光科技公司 | 用於自主記憶體搜尋之方法及系統 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3905992B2 (ja) * | 1999-03-23 | 2007-04-18 | 株式会社東芝 | デジタルデータ記録装置 |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US7830732B2 (en) * | 2009-02-11 | 2010-11-09 | Stec, Inc. | Staged-backup flash backed dram module |
GB2472051B (en) * | 2009-07-22 | 2012-10-10 | Wolfson Microelectronics Plc | Power management apparatus and methods |
US20120247420A1 (en) * | 2011-03-30 | 2012-10-04 | GM Global Technolgy Operations LLC | Assembly with adjustable compression load limiter |
US8954700B2 (en) * | 2011-08-02 | 2015-02-10 | Cavium, Inc. | Method and apparatus for managing processing thread migration between clusters within a processor |
DE102013209433A1 (de) * | 2013-05-22 | 2014-11-27 | Robert Bosch Gmbh | Verfahren und Vorrichtungen zum Bereitstellen von Informationen zu Wartungs- und Servicezwecken einer Batterie |
CA2830605A1 (en) * | 2013-10-22 | 2015-04-22 | Ibm Canada Limited - Ibm Canada Limitee | Code versioning for enabling transactional memory region promotion |
US9377854B2 (en) * | 2014-03-28 | 2016-06-28 | Intel Corporation | Technologies for remotely controlling a computing device via a wearable computing device |
CN103955389B (zh) * | 2014-05-06 | 2017-09-29 | 中国科学院微电子研究所 | 一种基于pcm的***启动方法 |
US9846567B2 (en) * | 2014-06-16 | 2017-12-19 | International Business Machines Corporation | Flash optimized columnar data layout and data access algorithms for big data query engines |
US9606865B2 (en) * | 2015-02-23 | 2017-03-28 | Sandisk Technologies Llc | Method and apparatus for configuring a memory device |
KR102298661B1 (ko) * | 2015-04-30 | 2021-09-07 | 삼성전자주식회사 | 저장 장치 및 그것의 초기화 방법 |
TWI566253B (zh) * | 2015-09-02 | 2017-01-11 | 慧榮科技股份有限公司 | 用來管理一記憶裝置之方法以及記憶裝置與控制器 |
US9728262B2 (en) * | 2015-10-30 | 2017-08-08 | Sandisk Technologies Llc | Non-volatile memory systems with multi-write direction memory units |
US10372533B2 (en) * | 2016-03-28 | 2019-08-06 | Via Technologies, Inc. | Non-volatile memory apparatus and empty page detection method thereof |
US20190155517A1 (en) * | 2017-11-21 | 2019-05-23 | Western Digital Technologies, Inc. | Methods and apparatus for memory controller discovery of vendor-specific non-volatile memory devices |
TWI645404B (zh) * | 2017-12-28 | 2018-12-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體操作方法 |
-
2018
- 2018-03-20 TW TW107109506A patent/TWI664527B/zh active
- 2018-06-27 CN CN201810681123.4A patent/CN110308936B/zh active Active
-
2019
- 2019-03-14 US US16/352,829 patent/US10782901B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200947213A (en) * | 2008-03-01 | 2009-11-16 | Toshiba Kk | Memory system |
TW201510723A (zh) * | 2009-09-03 | 2015-03-16 | Pioneer Chip Technology Ltd | 以頁面為基礎管理快閃儲存裝置 |
TW201333959A (zh) * | 2011-11-06 | 2013-08-16 | Dsp Group Ltd | 用於管理快閃寫入的方法與系統 |
TW201810088A (zh) * | 2013-08-13 | 2018-03-16 | 美商美光科技公司 | 用於自主記憶體搜尋之方法及系統 |
TW201611035A (zh) * | 2013-11-05 | 2016-03-16 | 威盛電子股份有限公司 | 非揮發性記憶體裝置的操作方法 |
TW201525691A (zh) * | 2013-12-26 | 2015-07-01 | Silicon Motion Inc | 資料儲存裝置以及快閃記憶體控制方法 |
TW201527974A (zh) * | 2013-12-26 | 2015-07-16 | Silicon Motion Inc | 資料儲存裝置以及快閃記憶體控制方法 |
TW201614671A (en) * | 2014-10-13 | 2016-04-16 | Silicon Motion Inc | Non-volatile memory device and controller |
TW201618114A (zh) * | 2014-11-07 | 2016-05-16 | 群聯電子股份有限公司 | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 |
TW201714088A (zh) * | 2015-10-15 | 2017-04-16 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201941059A (zh) | 2019-10-16 |
CN110308936A (zh) | 2019-10-08 |
CN110308936B (zh) | 2022-05-10 |
US10782901B2 (en) | 2020-09-22 |
US20190294354A1 (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449435B2 (en) | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device | |
TWI643066B (zh) | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 | |
US11630768B2 (en) | Method for managing flash memory module and associated flash memory controller and electronic device | |
US20150058531A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20200125488A1 (en) | Memory system and operating method thereof | |
CN113377687A (zh) | 存储器控制器及其操作方法 | |
TWI693520B (zh) | 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置 | |
US11403018B2 (en) | Method and apparatus for performing block management regarding non-volatile memory | |
TWI655640B (zh) | 資料儲存裝置與資料處理方法 | |
TWI748542B (zh) | 電子裝置、快閃記憶體控制器及快閃記憶體模組進行垃圾收集操作的方法 | |
US11347433B2 (en) | Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device | |
US11055020B2 (en) | Data storage device sharing operations with another data storage device and method of operating the same | |
TWI664527B (zh) | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 | |
US11599275B2 (en) | Memory controller for controlling power loss recovery and method of operating the same | |
TWI808010B (zh) | 資料處理方法及對應之資料儲存裝置 | |
US20240232093A1 (en) | Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table search | |
US20240232074A1 (en) | Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table update | |
TW202414222A (zh) | 資料處理方法及對應之資料儲存裝置 | |
US10169224B2 (en) | Data protecting method for preventing received data from losing, memory storage apparatus and memory control circuit unit | |
CN116246681A (zh) | 存储器装置及其操作方法 |