TW202001905A - 能使用不同儲存模式來儲存具有不同資料大小之資料單元的記憶體控制器及方法 - Google Patents
能使用不同儲存模式來儲存具有不同資料大小之資料單元的記憶體控制器及方法 Download PDFInfo
- Publication number
- TW202001905A TW202001905A TW107127904A TW107127904A TW202001905A TW 202001905 A TW202001905 A TW 202001905A TW 107127904 A TW107127904 A TW 107127904A TW 107127904 A TW107127904 A TW 107127904A TW 202001905 A TW202001905 A TW 202001905A
- Authority
- TW
- Taiwan
- Prior art keywords
- storage
- data
- memory device
- storage mode
- data unit
- Prior art date
Links
Images
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/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
- 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/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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/7202—Allocation control and policies
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
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)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明揭露一種應用在耦接於一記憶裝置與一主裝置之間的記憶體控制器的方法,其中該記憶裝置支援至少兩種不同儲存模式。該方法包含:接收並緩衝自該主裝置傳送的資料;使用一第一儲存模式,以將一第一資料單元儲存至該記憶裝置,其中該第一資料單元的大小不大於定義於該記憶裝置中的一特定儲存單元的大小;以及使用異於該第一儲存模式的一第二儲存模式,以將一第二資料單元儲存至該記憶裝置,其中該第二資料單元的大小大於該特定儲存單元的大小。
Description
本發明是關於一記憶體控制器儲存機制,尤指一種能動態地使用不同儲存模式來將不同大小的資料儲存至一記憶裝置的記憶體控制器及對應的方法。
一般來說,當一傳統的記憶體控制器將資料單元寫入或儲存至支援一多階細胞(multi-level-cell, MLC)儲存模式的一快閃記憶體時,該傳統的記憶體控制器需從該快閃記憶體讀回一部分資料,並接著使用該部分資料與資料單元以儲存來形成/產生偶數儲存頁資料以及奇數儲存頁資料,並接著將該偶數儲存頁資料以及該奇數儲存頁資料儲存至該快閃記憶體的一偶數儲存頁以及一奇數儲存頁以供一儲存操作。此部分資料可包含結尾資料(tail data)及/或開頭資料(header data),且使用該部分資料及該資料單元來形成頁資料的操作可視為一資料補充處理(data complement process)。也就是說,對於一單一儲存操作,即使從主裝置傳送並儲存的資料單元的大小小於一個儲存頁的大小,該傳統的記憶體會將二個儲存頁的資料量儲存至該快閃記憶體的偶數及奇數儲存頁,儲存資料的效能也因此降低。
因此,本發明的一目的在於提供一種記憶體控制器及方法以解決上述問題。
依據本發明之實施例,本發明揭露一種耦接於一記憶裝置與一主裝置之間的記憶體控制器。該記憶裝置支援至少兩種不同儲存模式。該記憶體控制器包含一緩衝電路以及一處理電路。該緩衝電路係用來接收並緩衝自該主裝置傳送的資料,而該處理電路耦接至該緩衝電路,並且用來:使用一第一儲存模式,以將一第一資料單元儲存至該記憶裝置,其中該第一資料單元的大小不大於定義於該記憶裝置中的一特定儲存單元的大小;以及使用異於該第一儲存模式的一第二儲存模式,以將一第二資料單元儲存至該記憶裝置,其中該第二資料單元的大小大於該特定儲存單元的大小。
依據該些實施例,本發明另揭露一種耦接於一記憶裝置與一主裝置之間的記憶體控制器。該記憶裝置支援或具有至少兩種不同儲存模式,該記憶體控制器包含一緩衝電路以及一處理電路。該緩衝電路係用來接收並緩衝自該主裝置傳送並被儲存至該記憶裝置的資料單元,而該處理電路係耦接至該緩衝電路,並且用來使用一單階細胞儲存模式以將該資料單元儲存至該記憶裝置一次,其中該資料單元的大小不大於該記憶裝置的一儲存頁單元的大小。
依據該些實施例,本發明揭露一種耦接於一記憶裝置與一主裝置之間的記憶體控制器。該記憶裝置支援至少三種不同儲存模式。該記憶體控制器包含一緩衝電路以及一處理電路。該緩衝電路係用來接收並緩衝自該主裝置傳送並被儲存至該記憶裝置的資料單元,而該處理電路係耦接至該緩衝電路,並且用來使用一多階細胞儲存模式以將該資料單元儲存至該記憶裝置一次,其中該資料單元的大小不大於該記憶裝置的二個儲存頁單元的大小。
依據該些實施例,本發明揭露一種應用在耦接於一記憶裝置與一主裝置之間的記憶體控制器的方法。該記憶裝置支援至少兩種不同儲存模式。該方法包含:接收並緩衝自該主裝置傳送的資料;使用一第一儲存模式,以將一第一資料單元儲存至該記憶裝置,其中該第一資料單元的大小不大於定義於該記憶裝置中的一特定儲存單元的大小;以及使用異於該第一儲存模式的一第二儲存模式,以將一第二資料單元儲存至該記憶裝置,其中該第二資料單元的大小大於該特定儲存單元的大小。
依據該些實施例,儲存資料至該記憶裝置的效能能大幅地被提升,並且該些電路成本能被減少。
請連同第2圖參考第1圖。第1圖為依據本發明的實施例之一種應用在一記憶體控制器(例如一快閃記憶體控制器)的方法的流程圖,該方法動態地從一儲存模式切換至一不同的儲存模式來使用不同儲存模式將不同大小的資料分別儲存至一記憶裝置(諸如一快閃記憶裝置)。第2圖為依據第1圖的一實施例之記憶體控制器200的示意圖,舉例來說,記憶體控制器200可為一儲存裝置203(例如固態硬碟)的一部分,儲存裝置203也包含記憶裝置202諸如3D快閃記憶體,並耦接於主裝置(端)201與記憶裝置202之間,且包含一緩衝電路205以及一處理電路210。
在不妨礙本發明的實施並大致上達到相同結果的前提下,第1圖所示之流程圖的步驟不需依照所示之確切順序進行,該些步驟也不需連續進行,也就是說,其他步驟可穿插其中。詳細步驟如下:
步驟105:使用緩衝電路205來接收並緩衝自主裝置201傳送的一資料單元;
步驟110:使用處理電路210來判斷該資料單元的大小是否不大於定義於記憶裝置202中的一特定儲存單元的大小;若該資料單元的大小不大於該特定儲存單元的大小,流程進入步驟115A,否則,流程進入步驟115B;
步驟115A:使用一第一儲存模式,以將該資料單元儲存至記憶裝置202;
步驟115B:使用異於該第一儲存模式的一第二儲存模式,以將該資料單元儲存至記憶裝置202
步驟120:結束。
如第2圖所示,緩衝電路205係用來接收並緩衝自主裝置201傳送的資料(步驟105)。例如,主裝置201可為一攝影裝置或一行車記錄器(但不限於此),並且可依序將具有相同或幾乎相同資料大小(諸如4KB的資料,但不限於此)的不同資料寫入/記錄至儲存裝置203的記憶裝置202中。每一次當主裝置傳送一資料單元至記憶體控制器200時,記憶體控制器200可使用緩衝電路205來接收並緩衝這樣的資料單元並且啟動一個資料儲存操作以將該資料單元寫入或儲存至記憶裝置202一次。
舉例來說,記憶裝置202可為一3D快閃記憶裝置且能支援至少兩種不同儲存模式諸如單階細胞(single-level-cell, SLC)儲存/編程模式以及多階細胞(multi-level-cell, MLC)儲存/編程模式。在其他實施例中,記憶裝置202可另支援三階細胞(triple-level-cell, TLC)儲存/編程模式及/或四階細胞(quad-level-cell, QLC)儲存/編程模式。在該單階細胞儲存模式中,記憶體控制器200係用來執行該資料儲存操作一次以將一個儲存頁(大小)的資料儲存/編程至記憶裝置202的一單一儲存頁單元中,也就是說,一個儲存頁被儲存了。在該多階細胞儲存模式中,記憶體控制器200係用來執行該資料儲存操作一次以將二個儲存頁的資料儲存/編程至記憶裝置202的二個儲存頁單元(偶數頁以及奇數頁)中,也就是說,二個儲存頁(偶數頁以及奇數頁)被儲存了。例如,上述之該第一儲存模式為該單階細胞儲存模式,以及上述之該第二儲存模式為該多階細胞儲存模式,也就是說,記憶體控制器200可使用該單階細胞儲存模式以將一個儲存頁資料儲存至記憶裝置202的一儲存頁中,或者,使用該多階細胞儲存模式以將二個儲存頁資料儲存至記憶裝置202的二個儲存頁中。當進行一次該儲存操作,實際被儲存至記憶裝置202中的最小資料量等同於一個儲存頁。
每一次要被記錄的資料可大於或不大於記憶裝置202中的一個儲存頁單元的大小。例如,在記憶裝置202中的一個儲存頁單元的大小可等於16K位元組(byte)或32K位元組,且每一次要被記錄並儲存的資料可等於4K位元組(但不限於此)。為了節省記憶體電路成本,緩衝電路205可被實施為使用一較小的記憶體容量(例如,小於16K位元組或32K位元組,諸如4K位元組或8K位元組),並且記憶體控制器200係用來將某些部分資料從記憶裝置202讀回,使用該些4K位元組資料及讀取的部分資料來形成並產生一個儲存頁資料,並且將該一個儲存頁資料儲存至記憶裝置202的一儲存頁單元,相關細節將於後續內容再次說明。
在步驟110中,處理電路210係用來判斷自主裝置201傳送的資料單元的大小是否不大於一特定儲存單元的大小。於本實施例中,一特定儲存單元的大小表示一單一儲存頁的大小。例如,當資料單元的大小大於一個儲存頁的大小,處理電路210可啟用(activate)並使用該多階細胞儲存模式以將這樣的資料單元儲存至記憶裝置202的二個儲存頁(偶數頁以及奇數頁)(步驟115B)。實作上,處理電路210可啟用一資料補充處理(data complement process)諸如一開頭資料補充處理(header data complement process)及/或一結尾資料補充處理(tail data complement process),以將部分資料從記憶裝置202讀回並使用該部分資料與該資料單元來形成/產生二頁資料(即二個儲存頁的資料(量)),接著使用該多階細胞儲存模式以將該二頁資料儲存至記憶裝置202的二個儲存頁中。
或者,當資料單元的大小等於或小於一個儲存頁的大小,處理電路210可啟用並使用該單階細胞儲存模式以將這樣的資料單元儲存至記憶裝置202的一儲存頁(步驟115A)。實作上,處理電路210可啟用該資料補充處理(一開頭資料補充處理及/或一結尾資料補充處理),以將部分資料從記憶裝置202讀回並使用該部分資料與該資料單元來形成/產生一頁資料(即一個儲存頁的資料(資料量)),接著使用該單階細胞儲存模式以將該一頁資料儲存至記憶裝置202的一個儲存頁中。處理電路210能動態地使用不同儲存模式以將不同大小的資料儲存至記憶裝置202中。相較於傳統機制,記憶體控制器200的效能不會降低且電路成本能大幅地被節省。
第3圖為第2圖所示之記憶體控制器200藉由動態地使用單階細胞及多階細胞儲存模式以將資料儲存至記憶裝置202中的例子。在此例子中,記憶裝置202定義了偶數頁以及奇數頁。主裝置201可接續地寫入或記錄/更新每一個具有4K位元組資料量的資料單元至儲存裝置203,且記憶裝置202中的一個儲存頁單元的大小等於16K位元組。如第3圖所示,主裝置201可將具有4K位元組的一資料單元(例如D1)寫入記憶體控制器200,接著緩衝電路205接收並緩衝這樣的資料單元D1。處理電路210接著被用來啟用該資料補充處理以將部分資料從記憶裝置202讀回,其中該部分資料的大小等於各自具有4K位元組的三資料單元F2、F3以及F4的大小,即12K位元組。例如,資料單元D1可表示處理電路210可用來將該資料單元D1儲存至記憶裝置202中的一偶數儲存頁的第一個4K位元組的位置,並且處理電路210可將第二個、第三個以及第四個4K位元組(即這樣的偶數頁的F2、F3以及F4)讀回。處理電路210使用資料單元D1與該些12K位元組(資料F2、F3以及F4)來形成/產生一頁資料(16K位元組)並使用該單階細胞儲存模式以將該一頁資料儲存至記憶裝置202的一儲存頁單元(相同頁或不同頁)中。處理電路210不會從對應於該偶數儲存頁的一奇數儲存頁讀回資料。處理電路只處理一頁資料量而不會處理二頁資料量。
另外,處理電路210可用來將資料單元D3儲存至該偶數儲存頁的第三個4K位元組的位置。處理電路210可用來讀回第一個、第二個、以及第四個4K位元組,例如這樣的偶數儲存頁的D1、F2以及F4。處理電路210使用資料單元D3與該些12K位元組(資料D1、F2以及F4)來形成/產生一頁資料(16K位元組)並且使用該單階細胞儲存模式以將該一頁資料儲存至記憶裝置202的一儲存頁單元(相同頁或不同頁)。處理電路210不會從對應於該偶數儲存頁的一奇數儲存頁讀回資料。處理電路只處理一頁資料量而不會處理二頁資料量。
另外,處理電路210可用來將資料單元D6儲存至一奇數儲存頁的第二個4K位元組的位置。處理電路210可用來讀回第一個、第三個、以及第四個4K位元組,例如這樣的奇數儲存頁的F5、F7以及F8。處理電路210使用資料單元D6與該些12K位元組(資料F5、F7以及F8)來形成/產生一頁資料(16K位元組)並且使用該單階細胞儲存模式以將該一頁資料儲存至記憶裝置202的一儲存頁單元(相同頁或不同頁)。處理電路210不會從對應於該奇數儲存頁的一偶數儲存頁讀回資料。處理電路只處理一頁資料量而不會處理二頁資料量。
另外,處理電路210可用來將資料單元D8儲存至該奇數儲存頁的第四個4K位元組的位置。處理電路210可用來讀回第一個、第二個、以及第三個4K位元組,例如這樣的奇數儲存頁的F5、F6以及F7。處理電路210使用資料單元D8與該些12K位元組(資料F5、F6以及F7)來形成/產生一頁資料(16K位元組)並且使用該單階細胞儲存模式以將該一頁資料儲存至記憶裝置202的一儲存頁單元(相同頁或不同頁)。處理電路210不會從對應於該奇數儲存頁的一偶數儲存頁讀回資料。處理電路只處理一頁資料量而不會處理二頁資料量。
第4圖為記憶體控制器200與記憶裝置202之間的溝通的一個例子,其藉由動態地使用單階細胞儲存模式以及多階細胞儲存模式將資料儲存至記憶裝置202中。如第4圖所示,在一預設設定中(但不限於此),記憶體控制器200可使用該多階細胞儲存模式以將資料儲存至記憶裝置202中。在用來儲存偶數與奇數儲存頁的該多階細胞儲存模式中,處理電路210將一寫入指令WRITE、一偶數儲存頁位址ADDR1、偶數儲存頁資料EP諸如16K位元組資料、以及一結束指令END發出或傳送至記憶裝置202以將偶數儲存頁資料EP儲存至記憶裝置202的一偶數儲存頁中。處理電路210接著將寫入指令WRITE、一奇數儲存頁位址ADDR2、奇數儲存頁資料OP諸如16K位元組資料、以及結束指令END發出或傳送至記憶裝置202以將奇數儲存頁資料OP儲存至記憶裝置202的一奇數儲存頁中。例如,寫入指令WRITE可為80h指令且結束指令END可為10h指令以供用於美光公司(Micron Technology Inc.)所製造或生產的一記憶裝置。此外,寫入指令WRITE可為80h指令且結束指令END可為22h指令以供用於海力士公司(SK Hynix Inc.)所製造或生產的一記憶裝置。
當處理電路210判斷一緩衝資料單元的大小不大於一個儲存頁資料的大小時,記憶體控制器200能切換至該單階細胞儲存模式。在用來儲存一單一儲存頁的該單階細胞儲存模式中,處理電路210可在傳送寫入指令WRITE之前另發出或傳送一特定指令C1,其後跟隨著上述寫入指令WRITE。當記憶裝置202接收到特定指令C1以及寫入指令WRITE時,記憶裝置202能知道記憶體控制器係用來儲存一單一儲存頁。例如,對於上述美光公司,特定指令C1可為DAh指令,而對於上述海力士公司,特定指令C1可為BEh指令。實作上,在用來儲存一偶數或奇數儲存頁的該單階細胞儲存模式中,處理電路210可將特定指令C1(DAh指令或BEh指令)、寫入指令WRITE(80h指令)、一偶數/奇數儲存頁位址ADDR、偶數/奇數儲存頁資料DATA諸如16K位元組資料、以及結束指令END(10h指令或22h指令)發出或傳送至記憶裝置202以將該偶數或奇數儲存頁資料DATA儲存至記憶裝置202的一偶數或奇數儲存頁。
另外,在其他實施例中,第1圖所示之方法可應用在支援至少三種不同儲存模式(諸如單階細胞、多階細胞、以及三階細胞(tripple-level-cell, TLC)儲存模式)的記憶裝置202。該第一儲存模式可為該單階細胞儲存模式或多階細胞儲存模式,且該第二儲存模式可為該三階細胞儲存模式。在預設設定中,記憶體控制器200能使用該三階細胞儲存模式以將自主裝置201傳送的資料單元寫入或儲存至記憶裝置202中。當處理電路210判斷一資料單元的大小不大於二個儲存頁資料的大小,處理電路210能從該三階細胞儲存模式切換至該多階細胞儲存模式並使用該多階細胞儲存模式以將該資料單元儲存至記憶裝置202中。另外,若處理電路210判斷這樣的資料單元的大小不大於一個儲存頁資料的大小,處理電路210可從該三階細胞儲存模式切換至該單階細胞儲存模式並採用該單階細胞儲存模式以將該資料單元儲存至記憶裝置202中。
類似地,該方法也可應用在支援至少四種不同儲存模式(諸如單階細胞、多階細胞、三階細胞、以及四階細胞(quad-level-cell, QLC)儲存模式)的記憶裝置202。其操作類似於上述之操作,為簡明起見,對應的說明在此不詳述。
總結來說,該方法及記憶體控制器200能在至少兩種不同儲存模式(諸如第一及第二儲存模式)之間切換並且使用該些不同儲存模式來分別將具有不同大小的資料單元儲存至記憶裝置202中,其中該第一儲存模式對應於M階細胞資料儲存且該第二儲存模式對應於N階細胞儲存,而M與N為正整數且M小於N。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
105, 110, 115A, 115B, 120‧‧‧步驟200‧‧‧記憶體控制器201‧‧‧主裝置202‧‧‧記憶裝置203‧‧‧儲存裝置205‧‧‧緩衝電路210‧‧‧處理電路D1, …, D3, …, D6, …, D8, F1, F2, F3, F4, F5, F6, F7, F8‧‧‧資料WRITE, END, C1‧‧‧指令ADDR1, ADDR2, ADDR‧‧‧儲存頁位址EP, OP‧‧‧儲存頁資料
第1圖為依據本發明的實施例之一種應用在一記憶體控制器(例如一快閃記憶體控制器)的方法的流程圖,而該方法可動態地從一儲存模式切換至一不同的儲存模式來使用不同儲存模式將不同大小的資料分別儲存至一記憶裝置(諸如一快閃記憶裝置)。 第2圖為依據第1圖的一實施例之一記憶體控制器的示意圖。 第3圖為第2圖所示之記憶體控制器藉由動態地使用單階細胞及多階細胞儲存模式以將資料儲存至記憶裝置中的例子。 第4圖為記憶體控制器與記憶裝置之間的溝通的一個例子,尤其,藉由動態地使用單階細胞儲存模式以及多階細胞儲存模式將資料儲存至記憶裝置中。
105,110,115A,115B,120‧‧‧步驟
Claims (19)
- 一種耦接於一記憶裝置與一主裝置之間的記憶體控制器,該記憶裝置支援至少兩種不同儲存模式,該記憶體控制器包含: 一緩衝電路,用來接收並緩衝自該主裝置傳送的資料;以及 一處理電路,耦接至該緩衝電路,用來: 使用一第一儲存模式,以將一第一資料單元儲存至該記憶裝置,其中該第一資料單元的大小不大於定義於該記憶裝置中的一特定儲存單元的大小;以及 使用異於該第一儲存模式的一第二儲存模式,以將一第二資料單元儲存至該記憶裝置,其中該第二資料單元的大小大於該特定儲存單元的大小。
- 如申請專利範圍第1項所述之記憶體控制器,其中該特定儲存單元等同一個儲存頁;以及該第一儲存模式為一單階細胞(single-level-cell, SLC)儲存模式,以及該第二儲存模式為一多階細胞(multi-level-cell, MLC)儲存模式。
- 如申請專利範圍第1項所述之記憶體控制器,其中該特定儲存單元等同二個儲存頁;以及該第一儲存模式為一多階細胞(multi-level-cell, MLC)儲存模式,以及該第二儲存模式為一三階細胞(triple-level-cell, TLC)儲存模式。
- 如申請專利範圍第2項所述之記憶體控制器,其中該處理電路係用來判斷一資料單元的大小是否大於該特定儲存單元的大小。
- 如申請專利範圍第2項所述之記憶體控制器,其中該處理電路係用來從該記憶裝置讀回一部分資料並使用該部分資料及該第一資料單元來形成/產生一儲存頁資料,且接著用來藉由使用該單階細胞儲存模式將該儲存頁資料儲存至一單一儲存頁。
- 如申請專利範圍第5項所述之記憶體控制器,其中該儲存電路係用來從該記憶裝置讀回另一部分資料並使用該另一部分資料及該第二資料單元來形成/產生二個儲存頁資料,且接著用來藉由使用該多階細胞儲存模式將該二個儲存頁資料儲存至二個儲存頁。
- 如申請專利範圍第2項所述之記憶體控制器,其中該處理電路係用來傳送一單階細胞儲存指令至該記憶裝置以使用該單階細胞儲存模式來將該第一資料單元儲存至該記憶裝置,並且用來傳送一多階細胞儲存指令至該記憶裝置以使用該多階細胞儲存模式來將該第二資料單元儲存至該記憶裝置。
- 如申請專利範圍第1項所述之記憶體控制器,其中該第一儲存模式對應於M階細胞資料儲存,且該第二儲存模式對應於N階細胞資料儲存;以及M與N為正整數且M小於N。
- 一種耦接於一記憶裝置與一主裝置之間的記憶體控制器,該記憶裝置具有至少兩種不同儲存模式,該記憶體控制器包含: 一緩衝電路,用來接收並緩衝自該主裝置傳送並被儲存至該記憶裝置的資料單元;以及 一處理電路,耦接至該緩衝電路,用來使用一單階細胞儲存模式以將該資料單元儲存至該記憶裝置一次,其中該資料單元的大小不大於該記憶裝置的一儲存頁單元的大小。
- 如申請專利範圍第9項所述之記憶體控制器,其中該處理電路係用來從該記憶裝置讀回一部分資料,藉由使用該部分資料及該資料單元來形成一儲存頁資料,接著將該儲存頁資料儲存至該記憶裝置的一單一儲存頁單元。
- 一種耦接於一記憶裝置與一主裝置之間的記憶體控制器,該記憶裝置具有至少三種不同儲存模式,且該記憶體控制器包含: 一緩衝電路,用來接收並緩衝自該主裝置傳送並被儲存至該記憶裝置的資料單元;以及 一處理電路,耦接至該緩衝電路,用來使用一多階細胞儲存模式以將該資料單元儲存至該記憶裝置一次,其中該資料單元的大小不大於該記憶裝置的二個儲存頁單元的大小。
- 一種應用在耦接於一記憶裝置與一主裝置之間的記憶體控制器的方法,該記憶裝置支援至少兩種不同儲存模式,該方法包含: 接收並緩衝自該主裝置傳送的資料; 使用一第一儲存模式,以將一第一資料單元儲存至該記憶裝置,其中該第一資料單元的大小不大於定義於該記憶裝置中的一特定儲存單元的大小;以及 使用異於該第一儲存模式的一第二儲存模式,以將一第二資料單元儲存至該記憶裝置,其中該第二資料單元的大小大於該特定儲存單元的大小。
- 如申請專利範圍第12項所述之方法,其中該特定儲存單元等同一個儲存頁;以及該第一儲存模式為一單階細胞(single-level-cell, SLC)儲存模式,以及該第二儲存模式為一多階細胞(multi-level-cell, MLC)儲存模式。
- 如申請專利範圍第12項所述之方法,其中該特定儲存單元等同二個儲存頁;以及該第一儲存模式為一多階細胞(multi-level-cell, MLC)儲存模式,以及該第二儲存模式為一三階細胞(triple-level-cell, TLC)儲存模式。
- 如申請專利範圍第13項所述之方法,另包含: 判斷一資料單元的大小是否大於該特定儲存單元的大小。
- 如申請專利範圍第13項所述之方法,其中使用該第一儲存模式以將該第一資料單元儲存至該記憶裝置的步驟包含: 從該記憶裝置讀回一部分資料; 使用該部分資料及該第一資料單元來形成/產生一儲存頁資料;以及 藉由使用該單階細胞儲存模式將該儲存頁資料儲存至一單一儲存頁。
- 如申請專利範圍第16項所述之方法,其中使用該第二儲存模式以將該第二資料單元儲存至該記憶裝置的步驟包含: 從該記憶裝置讀回另一部分資料; 使用該另一部分資料及該第二資料單元來形成/產生二個儲存頁資料;以及 藉由使用該多階細胞儲存模式將該二個儲存頁資料儲存至二個儲存頁。
- 如申請專利範圍第13項所述之方法,另包含: 傳送一單階細胞儲存指令至該記憶裝置以使用該單階細胞儲存模式來將該第一資料單元儲存至該記憶裝置;以及 傳送一多階細胞儲存指令至該記憶裝置以使用該多階細胞儲存模式來將該第二資料單元儲存至該記憶裝置。
- 如申請專利範圍第12項所述之方法,其中該第一儲存模式對應於M階細胞資料儲存,且該第二儲存模式對應於N階細胞資料儲存;以及M與N為正整數且M小於N。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/008,047 US10691358B2 (en) | 2018-06-14 | 2018-06-14 | Memory controller and method capable of using different storing modes to store data units having different data sizes |
US16/008,047 | 2018-06-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI667654B TWI667654B (zh) | 2019-08-01 |
TW202001905A true TW202001905A (zh) | 2020-01-01 |
Family
ID=68316171
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108122389A TWI714143B (zh) | 2018-06-14 | 2018-08-10 | 能使用不同儲存模式來儲存具有不同資料大小之資料單元的記憶體控制器及方法 |
TW107127904A TWI667654B (zh) | 2018-06-14 | 2018-08-10 | 能使用不同儲存模式來儲存具有不同資料大小之資料單元的記憶體控制器及方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108122389A TWI714143B (zh) | 2018-06-14 | 2018-08-10 | 能使用不同儲存模式來儲存具有不同資料大小之資料單元的記憶體控制器及方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10691358B2 (zh) |
CN (1) | CN110609657B (zh) |
TW (2) | TWI714143B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102542299B1 (ko) * | 2018-08-22 | 2023-06-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
TWI698749B (zh) * | 2019-03-13 | 2020-07-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US11294820B2 (en) * | 2019-06-28 | 2022-04-05 | Micron Technology, Inc. | Management of programming mode transitions to accommodate a constant size of data transfer between a host system and a memory sub-system |
KR20210125774A (ko) * | 2020-04-09 | 2021-10-19 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI373045B (en) | 2008-01-07 | 2012-09-21 | Phison Electronics Corp | Flash memory storage apparatus, flash memory controller and switching method thereof |
KR101069004B1 (ko) * | 2008-08-01 | 2011-09-29 | 주식회사 하이닉스반도체 | 플래시 메모리 소자의 프로그램 방법 |
JP5317690B2 (ja) * | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
US8144511B2 (en) * | 2009-08-19 | 2012-03-27 | Sandisk Technologies Inc. | Selective memory cell program and erase |
US20120155167A1 (en) * | 2010-12-21 | 2012-06-21 | Kabushiki Kaisha Toshiba | Non-volatile storage device, information processing system and write control method of non-volatile storage device |
WO2012158514A1 (en) * | 2011-05-17 | 2012-11-22 | Sandisk Technologies Inc. | Non-volatile memory and method with small logical groups distributed among active slc and mlc memory partitions |
TWI471862B (zh) * | 2011-08-19 | 2015-02-01 | Silicon Motion Inc | 快閃記憶體控制器 |
TWI483111B (zh) * | 2012-09-20 | 2015-05-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
KR102101304B1 (ko) * | 2013-03-15 | 2020-04-16 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
TW201533575A (zh) * | 2014-02-17 | 2015-09-01 | Acer Inc | 儲存裝置及其資料存取方法 |
US9448745B2 (en) * | 2014-03-13 | 2016-09-20 | NXGN Data, Inc. | Configurable read-modify-write engine and method for operating the same in a solid state drive |
JP2017010396A (ja) * | 2015-06-24 | 2017-01-12 | 富士通株式会社 | ストレージ装置、キャッシュ書込制御方法及びキャッシュ書込制御プログラム |
KR102356523B1 (ko) * | 2015-08-04 | 2022-02-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN106569730B (zh) * | 2015-10-08 | 2019-03-22 | 光宝电子(广州)有限公司 | 固态储存装置及其相关资料写入方法 |
US9530491B1 (en) * | 2015-11-16 | 2016-12-27 | Sandisk Technologies Llc | System and method for direct write to MLC memory |
US10235283B2 (en) * | 2017-03-14 | 2019-03-19 | International Business Machines Corporation | Techniques for supporting in-place updates with a log-structured array controller |
JP7030463B2 (ja) * | 2017-09-22 | 2022-03-07 | キオクシア株式会社 | メモリシステム |
-
2018
- 2018-06-14 US US16/008,047 patent/US10691358B2/en active Active
- 2018-08-10 TW TW108122389A patent/TWI714143B/zh active
- 2018-08-10 TW TW107127904A patent/TWI667654B/zh active
- 2018-09-14 CN CN201811072070.2A patent/CN110609657B/zh active Active
-
2020
- 2020-05-10 US US16/871,022 patent/US11209999B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN110609657A (zh) | 2019-12-24 |
US11209999B2 (en) | 2021-12-28 |
TWI714143B (zh) | 2020-12-21 |
CN110609657B (zh) | 2022-10-21 |
US10691358B2 (en) | 2020-06-23 |
TWI667654B (zh) | 2019-08-01 |
US20190384517A1 (en) | 2019-12-19 |
TW202001553A (zh) | 2020-01-01 |
US20200272346A1 (en) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI714143B (zh) | 能使用不同儲存模式來儲存具有不同資料大小之資料單元的記憶體控制器及方法 | |
US10049005B2 (en) | Flash memory control apparatus utilizing buffer to temporarily storing valid data stored in storage plane, and control system and control method thereof | |
US9324435B2 (en) | Data transmitting method, memory control circuit unit and memory storage apparatus | |
TWI534618B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
JP2017224379A (ja) | 内部ecc処理を有するnand型フラッシュメモリおよびその動作方法 | |
TWI446350B (zh) | 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器 | |
US20160139814A1 (en) | Cache memory device and data processing method of the device | |
US20130097362A1 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US9208021B2 (en) | Data writing method, memory storage device, and memory controller | |
US10013187B2 (en) | Mapping table accessing method, memory control circuit unit and memory storage device | |
US20230342055A1 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
US20140331024A1 (en) | Method of Dynamically Adjusting Mapping Manner in Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
TWI556103B (zh) | 記憶體裝置及其資料存取方法 | |
TW201814489A (zh) | 資料儲存方法與資料儲存系統 | |
US20130159604A1 (en) | Memory storage device and memory controller and data writing method thereof | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US20180165032A1 (en) | Read write performance for nand flash for archival application | |
US20160132387A1 (en) | Data access method, memory control circuit unit and memory storage apparatus | |
US20160110112A1 (en) | Data writing method, memoey control circuit unit and memory storage apparatus | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
TW202011204A (zh) | 快閃記憶體控制器及方法 | |
US20220317878A1 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
US9600363B2 (en) | Data accessing method, memory controlling circuit unit and memory storage apparatus | |
CN116897341A (zh) | 隐含流 |