TWI798632B - 存取快閃記憶體模組的方法和半導體封裝 - Google Patents
存取快閃記憶體模組的方法和半導體封裝 Download PDFInfo
- Publication number
- TWI798632B TWI798632B TW110103668A TW110103668A TWI798632B TW I798632 B TWI798632 B TW I798632B TW 110103668 A TW110103668 A TW 110103668A TW 110103668 A TW110103668 A TW 110103668A TW I798632 B TWI798632 B TW I798632B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- flash memory
- pages
- blocks
- written
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- 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
- 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/0608—Saving storage space on 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7202—Allocation control and policies
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
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)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
本發明揭露了一種用來存取快閃記憶體模組的方法,其中快閃記憶體包含有至少一快閃記憶體晶片,每一快閃記憶體晶片包含有複數個區塊,每一區塊係藉由複數個字元線來實作,每一字元線相對應於K個頁面,且該方法包含有:接收來自主機裝置之資料;產生虛擬資料;以及將資料與所伴隨之虛擬資料寫入複數個特定區塊,其中對於複數個特定區塊之複數個字元線的一部分字元線中的每一字元線,虛擬資料係被寫入至K個頁面中的至少一個頁面,以及來自主機裝置之資料係被寫入至K個頁面中的其它頁面。
Description
本發明係關於一種快閃記憶體,且尤指一種包含有快閃記憶體控制器和快閃記憶體模組的嵌入式多媒體記憶卡(embedded Multi-Media-Card,eMMC).
對於許多電子裝置,(例如:智慧型手機、平板電腦以及筆記型電腦…等等)來說,嵌入式多媒體記憶卡是種流行的儲存元件,在電子裝置中的嵌入式多媒體記憶卡會在工廠中被預先處理以具有啟動程式碼(boot code)、作業系統(operating system,OS)程式碼以及數位內容,使得使用者在產品入手後便可立即使用該電子裝置。
為了能夠快速地將啟動程式碼、作業系統程式碼以及數位內容寫入嵌入式多媒體記憶卡,該嵌入式多媒體記憶卡會被連接至一插槽(socket)或是一工具以進行資料寫入,接著該嵌入式多媒體記憶卡會被嵌上(mounted on)該電子裝置所使用的印刷電路板(printed circuit board,PCB),雖然可執行波峰焊接製程(wave soldering process)來使該嵌入式多媒體記憶卡嵌上於該印刷電路板,然而波峰焊接製程具有較高的溫度,故可能導致記錄於該嵌入式多媒體記憶卡中的
資料損壞或是資料品質下降。
因此,本發明之一目的在於揭露一種用於存取快閃記憶體模組的方法以及相關嵌入式多媒體記憶卡,其可以增加該嵌入式多媒體記憶卡的資料穩固性,以解決上述問題。
根據本發明的一實施例,揭露了一種用來存取快閃記憶體模組的方法,其中該快閃記憶體模組包含有至少一快閃記憶體晶片,每一快閃記憶體晶片包含有複數個區塊,每一區塊係藉由複數個字元線來實作,每一字元線相對應於K個頁面,且每一字元線包含有複數個支持複數個狀態(state)的記憶體單元(memory cell),且該方法包含有:接收來自主機裝置之資料;根據來自主機裝置之資料產生虛擬資料(dummy data);以及將該資料與所伴隨之該虛擬資料寫入複數個特定區塊,其中對於複數個特定區塊之複數個字元線的一部分字元線中的每一字元線,該虛擬資料係被寫入至K個頁面中的至少一個頁面,以及來自主機裝置之該資料係被寫入至K個頁面中的其它頁面。
根據本發明的一實施例,揭露了一種包含有快閃記憶體模組以及快閃記憶體控制器的半導體封裝,其中該快閃記憶體模組包含有至少一快閃記憶體晶片,每一快閃記憶體晶片包含有複數個區塊,每一區塊係藉由複數個字元線來實作,每一字元線相對應於K個頁面,且每一字元線包含有複數個支持複數個狀態的記憶體單元,且該快閃記憶體控制器,耦接於該快閃記憶體模組,用來接收來自主機裝置之資料;根據來自主機裝置之資料產生虛擬資料(dummy data);以及將該資料與所伴隨之該虛擬資料寫入複數個特定區塊,其中對於複
數個特定區塊之複數個字元線的一部分字元線中的每一字元線,該虛擬資料係被寫入至K個頁面中的至少一個頁面,以及來自主機裝置之該資料係被寫入至K個頁面中的其它頁面。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:快閃記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
116:隨機存取記憶體
118:傳輸介面電路
120:快閃記憶體模組
122-4~122-N:快閃記憶體晶片
132:編碼器
134:解碼器
136:隨機化器
138:去隨機化器
PSD(1)~PSD(Ny):電路模組
BL(1)~BL(Nx):位元線
S(1,1)~S(Nx,Ny):次電路模組
MBLS(1,1)~MBLS(Nx,Ny):上選取電路
BLS(1)~BLS(Ny):上選取線
WL(1,1)~WL(Ny,Nz):字元線
M(1,1,1)~M(Nx,Ny,Nz):記憶體單元
MSLS(1,1)~MSLS(Nx,Ny):下選取電路
SLS(1)~SLS(Ny):下選取線
SL(1)~SL(Ny):源極線
S0~S15:狀態
VR1~VR15:讀取電壓
400~414,700~718:步驟
B_1~B_3M:區塊
第1圖為依據本發明一實施例之電子裝置的示意圖。
第2圖為依據本發明一實施例之三維反及閘(3D NAND)快閃記憶體的示意圖。
第3圖為依據本發明一實施例之三層單元(triple-level cell,TLC)區塊的一記憶體單元的複數個狀態(編程狀態)的示意圖。
第4圖為依據本發明一實施例之存取快閃記憶體模組的方法的示意圖。
第5圖示出了在快閃記憶體模組中的複數個區塊。
第6圖為依據本發明一實施例之四層單元(quad-level cell,QLC)區塊的一記憶體單元的複數個狀態(編程狀態)的示意圖。
第7圖為依據本發明另一實施例之存取快閃記憶體模組的方法的示意圖。
第1圖為依據本發明一實施例之電子裝置10的示意圖,其中電子裝置10可包含有主機裝置50以及記憶體裝置100,主機裝置50可包含有至少一處理器(例如一個或多個處理器),其可被概括地視為處理器52,且另包含有電源供應電路54,耦接於處理器52。處理器52用來控制主機裝置50的操作,而電源供應電路54用來提供電源給處理器52以及記憶體裝置100,且將一個或多個驅動電壓輸出至記憶體裝置100,記憶體裝置100可用來提供儲存空間給主機裝置50,且從主機裝置50取得一個或多個驅動電壓作為記憶體裝置100的電源,在本實施例中,該
記憶體裝置可以是一嵌入式多媒體記憶卡;以及當該嵌入式多媒體記憶卡在工廠內時,主機裝置50可為一資料寫入機器,用來將啟動程式碼、作業系統程式碼、數位內容以及任何其它所需資料寫入該嵌入式多媒體記憶卡;且當該嵌入式多媒體記憶卡被嵌上印刷電路板並且被置入於電子裝置(例如智慧型手機、平板電腦或任何其它的可攜式電子裝置)中時,主機裝置50可為一處理器。根據本實施例,記憶體裝置100可包含有快閃記憶體控制器110,且可另包含有快閃記憶體模組120,其中快閃記憶體控制器110係用來控制記憶體裝置100的操作以及存取快閃記憶體模組120,且快閃記憶體模組120係用來儲存資訊,快閃記憶體模組120可包含有至少一快閃記憶體晶片,例如複數個快閃記憶體晶片122-1、122-2、...、以及122-N,其中“N”可代表大於1的正整數。
如第1圖所示,快閃記憶體控制器110可包含有處理電路(例如微處理器112)、儲存單元(例如唯讀記憶體(read-cnly memory,ROM)112M)、控制邏輯電路114、隨機存取記憶體(random-access memory,RAM)116以及傳輸介面電路118,其中上述元件可經由一匯流排來彼此耦接,隨機存取記憶體116係藉由一靜態隨機存取記憶體(Staitc RAM,SRAM)來實作,但是本發明不限於此,隨機存取記憶體116可用來提供內部儲存空間給快閃記憶體控制器,舉例來說,隨機存取記憶體116可被用來作為一緩衝記憶體以對資料進行緩衝,此外,本實施例的唯讀記憶體112M係用來儲存程式碼112C,且微處理器112係用來執行程式碼112C以控制快閃記憶體模組120的存取,需要注意的是,在一些範例中,程式碼112C可儲存在隨機存取記憶體116或任何類型的記憶體,此外,控制邏輯電路114可用來控制快閃記憶體模組120,且可含有編碼器132、解碼器134、隨機化器(randomizer)136、去隨機化器(de-randomizer)138以及其它電路,傳輸介面電路118可符合一特定通訊標準,例如串行先進技術附件(Serial Advanced Technology
Attachment,Serial ATA或SATA)標準、外部組件互連(Peripheral Component Interconnect,PCI)標準、快速外部組件互連(Peripheral Component Interconnect Express,PCIe)標準、通用快閃記憶體儲存(Universal Flash Storage,UFS)標準等等,並且可根據該特定通訊標準來進行通訊,舉例來說,進行主機裝置50與記憶體裝置100之間的通訊,其中主機裝置50可包含有符合特定通訊標準的相對應的傳輸介面電路,以進行主機裝置50與記憶體裝置100之間的通訊。
在本實施例中,主機裝置50可將主機命令以及相對應的邏輯位址傳送至快閃記憶體控制器110,以存取記憶體裝置100,快閃記憶體控制器110接收主機命令以及邏輯位址,並且將主機命令轉譯為記憶體操作命令(可簡稱為操作命令),並且進一步地藉由操作命令來控制快閃記憶體模組120,以對快閃記憶體120中具有實體位址的記憶體單元(例如資料頁面)進行讀取、寫入以及編程(programing)等等,其中實體位址相對應於邏輯位址,當快閃記憶體控制器110對複數個快閃記憶體晶片122-1、122-2、...、122-N的任一快閃記憶體晶片122-n進行一抹除操作(其中“n”可代表區間[1,N]中任一整數),快閃記憶體晶片122-n之多個區塊中的至少一區塊可被抹除,其中該多個區塊的任一區塊可包含有多個頁面(例如資料頁面),且可在一個或多個頁面上進行一存取操作(例如讀取或寫入)。
第2圖為依據本發明一實施例之一三維反及閘(3D NAND)快閃記憶體的示意圖,舉例來說,在複數個快閃記憶體晶片122-1、122-2、...、122-N的上述至少一快閃記憶體晶片中的任一記憶體元件可基於第2圖所示的三維反及閘快閃記憶體來實作,但本發明不限於此。
根據本實施例,三維反及閘快閃記憶體可包含有以三維結構作排列的複數個記憶體單元,例如(Nx * Ny * Nz)個記憶體單元{{M(1,1,1),...,M(Nx,1,1)},{M(1,2,1),...,M(Nx,2,1)},...,{M(1,Ny,1),...,M(Nx,Ny,1)}},{{M(1,1,2),...,M(Nx,1,2)},{M(1,2,2),...,M(Nx,2,2)},...,{M(1,Ny,2),...,M(Nx,Ny,2)}},...,以及{{M(1,1,Nz),...,M(Nx,1,Nz)},{M(1,2,Nz),...,M(Nx,2,Nz)},...,{M(1,Ny,Nz),...,M(Nx,Ny,Nz)}},其分別被設置於垂直於Z軸的Nz個層當中,且分別對齊於相對應於X軸、Y軸和Z軸的三個方向,且可進一步地包含有複數個選取電路(selector circuit)以進行選取控制,例如設置在該Nz個層的上層的(Nx * Ny)個上選取電路(upper selector circuit){MBLS(1,1),...,MBLS(Nx,1)},{MBLS(1,2),...,MBLS(Nx,2)},...,{MBLS(1,Ny),...,MBLS(Nx,Ny)},以及設置在該Nz個層的下層的(Nx * Ny)個下選取電路(lower selector circuit){MSLS(1,1),...,MSLS(Nx,1)},{MSLS(1,2),...,MSLS(Nx,2)},...,{MSLS(1,Ny),...,MSLS(Nx,Ny)},此外,三維反及閘快閃記憶體可包含有用來進行存取控制的複數個位元線(bit line)以及複數個字元線(word line),例如設置於上層之上的頂層的Nx個位元線BL(1)、...、BL(Nx)以及分別設置於該Nz個層中的(Ny * Nz)個字元線{WL(1,1),WL(2,1),...,WL(Ny,1)},{WL(1,2),WL(2,2),...,WL(Ny,2)},...,{WL(1,Nz),WL(2,Nz),...,WL(Ny,Nz)},此外,三維反及閘快閃記憶體可包含有複數個選取線(selection line)以進行選取控制,例如設置於上層的Ny個上選取線BLS(1)、BLS(2)、...、以及BLS(Ny)以及設置於下層的Ny個下選取線SLS(1)、SLS(2)、...、以及SLS(Ny),且可進一步地包含有複數個源極線(source line)以提供參考位準,例如被設置於底層的Ny個源極線SL(1)、SL(2)、...、以及SL(Ny)。
如第2圖所示,三維反及閘快閃記憶體可被劃分為沿著Y軸分佈的Ny
個電路模組PS2D(1)、PS2D(2)、...、PS2D(Ny),為了更好的理解,電路模組PS2D(1)、PS2D(2)、...、PS2D(Ny)可具有相似於具有設置於單一層的多個記憶體單元的平面反及閘(planar NAND)快閃記憶體的一些電子特性,並且可分別視為偽二維(pseudo-2D)電路模組,但本發明不限於此,此外,電路模組PS2D(1)、PS2D(2)、...、PS2D(Ny)中的任一電路模組PS2D(ny)可包含有Nx個次電路模組(secondary circuit module)S(1,ny)、...、S(Nx,ny),其中“ny”可代表區間[1,Ny]中任一整數,舉例來說,電路模組PS2D(1)可包含有Nx個次電路模組S(1,1)、...、S(Nx,1),電路模組PS2D(2)可包含有Nx個次電路模組S(1,2)、...、S(Nx,2)、...、且電路模組PS2D(Ny)可包含有Nx個次電路模組S(1,Ny)、...、S(Nx,Ny)。在電路模組PS2D(ny)中,次電路模組S(1,ny)、...、S(Nx,ny)中任一次電路模組S(nx,ny)可包含有Nz個記憶體單元M(nx,ny,1)、M(nx,ny,2)、...、M(nx,ny,Nz),且可包含有相對應於記憶體單元M(nx,ny,1)、M(nx,ny,2)、...、M(nx,ny,Nz)的一組選取電路,例如上選取電路MBLS(nx,ny)以及下選取電路MSLS(nx,ny),其中“nx”可代表區間[1,Nx]內任一整數,且上選取電路MBLS(nx,ny)、下選取電路MSLS(nx,ny)以及記憶體單元M(nx,ny,1)、M(nx,ny,2)、...、M(nx,ny,Nz)可藉由電晶體來實作,舉例來說,上選取電路MBLS(nx,ny)以及下選取電路MSLS(nx,ny)可用一般的電晶體來實作而不需要用到任何浮閘(floating gate),且記憶體單元M(nx,ny,1)、M(nx,ny,2)、...、M(nx,ny,Nz)中任一記憶體單元M(nx,ny,nz)可用一浮閘電晶體來實作,其中“nz”可代表區間[1,Nz]中任一整數,但是本發明不限於此,此外,電路模組PS2D(ny)中的上選取電路MBLS(1,ny)、...、MBLS(Nx,ny)可根據相對應的選取線BLS(ny)上的選取訊號來進行選取,且電路模組PS2D(ny)中的下選取電路MSLS(1,ny)、...、MSLS(Nx,ny)可根據相對應的選取線SLS(ny)上的選取訊號來進行選取。
在快閃記憶體模組120中,當快閃記憶體晶片122-1-122-N中任一者的區塊作為單層單元(single-level cell,SLC)區塊時,該區塊中的每一實體頁面皆會相對應於一個邏輯頁面,也就是說,該實體頁面的每一記憶體單元係用來儲存單一位元,其中一個實體頁面可包含有所有由一字元線所控制的電晶體(例如相對應於字元線WL(1,Nz)的記憶體單元M(1,1,Nz)-M(Nx,1,Nz)構成一個實體頁面);當快閃記憶體晶片122-1-122-N中任一者的區塊作為多層單元(multiple-level cell,MLC)區塊時,該區塊中的每一實體頁面皆會相對應於兩個邏輯頁面,也就是說,該實體頁面的每一記憶體單元係用來儲存兩個位元;當快閃記憶體晶片122-1-122-N中任一者的區塊作為三層單元(triple-level cell,TLC)區塊時,該區塊中的每一實體頁面皆會相對應於三個邏輯頁面,也就是說,該實體頁面的每一記憶體單元係用來儲存三個位元;當快閃記憶體晶片122-1-122-N中任一者的區塊作為四層單元(quad-level cell,QLC)區塊時,該區塊中的每一實體頁面皆會相對應於四個邏輯頁面,也就是說,該實體頁面的每一記憶體單元係用來儲存四個位元。
第3圖為依據本發明一實施例之三層單元區塊的一記憶體單元的複數個狀態(編程狀態)的示意圖,如第3圖所示,每一記憶體單元可具有八個狀態,且每一狀態代表三個位元的不同組合,三個位元分別是最低有效位元(least significant bit,LSB)、中間有效位元(center significant bit,CSB)以及最高有效位元(most significant bit,MSB),在第3圖所示之實施例中,當記憶體單元被編程以具有狀態S0時,儲存在記憶體單元中的最低有效位元、中間有效位元、最高有效位元會分別是(1,1,1);當記憶體單元被編程以具有狀態S1時,儲存在記憶體單元中的最低有效位元、中間有效位元、最高有效位元會分別是(1,1,0);當記憶體單元被編程以具有狀態S2時,儲存在記憶體單元中的最低有效位元、中間有
效位元、最高有效位元會分別是(1,0,0);當記憶體單元被編程以具有狀態S3時,儲存在記憶體單元中的最低有效位元、中間有效位元、最高有效位元會分別是(0,0,0);當記憶體單元被編程以具有狀態S4時,儲存在記憶體單元中的最低有效位元、中間有效位元、最高有效位元會分別是(0,1,0);當記憶體單元被編程以具有狀態S5時,儲存在記憶體單元中的最低有效位元、中間有效位元、最高有效位元會分別是(0,1,1);當記憶體單元被編程以具有狀態S6時,儲存在記憶體單元中的最低有效位元、中間有效位元、最高有效位元會分別是(0,0,1);以及當記憶體單元被編程以具有狀態S7時,儲存在記憶體單元中的最低有效位元、中間有效位元、最高有效位元會分別是(1,0,1)。
當快閃記憶體控制器110要讀取最低有效位元時,快閃記憶體控制器110可控制快閃記憶體模組120套用兩個讀取電壓VR3、VR7來讀取記憶體單元,若該記憶體單元於套用讀取電壓VR7時為導通或者該記憶體單元於套用讀取電壓VR3時為非導通,則判斷這個最低有效位元為“1”;若該記憶體單元於套用讀取電壓VR7時為非導通,且套用讀取電壓VR3時為導通,則判斷這個最低有效位元為“0”。當快閃記憶體控制器110要讀取中間有效位元時,快閃記憶體控制器110可控制快閃記憶體模組120套用三個讀取電壓VR2、VR4以及VR6來讀取該記憶體單元,若該記憶體單元於套用讀取電壓VR2時為非導通,則判斷這個中間有效位元為“1”;若該記憶體單元於套用讀取電壓VR4時為非導通,且套用讀取電壓VR2時為導通,則判斷這個中間有效位元為“0”;若該記憶體單元於套用讀取電壓VR6時為非導通,且套用讀取電壓VR4時為導通,則判斷這個中間有效位元為“1”;以及,若該記憶體單元於套用讀取電壓VR6時為導通,則判斷這個中間有效位元為“0”。當快閃記憶體控制器110要讀取最高有效位元時,快閃記憶體控制器110可控制快閃記憶體模組120套用兩個讀取電壓VR1、VR5來讀取
該記憶體單元,若該記憶體單元於套用讀取電壓VR5時為導通,或者該記憶體單元於套用讀取電壓VR1時為非導通,則判斷這個最高有效位元為“1”;若該記憶體單元於套用讀取電壓VR5時為非導通,且若該記憶體單元於套用讀取電壓VR1時為導通,則判斷這個最高有效位元為“0”。
在第3圖所示之實施例中,單一字元線上所有記憶體單元的最低有效位元構成了一最低有效位元資料頁面(邏輯頁面),單一字元線上所有記憶體單元的中間有效位元構成了一中間有效位元資料頁面(邏輯頁面),以及單一字元線上所有的記憶體單元的最高有效位元構成了一最高有效位元資料頁面(邏輯頁面),也就是說,該三層單元區塊的每一字元線具有三個資料頁面:最低有效位元資料頁面、中間有效位元資料頁面以及最高有效位元資料頁面。
值得注意的是,第3圖所示的格雷碼(gray code)僅作為說明之用,而並非作為本發明的限制,任何適當的格雷碼皆可應用於記憶體裝置100,且用於判斷最低有效位元、中間有效位元以及最高有效位元的讀取電壓可隨之改變。
如第3圖所示,由於每兩個相鄰狀態之間的電壓差距很小,故快閃記憶體模組120可能很容易因為這些狀態的電壓偏移(voltage shifting)而遭遇資料品質問題,尤其是當記憶體裝置100處於高溫下,例如在前述的波峰焊接製程的情況下,因此,為了增加快閃記憶體模組120的資料穩固性,於記憶體裝置100被嵌上印刷電路板並且被置入電子裝置之前,資料僅會被寫入至每一字元線中的單一資料頁面或是兩個資料頁面以使這些狀態具有較大的區間,接著,在記憶體裝置100被置入於該電子裝置並且處於較佳環境之後,快閃記憶體控制器110可對快閃記憶體模組120進行垃圾回收操作以重整資料,進而增加資料密度以及
釋放記憶體空間。
第4圖為依據本發明一實施例之存取快閃記憶體模組的方法的示意圖,在步驟400中,流程開始,記憶體裝置100係連接於主機裝置50,且主機裝置50準備將資料寫入記憶體裝置100,在本實施例中,記憶體裝置100係為單一半導體封裝,例如嵌入式多媒體記憶卡,亦即記憶體裝置100尚未嵌上印刷電路板且並未置入電子裝置中,此外,主機裝置50係為工廠內的資料寫入裝置,在步驟402中,快閃記憶體控制器110開始從主機裝置50接收資料,在步驟404中,快閃記憶體控制器110決定寫入機制,也就是說,快閃記憶體控制器110會將來自主機裝置50的資料寫入至複數個區塊中的每一字元線的僅單一資料頁面、複數個區塊中的每一字元線的僅兩個資料頁面、或複數個區塊中的每一字元線的三個資料頁面(即全部的資料頁面),在本實施例中,該寫入機制可由資料大小以及快閃記憶體模組120的儲存容量來決定,且該寫入機制可由工程師來設定,在本實施例中,若該資料的大小係小於快閃記憶體模組120的儲存容量的三分之一,則該字元線中僅有單一資料頁面會被用來儲存來自主機裝置50的資料;若該資料的大小係大於快閃記憶體模組120的儲存容量的三分之一且小於快閃記憶體模組120的儲存容量的三分之二,則該字元線中僅有兩個資料頁面會被用來儲存來自主機裝置50的資料;以及,若該資料的大小係大於快閃記憶體模組120的儲存容量的三分之二,則該字元線中三個資料頁面(即全部的資料頁面)會被用來儲存來自主機裝置50的資料。若該寫入機制指出該字元線中僅有單一資料頁面被用來儲存來自主機裝置50的資料,則流程進入步驟406;若該寫入機制指出該字元線中僅有兩個資料頁面被用來儲存來自主機裝置50的資料,則流程進入步驟410。
在步驟406中,快閃記憶體控制器110根據從主機裝置50收到的資料來產生對應於該字元線中兩個資料頁面的虛擬資料(dummy data),在步驟408中,對於用來儲存來自主機裝置50的資料的複數個特定區塊中的每一字元線,該虛擬資料會被寫入至兩個資料頁面,以及來自主機裝置50的資料則會藉由僅使用該記憶體單元中兩個非相鄰狀態來被寫入至另外一個資料頁面,其中該兩個非相鄰狀態分別相對應於“0”和“1”,以第3圖為例,來自主機裝置50的資料會被寫入至最低有效位元資料頁面,且具有“1”的狀態S0以及具有“0”的狀態S5可被選取作為上述兩個非相鄰狀態,需注意的是,狀態S0和狀態S5並非作為本發明的限制,其它組合例如S0和S6、或S3和S7的組合等等皆可被選取,此時,若對應於一記憶體單元的接收資料具有邏輯值“1”,快閃記憶體控制器110可產生虛擬資料CSB=1以及MSB=1以對應於狀態S0;以及,若接收資料具有邏輯值“0”,快閃記憶體控制器110可產生虛擬資料CSB=1以及MSB=1以相對應於狀態S5,也就是說,在本實施例中,來自主機裝置50的資料會被寫入至複數個特定區塊的字元線的LSB資料頁面,且由快閃記憶體控制器110所產生的該虛擬資料會被寫入至該複數個特定區塊的字元線中的CSB資料頁面以及MSB資料頁面。
此外,對於該複數個特定區塊中任一特定區塊,一邏輯至實體(logical-to-physical,L2P)映射表及/或一實體至邏輯(physical-to-logical,P2L)映射表可被建立來記錄邏輯位址以及實體位址之間的映射關係,且該L2P表及/或該P2L表係被寫入至該特定區塊的最後一個資料頁面,在本實施例中,因為快閃記憶體控制器110所產生的虛擬資料係被寫入至該複數個特定區塊的字元線的CSB資料頁面以及MSB資料頁面,該特定區塊中僅有大約三分之一的實體位址會對應於有效邏輯位址,以及該特定區塊中大約三分之二的實體位址則不對應於有效邏輯位址。
在步驟410,快閃記憶體控制器110根據從主機裝置50收到的資料來產生對應於字元線之單一頁面的虛擬資料,在步驟412,該虛擬資料會被寫入至該單一頁面,且來自主機裝置50的資料會藉由僅使用四個彼此不相鄰的狀態被寫入至其它兩個頁面,其中該四個狀態分別相對應於該兩個頁面的(1,1)、(1,0)、(0,0)以及(0,1),以第3圖為例,來自主機裝置50的資料會被寫入至LSB資料頁面以及MSB資料頁面,且對應於(LSB=1、MSB=1)的狀態S0、對應於(LSB=1、MSB=0)的狀態S2、對應於(LSB=0、MSB=0)的狀態S4以及對應於(LSB=0、MSB=1)的狀態S6可被選取作為上述四個狀態,要注意的是,此非本發明的限制。此時,若對應於一記憶體單元的接收資料具有數值(LSB=1、MSB=1),則快閃記憶體控制器110可產生對應於狀態S0的虛擬資料CSB=1;若對應於一記憶體單元的接收資料具有數值(LSB=1、MSB=0),則快閃記憶體控制器110可產生對應於狀態S2的虛擬資料CSB=0;若對應於一記憶體單元的接收資料具有數值(LSB=0、MSB=0),則快閃記憶體控制器110可產生對應於狀態S4的虛擬資料CSB=1;以及若對應於一記憶體單元的接收資料具有數值(LSB=0、MSB=1),則快閃記憶體控制器110可產生對應於狀態S6的虛擬資料CSB=0,也就是說,在本實施例中,來自主機裝置50的資料會被寫入至複數個特定區塊的字元線的LSB資料頁面以及MSB資料頁面,而快閃記憶體控制器110所產生的虛擬資料會被寫入至該複數個特定區塊的字元線的CSB資料頁面。
此外,對於該複數個特定區塊中的任一特定區塊,L2P表及/或P2L表係被寫入至該特定區塊的最後一個資料頁面,在本實施例中,因為快閃記憶體控制器110所產生的虛擬資料係被寫入至該複數個特定區塊的字元線的CSB資料頁面,該特定區塊中僅有大約三分之二的實體位址對應於有效邏輯位址,以
及該特定區塊中大約三分之一的實體位址則不對應於有效邏輯位址。
此外,若寫入機制指示字元線的三個資料頁面(即全部的資料頁面)被使用來儲存來自主機裝置50的資料,則該資料係藉由傳統技術被寫入至快閃記憶體模組120。
簡單總結步驟404~步驟412,快閃記憶體模組120的大部分或全部的區塊可作為具有較高資料密度的三層單元區塊,然而,考慮到記憶裝置100可能在製造過程中處於高溫,用來儲存來自主機裝置50的資料的複數個特定區塊係作為具有較少狀態以及較高資料穩固性的多層單元區塊或單層單元區塊,以避免製造過程中的資料損害。第5圖根據本發明一實施例繪示出在快閃記憶體模組中的複數個區塊,在第5圖中,假設該複數個區塊的總數為“3*M”個。若區塊B_1~B(M-1)作為三層單元區塊可儲存接收自主機裝置50的全部資料,當每一特定區塊係作為單層單元區塊來使用時,快閃記憶體控制器110可將該資料寫入至複數個特定區塊,例如B_1~B_(2*M+X),其中“X”可以是任何小於M的適當數值。若區塊B_1~B(M-1)作為三層單元區塊並不足以儲存接收自主機裝置50的全部資料,然而區塊B_1~B(2*M-1)作為三層單元區塊則可儲存接收自主機裝置50的全部資料,則當每一特定區塊係作為多層單元區塊來使用時,快閃記憶體控制器110可將該資料寫入至複數個特定區塊,例如B_1~B_(2*M+X)。
在步驟414,在記憶體裝置100被置入於電子裝置以及該電子裝置開始運作後,也就是說,第1圖所示之主機裝置50此時成為該電子裝置的一處理器或一晶片組,快閃記憶體控制器110會在快閃記憶體模組120上進行一垃圾回收操作以將複數個區塊中部份區塊的有效資料移動至複數個空白區塊,以釋放該
部分區塊的空間,其中該複數個特定區塊中部分特定區塊的有效資料係被寫入至該複數個空白區塊的每一字元線的全部三個頁面,以第5圖為例,若作為單層單元區塊的特定區塊B_1~B_(2*M+X)儲存來自主機裝置50的資料,接著該垃圾回收操作可被進行以將該有效資料從區塊B_1~B_3移動至作為三層單元區塊的空白區塊B_(3*M-1),且將該有效資料從區塊B_4~B_6移動至作為三層單元區塊的空白區塊B_3*M,以增加資料密度,且區塊B_1~B_6被抹除以釋放記憶體空間。
值得注意的是,讓該複數個特定區塊作為多層單元區塊或單層單元區塊來儲存來自主機裝置50的資料的目的在於增加資料穩固性以通過高溫製程(例如波峰焊接製程),且垃圾回收操作所釋放之該複數個特定區塊中的部分特定區塊將作為三層單元區塊以供後續使用,也就是說,在區塊B_1~B_6被抹除以釋放記憶體空間後,區塊B_1~B_6下一次將會作為三層單元區塊來儲存來自主機裝置50的資料,在本實施例中,區塊B_1~B_6僅在第一次資料寫入操作時會作為單層單元區塊或多層單元區塊來使用。
在一實施例中,上述垃圾回收操作可以在用戶第一次啟動電子裝置之後立即被進行,也就是說,在用戶啟動電子裝置之後,記憶體裝置100可以主動地排程該垃圾回收操作,以在適當的時間點進行該垃圾回收操作。
在一實施例中,快閃記憶體控制器110可以主動地進行垃圾回收操作,即使用來儲存來自主機裝置50的資料的複數個區塊的品質好到無需在一正常操作中進行該垃圾回收操作,換句話說,因為在步驟404~步驟412中故意將該複數個區塊作為單層單元區塊或多層單元區塊來使用,此時快閃記憶體控制
器110便依序地重新排列該資料,以使該複數個區塊中一部分的區塊成為具有較高資料密度的三層單元區塊。
值得注意的是,上述實施例也可以應用於具有四層單元區塊的快閃記憶體模組120,第6圖為依據本發明一實施例之四層單元區塊的一記憶體單元的複數個狀態(編程狀態)的示意圖,如第6圖所示,每一記憶體單元可具有十六個狀態,且每一狀態代表被稱為最高位元(top bit)、較高位元(upper bit)、中間位元(middle bit)以及較低位元(lower bit)的四個位元的不同組合,如第6圖所示之實施例,當該記憶體單元被編程以具有狀態S0時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(1,1,1,1);當該記憶體單元被編程以具有狀態S1時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(1,1,1,0);當該記憶體單元被編程以具有狀態S2時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(1,0,1,0);當該記憶體單元被編程以具有狀態S3時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(1,0,0,0);當該記憶體單元被編程以具有狀態S4時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(1,0,0,1);當該記憶體單元被編程以具有狀態S5時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(0,0,0,1);當該記憶體單元被編程以具有狀態S6時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(0,0,0,0);當該記憶體單元被編程以具有狀態S7時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(0,0,1,0);當該記憶體單元被編程以具有狀態S8時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(0,1,1,0);當該記憶體單元被編程以具有狀態S9時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(0,1,0,0);當該
記憶體單元被編程以具有狀態S10時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(1,1,0,0);當該記憶體單元被編程以具有狀態S11時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(1,1,0,1);當該記憶體單元被編程以具有狀態S12時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(0,1,0,1);當該記憶體單元被編程以具有狀態S13時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(0,1,1,1);當該記憶體單元被編程以具有狀態S14時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(0,0,1,1);以及當該記憶體單元被編程以具有狀態S15時,儲存在該記憶體單元的最高位元、較高位元、中間位元以及較低位元係(1,0,1,1)。
在傳統技術中,當快閃記憶體控制器110需要讀取最高位元時,快閃記憶體控制器110可控制快閃記憶體模組120套用四個讀取電壓VR5、VR10、VR12以及VR15來讀取記憶體單元;當快閃記憶體控制器110需要讀取較高位元時,快閃記憶體控制器110可控制快閃記憶體模組120套用三個讀取電壓VR2、VR8以及VR14來讀取記憶體單元;當快閃記憶體控制器110需要讀取中間位元時,快閃記憶體控制器110可控制快閃記憶體模組120套用四個讀取電壓VR3、VR7、VR9以及VR13來讀取記憶體單元;以及當快閃記憶體控制器110需要讀取較低位元時,快閃記憶體控制器110可控制快閃記憶體模組120套用四個讀取電壓VR1、VR4、VR6以及VR11來讀取記憶體單元。
第7圖為依據本發明另一實施例之存取快閃記憶體模組的方法的示意圖,在步驟700,流程開始,記憶體裝置100係連接於主機裝置50,且主機裝置50準備將資料寫入至記憶體裝置100,在本實施例中,記憶體裝置100尚未嵌
上印刷電路板且未置入電子裝置中,以及主機裝置50係為工廠內的資料寫入裝置,在步驟702,快閃記憶體控制器110開始從主機裝置50接收資料,在步驟704,快閃記憶體控制器110決定寫入機制,也就是說,快閃記憶體控制器110將來自主機裝置50的資料寫入至複數個區塊的每一字元線的僅單一資料頁面、複數個區塊的每一字元線的僅兩個資料頁面、複數個區塊的每一字元線的僅三個資料頁面,或複數個區塊的每一字元線的四個資料頁面(即全部的資料頁面),在本實施例中,該寫入機制可由該資料的大小以及快閃記憶體模組120的儲存容量來決定,且該寫入機制可為工程師所設定,在本實施例中,若該資料的大小係小於快閃記憶體模組120的儲存容量的四分之一,該字元線僅有單一資料頁面會被用來儲存來自主機裝置50的資料;若該資料的大小係大於快閃記憶體模組120的儲存容量的四分之一且小於快閃記憶體模組120的儲存容量的四分之二,該字元線僅有兩個資料頁面會被用來儲存來自主機裝置50的資料;若該資料的大小係大於快閃記憶體模組120的儲存容量的四分之二且小於快閃記憶體模組120的儲存容量的四分之三,該字元線僅有三個資料頁面會被用來儲存來自主機裝置50的資料;以及若該資料的大小係大於快閃記憶體模組120的儲存容量的四分之三,該字元線的全部四個資料頁面會被用來儲存來自主機裝置50的資料。若該寫入機制指示該字元線僅有單一資料頁面會被用來儲存來自主機裝置50的資料,流程進入步驟706;若該寫入機制指示該字元線僅有兩個資料頁面會被用來儲存來自主機裝置50的資料,流程進入步驟710;以及若該寫入機制指示該字元線僅有三個資料頁面會被用來儲存來自主機裝置50的資料,流程進入步驟714。
在步驟706,快閃記憶體控制器110根據從主機裝置50收到的資料產生對應於字元線的三個資料頁面的虛擬資料,在步驟708,對於用來儲存來自主
機裝置50的資料的複數個特定區塊的每一字元線,該虛擬資料係被寫入至三個頁面,以及來自主機裝置50的資料係藉由使用僅兩個非相鄰狀態被寫入至其它一個頁面,其中該兩個非相鄰狀態分別相對應於“0”以及“1”。在步驟710,快閃記憶體控制器110根據從主機裝置50收到的資料產生對應於字元線的兩個資料頁面的虛擬資料,在步驟712,該虛擬資料係被寫入至兩個資料頁面,以及來自主機裝置50的資料係藉由使用僅四個彼此不相鄰的狀態被寫入至其它兩個資料頁面。在步驟714,快閃記憶體控制器110根據從主機裝置50收到的資料產生對應於字元線的單一資料頁面的虛擬資料,在步驟716,該虛擬資料係被寫入至單一資料頁面,以及來自主機裝置50的資料係藉由使用僅八個彼此不相鄰的狀態被寫入至其它三個資料頁面。
此外,若寫入機制指示字元線的四個資料頁面(即全部的資料頁面)被使用來儲存來自主機裝置50的資料,則該資料係藉由傳統技術被寫入至快閃記憶體模組120。
簡單總結步驟704~716,快閃記憶體模組120的大部分或全部的區塊可作為具有較高資料密度的四層單元區塊,然而,考慮到記憶裝置100可能在製造過程中處於高溫,用來儲存來自主機裝置50的資料的複數個特定區塊係作為具有較少狀態以及較高資料穩固性的三層單元區塊、多層單元區塊或單層單元區塊來使用,以避免在製造過程中的資料損害。
在步驟718,在記憶體裝置100被置入於電子裝置以及該電子裝置開始運作後,也就是說,第1圖所示之主機裝置50此時成為該電子裝置的一處理器或一晶片組,快閃記憶體控制器110在快閃記憶體模組120上進行一垃圾回收操
作以將複數個區塊中的部份區塊的有效資料移動至複數個空白區塊,以釋放該部分區塊的空間,其中該複數個特定區塊中的部分特定區塊的有效資料係被寫入至該複數個空白區塊的每一字元線的全部四個頁面。
簡單總結,在本發明中,可以控制嵌入式多媒體記憶卡來將快閃記憶體模組120的區塊作為具有較少狀態以及較高資料穩固性的多層單元區塊或單層單元區塊來使用,於該嵌入式多媒體記憶卡在正常溫度下被嵌上印刷電路板之後,進行垃圾回收操作來增加資料密度以及釋放記憶體空間,因此,該嵌入式多媒體記憶卡的流程可以變得很好。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
400~414:步驟
Claims (18)
- 一種存取一快閃記憶體模組的方法,其中該快閃記憶體模組包含有至少一快閃記憶體晶片,每一快閃記憶體晶片包含有複數個區塊,每一區塊係藉由複數個字元線來實作,每一字元線相對應於K個頁面,K係大於或等於三,且每一字元線包含有支持複數個狀態的複數個記憶體單元,且該方法包含有:接收來自一主機裝置之一資料;根據該資料的一大小以及該快閃記憶體模組中所有區塊的一儲存容量來決定一虛擬資料的一大小與該資料之該大小之間的一比例;根據該虛擬資料的該大小與該資料之該大小之間的該比例來產生一虛擬資料;將該資料與所伴隨之該虛擬資料寫入複數個特定區塊,其中對於該複數個特定區塊之該複數個字元線的一部分字元線中的每一字元線,該虛擬資料係被寫入至該K個頁面中的至少一個頁面,以及來自該主機裝置之該資料係被寫入至該K個頁面中的其它頁面,使得該複數個特定區塊作為多個單層單元區塊或多個多層單元區塊;對該快閃記憶體模組進行一垃圾回收操作以釋放該複數個特定區塊之至少一部分的空間;以及將來自該主機裝置的一其它資料寫入至該複數個特定區塊之該至少一部分之每一字元線的所有K個頁面,使得該複數個特定區塊的該至少一部分作為多個三層單元區塊或多個四層單元區塊。
- 如申請專利範圍第1項所述之方法,其中K係等於三,且將該資料與所伴隨之該虛擬資料寫入該複數個特定區塊的步驟包含有:如果該資料的該大小係小於該快閃記憶體模組的該儲存容量的三分之一,對於 該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至二個頁面,且來自該主機裝置之該資料係被寫入至該三個頁面中的其它一個頁面;以及如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的三分之一且小於該快閃記憶體模組的該儲存容量的三分之二,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至一個頁面,且該資料自該主機裝置係被寫入至該三個頁面中的其它二個頁面。
- 如申請專利範圍第2項所述之方法,其中每一記憶體單元支持八個狀態,且將該資料與所伴隨之該虛擬資料寫入該複數個特定區塊的步驟包含有:如果該資料的該大小係小於該快閃記憶體模組的該儲存容量的三分之一,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至二個頁面,且僅使用該複數個記憶體單元的二個非相鄰狀態來將來自該主機裝置之該資料寫入其它一個頁面;以及如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的三分之一且小於該快閃記憶體模組的該儲存容量的三分之二,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至一個頁面,且僅使用四個互不相鄰的狀態來將來自該主機裝置之該資料寫入其它二個頁面。
- 如申請專利範圍第1項所述之方法,其中K係等於四,且將該資料與所伴隨之該虛擬資料寫入該複數個特定區塊的步驟包含有:如果該資料的該大小係小於該快閃記憶體模組的該儲存容量的四分之一,對於 該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至三個頁面,且來自該主機裝置之該資料係被寫入至該四個頁面中的其它一個頁面;如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的四分之一且小於該快閃記憶體模組的該儲存容量的四分之二,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至二個頁面,且來自該主機裝置之該資料係被寫入至該四個頁面中的其它二個頁面;以及如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的四分之二且小於該快閃記憶體模組的該儲存容量的四分之三,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至一個頁面,且來自該主機裝置之該資料係被寫入至該四個頁面中的其它三個頁面。
- 如申請專利範圍第4項所述之方法,其中每一記憶體單元支持十六個狀態,且將該資料與所伴隨之該虛擬資料寫入該複數個特定區塊的該步驟包含有:如果該資料的該大小係小於該快閃記憶體模組的該儲存容量的四分之一,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至三個頁面,且僅使用該複數個記憶體單元的二個非相鄰狀態來將來自該主機裝置之該資料寫入該四個頁面中的其它一個頁面;如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的四分之一且小於該快閃記憶體模組的該儲存容量的四分之二,對於該複數個特定區塊的該 複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至二個頁面,且僅使用該複數個記憶體單元的四個互不相鄰的狀態來將來自該主機裝置之該資料寫入該四個頁面中的其它二個頁面;以及如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的四分之二且小於該快閃記憶體模組的該儲存容量的四分之三,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至一個頁面,且僅使用該複數個記憶體單元的八個互不相鄰的狀態來將來自該主機裝置之該資料寫入該四個頁面中的其它三個頁面。
- 如申請專利範圍第1項所述之方法,其中該方法由包含有一快閃記憶體控制器以及該快閃記憶體模組的一嵌入式多媒體記憶卡來執行,且該接收步驟、該產生步驟以及該寫入步驟是在該嵌入式多媒體記憶卡置入於一電子裝置中之前執行。
- 如申請專利範圍第6項所述之方法,其中該接收步驟、該產生步驟以及該寫入步驟是在該嵌入式多媒體記憶卡安裝在應用於該電子裝置的一印刷電路板之前執行。
- 如申請專利範圍第6項所述之方法,其另包含有:在將該嵌入式多媒體記憶卡置入於該電子裝置中且該電子裝置開始運作之後,在該快閃記憶體模組上執行一垃圾回收操作來將該複數個特定區塊中部份的特定區塊的有效資料移動至複數個空白區塊,以釋放該複數個特定區塊中該部分的特定區塊的空間;其中該複數個特定區塊的該一部分特定區塊的該有效資料係被寫入至該複數個 空白區塊的每一字元線的該K個頁面中的全部頁面。
- 如申請專利範圍第8項所述之方法,其中在該快閃記憶體模組上執行該垃圾回收操作來將該複數個特定區塊的該一部分特定區塊的該有效資料移動至該複數個空白區塊的步驟包含有:在將該嵌入式多媒體記憶卡置入於該電子裝置中且該電子裝置開始運作之後,即使該複數個特定區塊中該部分的特定區塊的品質好到無需在該嵌入式多媒體記憶卡的一正常操作中執行該垃圾回收操作,仍在該快閃記憶體模組上執行該垃圾回收操作來將該複數個特定區塊中該部份的特定區塊的該有效資料移動至該複數個空白區塊。
- 如申請專利範圍第1項所述之方法,其中來自該主機裝置之該資料包含有一啟動程式碼、一作業系統程式碼以及數位內容。
- 一種半導體封裝,包含有:一快閃記憶體模組,其中該快閃記憶體模組包含有至少一快閃記憶體晶片,每一快閃記憶體晶片包含有複數個區塊,每一區塊係藉由複數個字元線來實作,每一字元線相對應於K個頁面,K係大於或等於三,且每一字元線包含有支持複數個狀態的複數個記憶體單元;以及一快閃記憶體控制器,耦接於該快閃記憶體模組,用來接收來自一主機裝置之一資料,根據接收自該主機裝置的該資料產生一虛擬資料,並且將該資料與所伴隨之該資料寫入複數個特定區塊;其中對於該複數個特定區塊的該複數個字元線的一部分字元線中的每一字元線,該虛擬資料係被寫入至該K個頁面中的至少一個頁面,且來自該主機裝 置之該資料係被寫入至該K個頁面中的其它頁面,使得該複數個特定區塊作為多個單層單元區塊或多個多層單元區塊;其中該虛擬資料的一大小與該資料之一大小之間的一比例係根據該資料的該大小以及該快閃記憶體模組中所有區塊的一儲存容量來決定;其中該快閃記憶體控制器對該快閃記憶體模組進行一垃圾回收操作以釋放該複數個特定區塊之至少一部分的空間;其中該快閃記憶體控制器將來自該主機裝置的一其它資料寫入至該複數個特定區塊之該至少一部分之每一字元線的所有K個頁面,使得該複數個特定區塊的該至少一部分作為多個三層單元區塊或多個四層單元區塊。
- 如申請專利範圍第11項所述之半導體封裝,其中K係等於三;如果該資料的該大小係小於該快閃記憶體模組的該儲存容量的三分之一,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至二個頁面,且來自該主機裝置之該資料係被寫入至該三個頁面中的其它一個頁面;以及如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的三分之一且小於該快閃記憶體模組的該儲存容量的三分之二,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至一個頁面,且來自該主機裝置之該資料係被寫入至該三個頁面中的其它二個頁面。
- 如申請專利範圍第12項所述之半導體封裝,其中每一記憶體單元支持八個狀態;如果該資料的該大小係小於該快閃記憶體模組的該儲存容量的三分之一,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至二個頁面,且僅使用該複數個記憶體單元的 二個非相鄰狀態來將來自該主機裝置之該資料寫入其它一個頁面;以及如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的三分之一且小於該快閃記憶體的該儲存容量的三分之二,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至一個頁面,且僅使用該複數個記憶體單元的四個互不相鄰的狀態來將來自該主機裝置之該資料寫入其它二個頁面。
- 如申請專利範圍第11項所述之半導體封裝,其中K係等於四;如果該資料的該大小係小於該快閃記憶體模組的該儲存容量的四分之一,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至三個頁面,且來自該主機裝置之該資料係被寫入至該四個頁面中的其它一個頁面;如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的四分之一且小於該快閃記憶體模組的該儲存容量的四分之二,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至二個頁面,且來自該主機裝置之該資料係被寫入至該四個頁面中的其它二個頁面;以及如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的四分之二且小於該快閃記憶體模組的該儲存容量的四分之三,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至一個頁面,且來自該主機裝置之該資料係被寫入至該四個頁面中的其它三個頁面。
- 如申請專利範圍第14項所述之半導體封裝,其中每一記憶體單元支持十六個狀態;如果該資料的該大小係小於該快閃記憶體模組的該儲存容量的四分之一,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的 每一字元線,該虛擬資料係被寫入至三個頁面,且僅使用該複數個記憶體單元的二個非相鄰狀態來將來自該主機裝置之該資料寫入該四個頁面中的其它一個頁面;如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的四分之一且小於該快閃記憶體的該儲存容量的四分之二,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至二個頁面,且僅使用該複數個記憶體單元的四個互不相鄰的狀態來將來自該主機裝置之該資料寫入該四個頁面中的其它二個頁面;以及如果該資料的該大小係大於該快閃記憶體模組的該儲存容量的四分之二且小於該快閃記憶體的該儲存容量的四分之三,對於該複數個特定區塊的該複數個字元線的該一部分字元線中的每一字元線,該虛擬資料係被寫入至一個頁面,且僅使用該複數個記憶體單元的八個互不相鄰的狀態來將來自該主機裝置之該資料寫入該四個頁面中的其它三個頁面。
- 如申請專利範圍第11項所述之半導體封裝,其中該半導體封裝係一嵌入式多媒體記憶卡,且在將該嵌入式多媒體記憶卡置入於一電子裝置中之前,該快閃記憶體控制器將該資料與所伴隨的該虛擬資料寫入該特定區塊。
- 如申請專利範圍第16項所述之半導體封裝,其中在將該嵌入式多媒體記憶卡置入於該電子裝置中且該電子裝置開始運作之後,該快閃記憶體控制器在該快閃記憶體模組上執行一垃圾回收操作來將該複數個特定區塊中部份的特定區塊的有效資料移動至複數個空白區塊,以釋放該複數個特定區塊中該部分的特定區塊的空間;其中該複數個特定區塊中該部分的特定區塊的該有效資料係被寫入至該複數個空白區塊的每一字元線的該K個頁面中的全部頁面。
- 如申請專利範圍第16項所述之半導體封裝,其中在將該嵌入式多媒體記憶卡置入於該電子裝置中且該電子裝置開始運作之後,即使該複數個特定區塊中該部分的特定區塊的品質好到無需在該嵌入式多媒體記憶卡的一正常操作中執行該垃圾回收操作,仍在該快閃記憶體模組上執行該垃圾回收操作來將該複數個特定區塊中該部份的特定區塊的該有效資料移動至該複數個空白區塊。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/860,093 | 2020-04-28 | ||
US16/860,093 US11704234B2 (en) | 2020-04-28 | 2020-04-28 | Method for accessing flash memory module and associated package |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202141281A TW202141281A (zh) | 2021-11-01 |
TWI798632B true TWI798632B (zh) | 2023-04-11 |
Family
ID=78222316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110103668A TWI798632B (zh) | 2020-04-28 | 2021-02-01 | 存取快閃記憶體模組的方法和半導體封裝 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11704234B2 (zh) |
CN (1) | CN113658630A (zh) |
TW (1) | TWI798632B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2013A (en) * | 1841-03-24 | Machine foe making pins | ||
US7237074B2 (en) * | 2003-06-13 | 2007-06-26 | Sandisk Corporation | Tracking cells for a memory system |
US20080086631A1 (en) * | 2000-01-06 | 2008-04-10 | Chow David Q | Flash memory controller controlling various flash memory cells |
US20150078079A1 (en) * | 2013-09-17 | 2015-03-19 | Sandisk Technologies Inc. | Apparatus and method of storing data at a multi-bit storage element |
US20150234609A1 (en) * | 2014-02-18 | 2015-08-20 | Silicon Motion Inc. | Method for accessing flash memory and associated controller and memory device |
US20150294723A1 (en) * | 2014-04-14 | 2015-10-15 | In-Hwan Choi | Nonvolatile memory system, method of operating the same and method of manufacturing the same |
US20170199685A1 (en) * | 2016-01-12 | 2017-07-13 | SK Hynix Inc. | Memory system and operating method of memory system |
TW201732597A (zh) * | 2016-03-10 | 2017-09-16 | 愛思開海力士有限公司 | 資料儲存裝置和其操作方法 |
US20190187923A1 (en) * | 2017-12-18 | 2019-06-20 | SK Hynix Inc. | Memory system and operating method thereof |
CN109979514A (zh) * | 2019-03-12 | 2019-07-05 | 苏州无离信息技术有限公司 | 一种rom漏电补偿电路及其设计方法和调节方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257714B1 (en) * | 1999-10-19 | 2007-08-14 | Super Talent Electronics, Inc. | Electronic data storage medium with fingerprint verification capability |
JP2010033125A (ja) * | 2008-07-25 | 2010-02-12 | Hitachi Ltd | ストレージ装置及びデータ転送方法 |
TWI430092B (zh) * | 2011-10-27 | 2014-03-11 | Silicon Motion Inc | 三階儲存單元的快閃記憶體裝置及其控制方法 |
US9798657B2 (en) * | 2014-10-15 | 2017-10-24 | Samsung Electronics Co., Ltd. | Data storage device including nonvolatile memory device and operating method thereof |
US11099781B2 (en) * | 2018-07-19 | 2021-08-24 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
-
2020
- 2020-04-28 US US16/860,093 patent/US11704234B2/en active Active
-
2021
- 2021-02-01 TW TW110103668A patent/TWI798632B/zh active
- 2021-03-26 CN CN202110325680.4A patent/CN113658630A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2013A (en) * | 1841-03-24 | Machine foe making pins | ||
US20080086631A1 (en) * | 2000-01-06 | 2008-04-10 | Chow David Q | Flash memory controller controlling various flash memory cells |
US7237074B2 (en) * | 2003-06-13 | 2007-06-26 | Sandisk Corporation | Tracking cells for a memory system |
US20150078079A1 (en) * | 2013-09-17 | 2015-03-19 | Sandisk Technologies Inc. | Apparatus and method of storing data at a multi-bit storage element |
US20150234609A1 (en) * | 2014-02-18 | 2015-08-20 | Silicon Motion Inc. | Method for accessing flash memory and associated controller and memory device |
US20150294723A1 (en) * | 2014-04-14 | 2015-10-15 | In-Hwan Choi | Nonvolatile memory system, method of operating the same and method of manufacturing the same |
US20170199685A1 (en) * | 2016-01-12 | 2017-07-13 | SK Hynix Inc. | Memory system and operating method of memory system |
TW201732597A (zh) * | 2016-03-10 | 2017-09-16 | 愛思開海力士有限公司 | 資料儲存裝置和其操作方法 |
US20190187923A1 (en) * | 2017-12-18 | 2019-06-20 | SK Hynix Inc. | Memory system and operating method thereof |
CN109979514A (zh) * | 2019-03-12 | 2019-07-05 | 苏州无离信息技术有限公司 | 一种rom漏电补偿电路及其设计方法和调节方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210334202A1 (en) | 2021-10-28 |
TW202141281A (zh) | 2021-11-01 |
CN113658630A (zh) | 2021-11-16 |
US11704234B2 (en) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109101434B (zh) | 存储装置、存储系统及所述存储装置的操作方法 | |
CN110083545B (zh) | 数据存储装置及其操作方法 | |
KR101421366B1 (ko) | 메모리 디바이스들 및 시스템들에서의 부트 파티션들 | |
CN107102817B (zh) | 非易失性存储设备 | |
KR102518884B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
TWI545571B (zh) | 存取快閃記憶體的方法及相關的控制器與記憶裝置 | |
TWI660269B (zh) | 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器 | |
WO2019068012A1 (en) | METHOD AND APPARATUS FOR SPECIFYING READ VOLTAGE SHIFTS FOR READING CONTROL | |
JP2008108418A (ja) | マルチページプログラムの方法、及びこれを行うためのフラッシュメモリ装置 | |
CN111143235A (zh) | 多内核存储器系统中的逻辑地址分配 | |
US9823880B1 (en) | Method and apparatus for initiating pre-read operation before completion of data load operation | |
CN111309638A (zh) | 存储器系统及其操作方法 | |
CN108461099B (zh) | 半导体存储装置 | |
TWI798630B (zh) | 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
TWI798632B (zh) | 存取快閃記憶體模組的方法和半導體封裝 | |
US11347436B2 (en) | Storage device accessible on a cell-by-cell basis and method of operating the same | |
CN111475426B (zh) | 管理闪存模块的方法及相关的闪存控制器与电子装置 | |
TW202213331A (zh) | 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
TWI780697B (zh) | 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
CN112328516A (zh) | 控制器、控制器的操作方法以及包括控制器的存储装置 | |
TWI805450B (zh) | 借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器 | |
CN114255811A (zh) | 用以存取快闪存储器模块的方法、快闪存储器控制器与电子装置 | |
CN114741024A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN115701638A (zh) | 存储器系统及其操作方法 | |
TW202205087A (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |