TWI625625B - 包括一多解析度內部快取之記憶體系統控制器 - Google Patents

包括一多解析度內部快取之記憶體系統控制器 Download PDF

Info

Publication number
TWI625625B
TWI625625B TW103142003A TW103142003A TWI625625B TW I625625 B TWI625625 B TW I625625B TW 103142003 A TW103142003 A TW 103142003A TW 103142003 A TW103142003 A TW 103142003A TW I625625 B TWI625625 B TW I625625B
Authority
TW
Taiwan
Prior art keywords
cache
data
resolution
internal cache
processing unit
Prior art date
Application number
TW103142003A
Other languages
English (en)
Other versions
TW201535115A (zh
Inventor
馬克 費特曼
尤維 威柏格
伊泰 德爾
Original Assignee
桑迪士克科技有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 桑迪士克科技有限責任公司 filed Critical 桑迪士克科技有限責任公司
Publication of TW201535115A publication Critical patent/TW201535115A/zh
Application granted granted Critical
Publication of TWI625625B publication Critical patent/TWI625625B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)

Abstract

本發明揭示一種記憶體系統,該系統包括一非揮發性記憶體及與該非揮發性記憶體通信之一控制器。該控制器可包含一中央處理單元(「CPU」)及經由複數個快取線與該CPU通信之一內部快取。該CPU經組態以在以一第一解析度存取儲存在該內部快取中之資料時利用該複數個快取線之一第一子集。此外,該CPU經組態以在以一第二解析度存取儲存在該內部快取中之資料時利用該複數個快取線之一第二子集,其中該第一解析度及該第二解析度係不同解析度。

Description

包括一多解析度內部快取之記憶體系統控制器
記憶體系統之控制器常常利用多個快取,該等快取之一些在控制器之內部且一些在控制器之外部。例如,在許多實施方案中,記憶體系統之控制器利用在控制器之內部之一內部快取及在控制器外部之一外部DRAM快取。
內部快取容許控制器快取資料,諸如在外部DRAM快取與控制器之間流動之中央處理單元變量。除儲存用於控制器之資料之外,外部DRAM快取亦在資料在與記憶體系統耦合之一主機與記憶體系統之一非揮發性記憶體之間流動時提供資料之快取。
在控制器內部之內部快取常常比外部DRAM快取顯著更快且可以比外部DRAM快取更高之解析度存取。然而,內部快取之大小常常顯著小於外部DRAM快取。例如,一內部快取之一大小之數量級常常為128千位元,而一外部快取之一大小之數量級常常為512百萬位元。
可期望改良式記憶體系統,其等能夠提供具有提供一內部快取之速度及高解析度同時亦提供一外部DRAM快取之大小及低解析度之一快取的控制器。
本發明係關於一種包含一多解析度內部快取之記憶體系統控制器。在一態樣中,揭示一種記憶體系統。該記憶體系統包括一非揮發 性記憶體及與該非揮發性記憶體通信之一控制器。控制器包括一中央處理單元及經由複數個快取線與中央處理單元通信之一內部快取。
中央處理單元經組態以在以一第一解析度存取儲存在內部快取中之資料時利用複數個快取線之一第一子集。此外,中央處理單元經組態以在以一第二解析度存取儲存在內部快取中之資料時利用複數個快取線之一第二子集,其中第一解析度及第二解析度係不同解析度。
在另一態樣中,揭示一種方法。該方法之元件係在一記憶體系統之一控制器中執行,其中該控制器包括一中央處理單元及經由複數個快取線與中央處理單元通信之一內部快取。
中央處理單元基於以一第一解析度或不同於第一解析度之一第二解析度存取儲存在內部快取中之資料之一經判定需求,判定是否使用複數個快取線之一第一子集或複數個快取線之一第二子集存取儲存在內部快取中之資料。
中央處理單元回應於以第一解析度存取儲存在內部快取中之資料之一判定而利用複數個快取線之第一子集存取儲存在內部快取中之資料。
中央處理單元回應於以第二解析度存取儲存在內部快取中之資料之一判定,而利用複數個快取線之第二子集存取儲存在內部快取中之資料。
100‧‧‧主機系統
102‧‧‧記憶體系統
104‧‧‧配合部件
106‧‧‧配合部件
108‧‧‧應用程式部分
110‧‧‧驅動程式部分
112‧‧‧處理器
114‧‧‧檔案系統
116‧‧‧快閃記憶體
118‧‧‧系統控制器
120‧‧‧記憶體晶粒/記憶體庫
122‧‧‧前端
124‧‧‧控制器韌體
126‧‧‧快閃管理邏輯
128‧‧‧快閃介面模組(FIM)
202‧‧‧內部資料匯流排
204‧‧‧記憶體介面
206‧‧‧處理器
210‧‧‧啟動程式碼唯讀記憶體(ROM)
212‧‧‧內部快取
214‧‧‧錯誤校正碼(ECC)模組
216‧‧‧主機介面
218‧‧‧內部時脈
220‧‧‧區段
222‧‧‧片段
224‧‧‧快取線
225‧‧‧第一區段
226‧‧‧第一快取線
300‧‧‧記憶體庫
302‧‧‧系統匯流排
304‧‧‧資料部分
306‧‧‧位址部分/位址匯流排
308‧‧‧控制及狀態部分
310‧‧‧平面/記憶體胞陣列
312‧‧‧平面/記憶體胞陣列
314‧‧‧行控制電路
316‧‧‧行控制電路
318‧‧‧位元線
320‧‧‧位元線
322‧‧‧字線
324‧‧‧列控制電路
326‧‧‧源電壓控制電路
328‧‧‧源電壓控制電路
330‧‧‧p井電壓控制電路
332‧‧‧p井電壓控制電路
334‧‧‧資料輸入/輸出電路
336‧‧‧資料輸入/輸出電路
338‧‧‧線
340‧‧‧線
342‧‧‧介面電路
344‧‧‧狀態機
346‧‧‧控制線
348‧‧‧控制線
350‧‧‧控制線
352‧‧‧控制線
354‧‧‧控制線
356‧‧‧線
402‧‧‧線
404‧‧‧線
406‧‧‧線
408‧‧‧線
410‧‧‧記憶體胞串
412‧‧‧記憶體胞串
414‧‧‧記憶體胞串
416‧‧‧記憶體胞串
418‧‧‧記憶體胞串
420‧‧‧記憶體胞串
422‧‧‧記憶體胞串
424‧‧‧記憶體胞串
426‧‧‧電荷儲存記憶體胞
428‧‧‧電荷儲存記憶體胞
430‧‧‧電荷儲存記憶體胞
432‧‧‧電荷儲存記憶體胞
434‧‧‧選擇電晶體
436‧‧‧選擇電晶體
438‧‧‧字線/控制閘極線
440‧‧‧字線/控制閘極線
442‧‧‧字線/控制閘極線
444‧‧‧字線/控制閘極線
446‧‧‧控制閘極線
448‧‧‧控制閘極線
450‧‧‧控制閘極線
452‧‧‧第一區塊
454‧‧‧第二區塊
502‧‧‧平面
504‧‧‧平面
506‧‧‧平面
508‧‧‧平面
510‧‧‧區塊
512‧‧‧區塊
514‧‧‧區塊
516‧‧‧區塊
518‧‧‧後設區塊
520‧‧‧第二後設區塊
522‧‧‧區塊
524‧‧‧區塊
526‧‧‧區塊
528‧‧‧區塊
602‧‧‧後設頁
702‧‧‧步驟
704‧‧‧步驟
706‧‧‧步驟
708‧‧‧步驟
710‧‧‧步驟
圖1圖解說明與具有含有多個晶粒之一多記憶體庫非揮發性記憶體之一記憶體系統連接之一主機。
圖2a係在圖1之多晶粒非揮發性記憶體中使用之一例示性快閃記憶體系統控制器之一例示性方塊圖。
圖2b係圖解說明存取圖2a之記憶體系統控制器之一內部快取之區段及片段之快取線之一圖式。
圖3係適合用作圖1中圖解說明之非揮發性記憶體庫之一者之一例示性快閃記憶體庫。
圖4a係可用於圖3之記憶體庫中之一記憶體胞陣列之一代表性電路圖。
圖4b圖解說明經操作以將兩個資料位元儲存在一記憶體胞中之一MLC記憶體中之電荷位準。
圖5圖解說明圖3之記憶體庫之一例示性實體記憶體組織。
圖6展示圖5之實體記憶體之一部分之一放大圖。
圖7係一控制器利用一多解析度內部快取之一方法之一流程圖。
本發明係關於一種包括包含一多解析度內部快取之一控制器的記憶體系統,及控制器之一中央處理單元存取及利用多解析度內部快取之方法。如下文將更詳細論述,一記憶體系統可包含一非揮發性記憶體及與該非揮發性記憶體通信之一控制器。控制器可包含一中央處理單元(「CPU」)及經由複數個快取線與CPU通信之一多解析度內部快取。與具有控制器且控制器利用其內部之一內部快取及其外部之一外部快取的先前記憶體系統相比,本發明中之控制器不利用一外部快取。
當CPU存取儲存在內部快取中之資料時,CPU判定存取資料所用之一解析度。例如,CPU可藉由利用複數個快取線之一第一子集存取內部快取而以一第一解析度存取儲存在內部快取中的用於CPU之韌體。CPU可藉由利用複數個快取線之一第二子集存取內部快取而以比第一解析度更高之一第二解析度進一步存取儲存在內部快取中之CPU變量。藉由利用一記憶體系統中包含一多解析度快取而非一內部快取及一外部快取之一控制器,該控制器能夠藉由以下方式來改良控制器內之整體效能:不管控制器自內部快取讀取小量資料還是大量資料皆 利用對資料之快速存取;減小自內部快取讀取大量資料時之延時;及相較於傳統控制器減小儲存冗餘度。
圖1至圖6展示適用於實施本發明之態樣之一快閃記憶體系統。圖1之一主機系統100將資料儲存於一記憶體系統102中並自一記憶體系統102擷取資料。該記憶體系統可為嵌入主機內之快閃記憶體,諸如呈安裝在一個人電腦中之一固態磁碟(SSD)驅動器之形式。或者,該記憶體系統102可呈透過如圖1中圖解說明之一機械及電連接器之配合部件104及106可抽換地連接至主機之一卡之形式。經組態以用作為一內部或嵌入式SSD驅動器之一快閃記憶體可看似類似於圖1之示意圖,其中主要差別係記憶體系統102在主機內部之位置。SSD驅動器可呈係用於旋轉磁碟驅動器之插入式更換(drop-in replacement)之離散模組之形式。
只要涉及記憶體系統102,圖1之主機系統100可視為具有兩個主要部分,由電路與軟體之一組合構成。該兩個主要部分係與記憶體系統102介接之一應用程式部分108及一驅動程式部分110。在一PC中,例如,應用程式部分108可包含運行文書處理、圖形、控制或其他流行應用程式軟體之一處理器112以及用於管理該主機100上之資料之檔案系統114。在一相機、蜂巢式電話或主要專用於執行一單一功能集合之其他主機系統中,應用程式部分108包含操作相機以照相並儲存照片、操作蜂巢式電話以撥打電話及接聽電話等等之軟體。
圖1之記憶體系統102可包含諸如快閃記憶體116之非揮發性記憶體及與主機100介接並控制記憶體116之一系統控制器118,記憶體系統102連接至主機100以來回傳遞資料。在資料程式化及讀取期間,系統控制器118可在由主機100使用之資料之邏輯位址與快閃記憶體116之實體位址之間轉換。快閃記憶體116可包含任何數目之記憶體晶粒120且圖1中僅藉由圖解展示兩個記憶體晶粒。
在功能上,系統控制器118可包含與主機系統介接之一前端122、用於協調記憶體116之操作的控制器韌體124、用於諸如垃圾收集之內部記憶體管理操作之快閃管理邏輯126、及用以在控制器與快閃記憶體116之間提供一通信介面之一或多個快閃介面模組(FIM)128。
系統控制器118可實施於一單一積體電路晶片(諸如一特定應用積體電路(ASIC),諸如圖2a中所示)上。系統控制器118之處理器206可組態為能夠經由一記憶體介面204單獨與各自記憶體庫120之各者通信之一多線程處理器,該記憶體介面204具有用於快閃記憶體116中之各自記憶體庫120之各者之I/O埠。系統控制器118可包含一內部時脈218。處理器206經由一內部資料匯流排202與一錯誤校正碼(ECC)模組214、一內部快取212、一主機介面216及啟動程式碼唯讀記憶體(ROM)210通信。
在一些實施方案中,內部快取212可係一DRAM快取,且處理器206可透過內部資料匯流排202經由複數個快取線與內部快取212通信。在一些實施方案中,可將內部快取212劃分為複數個區段,其中複數個快取線之至少一快取線與各區段相關聯。利用與一區段相關聯之一快取線,處理器206可存取及讀取儲存在該特定區段處之資料。
當內部快取212支援多個解析度時,處理器206可藉由讀取沿與一區段相關聯之快取線儲存的資料之不同部分而存取該區段之不同部分(亦稱為區段之片段)。例如,處理器206可藉由沿快取線讀取所有資料而讀取儲存在區段中之所有資料。在一些實施方案中,此可稱為以一低解析度讀取資料。或者,處理器206可藉由僅沿相同快取線之一或多個部分讀取資料而讀取儲存在相同區段中之資料之僅一部分。在一些實施方案中,此可稱為以一高解析度讀取資料。
應了解處理器206可利用複數個快取線之不同子集來以不同解析度讀取儲存在內部快取212之一或多個區段中之資料。儘管上述實例 可僅描述一低解析度及一高解析度,然而內部快取212可經設計以支援任何數目之解析度。
圖2b係圖解說明如上文描述之一內部快取212之一實施方案之一部分之一圖式。內部快取212被劃分為複數個區段220,其中區段220之一或多者進一步被劃分為複數個片段222。複數個快取線224存取複數個區段220及該複數個區段220內之複數個片段222。
例如,複數個快取線224之一第一快取線226可存取複數個區段220之一第一區段225及與第一區段225相關聯之複數個片段。圖2a之處理器206可藉由沿第一快取線226讀取所有資料而以一低解析度讀取儲存在第一區段225中之所有資料。依相同原理,處理器可藉由沿與多個區段相關聯之複數個快取線224之一子集讀取所有資料而以一低解析度快速讀取儲存在多個區段中之所有資料。
關於以一更高解析度讀取資料,圖2a之處理器206可藉由沿第一快取線226之一或多個部分讀取資料而讀取儲存在第一區段225中之資料之僅一部分以存取儲存在特定片段中之資料。依相同原理,處理器可藉由沿複數個快取線224之一或多者之一或多個部分讀取資料而快速讀取多個片段中之所有資料。
再次參考圖1,快閃記憶體116中之各晶粒120可含有組織成多個平面之一記憶體胞陣列。圖3為簡單起見展示此等平面310及312,但可代替性地使用較大數目之平面,諸如4個或8個平面。替代地,一記憶體庫之記憶體胞陣列可不被劃分為若干平面。然而,當被如此劃分之後,各平面具有可彼此獨立操作之其自身之行控制電路314及316。電路314及316自系統匯流排302之位址部分306接收其等各自記憶體胞陣列之位址,且將其等解碼以定址各自位元線318及320之一特定者或多者。回應於在位址匯流排306上接收位址,透過列控制電路324定址字線322。如p井電壓控制電路330及332與各自平面連接,源電壓控制 電路326及328亦與各自平面連接。若記憶體庫300係呈具有一單一記憶體胞陣列之一記憶體晶片之形式,且若系統中存在兩個或更多個此等晶片,則透過與系統匯流排302之資料部分304連接之各自資料輸入/輸出電路334及336將資料傳進及傳出平面310及312。電路334及336透過線338及340而提供將資料程式化至記憶體胞中及自其等各自平面之記憶體胞讀取資料兩者,線338及340係透過各自行控制電路314及316而連接至該等平面。
雖然系統控制器118中之處理器206控制各記憶體庫120中之記憶體晶片之操作來程式化資料、讀取資料、擦除及參加各種內部管理(housekeeping)事務,但各記憶體晶片亦含有執行來自該控制器118之命令以執行此等功能之一些控制電路。介面電路342連接至系統匯流排302之控制及狀態部分308。將來自控制器118之命令提供給一狀態機344,狀態機344接著對其他電路提供特定控制以執行此等命令。控制線346至354使狀態機344與如圖3中所示之此等其他電路連接。來自狀態機344之狀態資訊透過線356而傳達至介面342,以透過匯流排部分302而傳輸至控制器118。
下文論述記憶體胞陣列310及312之一NAND架構,但是可代替性地使用諸如NOR之其他架構。藉由圖4之電路圖圖解說明一例示性NAND陣列,其係圖3之記憶體庫300之記憶體胞陣列310之一部分。提供大量全域位元線,為便於簡單解釋,圖4a中僅展示4個此等線402至408。數個串聯連接之記憶體胞串410至424係連接在此等位元線之一者與一參考電位之間。使用記憶體胞串414作為代表性串,複數個電荷儲存記憶體胞426至432在該串之任一端處與選擇電晶體434及436串聯連接。當一串之選擇電晶體呈現導電性時,該串係連接在其位元線與參考電位之間。接著一次程式化或讀取該串內之一個記憶體胞。
圖4a之字線438至444橫跨數個記憶體胞串之各者中之一記憶體胞 之電荷儲存元件個別地延伸,且閘極446及450控制該等串之各端處之選擇電晶體之狀態。共用共同字線及控制閘極線438至450之記憶體胞串經製成以形成被一起擦除之記憶體胞之一區塊452。此記憶體胞區塊含有實體上可同時擦除之最少數目之記憶體胞。一次程式化沿字線438至444之一者之一列記憶體胞。通常,按一指定順序程式化一NAND陣列之列,在此情況中開始於沿最靠近連接至接地或另一共同電位之串之端之字線444之列。接著程式化沿字線442之記憶體胞之列,以此類推貫穿該區塊452。然而,在其他實施方案中,不以循序次序程式化一NAND陣列之列。
一第二區塊454係類似的,其記憶體胞串連接至與第一區塊452中之記憶體胞串相同但具有不同之字線及控制閘極線集合之全域位元線。該等字線及控制閘極線係藉由列控制電路324而驅動至其適當操作電壓。若系統中存在一個以上平面,諸如圖3之平面1及2,則一記憶體架構使用在平面之間延伸之共同字線。或者,可存在共用共同字線之兩個以上平面。在其他記憶體架構中,單獨驅動個別平面之字線。
記憶體胞可經操作以儲存兩個電荷位準使得各記憶體胞中儲存一單一資料位元。此通常被稱為一個二進位或單位階記憶體胞(SLC)記憶體。或者,記憶體胞可經操作以在各電荷儲存元件或區域中儲存兩個以上可偵測電荷位準,藉此在各電荷儲存元件或區域中儲存一個以上資料位元。此後一組態被稱為多位階記憶體胞(MLC)記憶體。兩種類型的記憶體胞皆可用於一記憶體中。例如二進位快閃記憶體可用於快取資料,且MLC記憶體可用於更長期儲存。該等記憶體胞之電荷儲存元件係最常見的導電浮動閘極,但可替代性地為非導電介電電荷捕獲材料。
在MLC記憶體經操作以將兩個資料位元儲存在各記憶體胞中之 實施方案中,各記憶體胞經組態以儲存對應於值「11」、「01」、「10」及「00」之四個電荷位準。兩個資料位元之各位元可表示一下部頁之一頁位元或一上部頁之一頁位元,其中下部頁及上部頁橫跨共用一共同字線之一系列記憶體胞。通常,兩個資料位元之較低有效位元表示一下部頁之一頁位元,且兩個資料位元之較高有效位元表示一上部頁之一頁位元。
圖4b圖解說明用以表示一記憶體胞中之兩個資料位元之四個電荷位準之一實施方案。一值「11」對應於記憶體胞之一未經程式化狀態。當將程式化脈衝施加至記憶體胞以程式化下部頁之一頁位元時,電荷位準增大以表示對應於下部頁之頁位元之一經程式化狀態之一值「10」。
對於一上部頁之一頁位元,當下部頁之頁位元(一值「10」)經程式化時,取決於上部頁之頁位元之所要值而針對上部頁之頁位元將程式化脈衝施加至記憶體胞以增大電荷位準以使其對應於一值「00」或「10」。然而,若下部頁之頁位元未經程式化,使得記憶體胞係在一未經程式化狀態(一值「11」)中,則將程式化脈衝施加至記憶體胞以程式化上部頁之頁位元將增大電荷位準以使其表示對應於上部頁之頁位元之一經程式化狀態之一值「01」。
圖5從概念上圖解說明展示記憶體胞之4個平面502至508之一多平面配置。此等平面502至508可在一單一晶粒上、在兩個晶粒上(各晶粒上具有該等平面之二者)或在4個分離晶粒上。當然,一系統之各晶粒中可存在其他數目之平面,諸如1個、2個、8個、16個或更多個平面。該等平面係個別地劃分為圖5中藉由矩形所示之記憶體胞之區塊,諸如位於各自平面502至508中之區塊510、512、514及516。每一平面中可存在幾十或幾百個區塊。
如上提及,記憶體胞之一區塊係擦除單位,即實體上可一起擦 除之最小數目之記憶體胞。然而,對於增加之平行性,依較大的後設區塊單位操作區塊。來自各平面之一區塊邏輯式連結在一起以形成一後設區塊。該4個區塊510至516經展示以形成一後設區塊518。一後設區塊內之所有記憶體胞通常係一起擦除。如由區塊522至528構成之一第二後設區塊520中所示,用以形成一後設區塊之區塊無需限於其等各自平面內之相同相對位置。雖然橫跨所有平面延伸後設區塊通常為較佳,然對於高系統效能而言,記憶體系統亦可以在不同平面中用一個、兩個或三個區塊之任意者或所有動態形成後設區塊之能力而操作。此容許該後設區塊之大小與在一程式化操作中可用於儲存之資料量更緊密地匹配。
如圖6中圖解說明,為操作目的,繼而將個別區塊劃分為記憶體胞之頁。例如,區塊510至516之各者之記憶體胞各被劃分為8頁P0至P7。或者,各區塊內可存在記憶體胞之32頁、64頁或更多頁。頁係在一區塊內程式化及讀取之資料單位,其含有同時程式化或讀取之最小資料量。在圖3之NAND架構中,一頁係由沿一區塊內之一字線之記憶體胞形成。然而,為增加記憶體系統操作平行性,可將兩個或更多個區塊內之此等頁面邏輯連結至後設頁中。圖6中圖解說明一後設頁602,其由來自4個區塊510至516之各者之一實體頁形成。例如,後設頁602包含該4個區塊之各者中之頁P2,但一後設頁之諸頁無須在該等區塊之各者內具有相同相對位置。
記憶體卡之控制器韌體中之快閃管理層可選擇依據稱作邏輯群組之分配單元來分配記憶體。小於一邏輯群組大小之寫入將導致除控制器寫入傳入資料之外,控制器亦將儲存在一原始實體位置處之有效資料複製至一新的實體位置。此額外負擔降低記憶體之效能及耐久性。為最小化此額外負擔,將一群組之記憶體用作為更新區塊。一更新區塊通常係比資料區塊具有更佳耐久性之一記憶體,即,若資料區 塊具有MLC記憶體,則更新區塊具有SLC記憶體。小於一邏輯群組之寫入可導致控制器將資料引導至更新區塊,且在合併之後,控制器可稍後將來自更新區塊之資料複製至一或多個程式資料區塊。控制器基於以下事實而執行此等動作:更新區塊更耐久且更可能在寫入至資料區塊中之前收集更新區塊中之整個邏輯群組之資料,因此減小MLC記憶體中之額外負擔。因類似原因,亦可更期望將頻繁寫入之資料區塊留存在更新區塊中。
如上文陳述,記憶體系統可包含一控制器,該控制器利用一多解析度內部快取以容許控制器之一CPU更有效地存取儲存在內部快取中之不同類型之資料。一般而言,控制器經由複數個快取線與內部快取通信,使得控制器能夠利用複數個快取線之不同子集而以不同解析度存取儲存在內部快取中之資料。熟悉此項技術者將了解對CPU提供以不同解析度存取內部快取之能力將對CPU提供以不同級別之細微度存取儲存在內部快取中之資料之能力。
例如,在一實施方案中,內部快取可經組態以支援兩種解析度。然而,在其他實施方案中,內部快取可經組態以支援任何數目之解析度。
繼續其中內部快取經組態以支援兩種解析度之實例,內部快取可支援為一低解析度之一第一解析度,諸如4千位元組(4KB),且外部快取可支援為一高解析度之一第二解析度,如64位元組。例如,CPU可在同時存取一大的群組之資料(諸如韌體或在儲存在非揮發性記憶體中之前自一主機裝置接收之資料)時判定以低解析度存取儲存在內部快取中之資料之一需求。或者,例如,CPU可在存取一小的群組之資料(諸如CPU變量、通常以低解析度存取之資料之一子集)時或在存取一查詢表時判定以一更高解析度存取儲存在內部快取中之資料之一需求。
如下文將更詳細描述,在存取控制器之內部快取之前,控制器之CPU基於以下因數判定存取內部快取所用之解析度:諸如待自內部快取讀取之一資料類型;待自內部快取讀取之資料量(諸如位元組之數目);存取儲存在內部快取中之資料時記憶體系統之一額外負擔量;或可對CPU指示是否以一低解析度或一高解析度存取儲存在內部快取中之資料之任何其他因數。基於經判定解析度,CPU接著判定存取儲存在內部快取中之資料之複數個快取線之一子集。
繼續其中內部快取支援兩種解析度之上述實例,在CPU存取內部快取之前,CPU判定是否以一低解析度或以一高解析度存取儲存在內部快取中之資料。回應於以低解析度存取內部快取之一判定,CPU利用複數個快取線之一第一子集存取儲存在內部快取中之資料。或者,回應於以一高解析度存取內部快取之一判定,CPU利用複數個快取線之一第二子集來存取儲存在內部快取中之資料。
圖7係一記憶體系統之一控制器利用一多解析度內部快取之一方法之一流程圖。該方法之元件發生在一記憶體系統之一控制器中,該控制器包括一CPU及經由複數個快取線與CPU通信之一內部快取。
該方法在步驟702處開始於記憶體系統之一控制器之一CPU判定存取儲存在控制器之一內部快取中之資料之一需求。CPU可基於以下各項判定存取資料之需求:例如,來自耦合至記憶體系統之一主機之一命令、自記憶體系統內起始之一命令、存取CPU之韌體用於執行之一需求,或可對CPU指示存取儲存在內部快取中之資料之一需求之任何其他命令。
在步驟704處,CPU判定以其存取儲存在內部快取中之資料所用之一解析度。在一些實施方案中,CPU可基於以下因數判定存取儲存在內部快取中之資料所用之一解析度:待自內部快取讀取之一資料類型;待自內部快取讀取之資料量(諸如位元組之數目);存取儲存在內 部快取中之資料時記憶體系統之一額外負擔量;或可對CPU指示是否以一低解析度或一高解析度存取儲存在內部快取中之資料之任何其他因數。
在步驟706處,基於經判定解析度,CPU判定存取儲存在內部快取中之資料之複數個快取線之一子集。在步驟708處,CPU利用複數個快取線之經判定子集存取儲存在內部快取中之資料,且在步驟710處,CPU基於經存取資料執行一或多個操作。
圖1至圖7圖解說明記憶體系統及用於利用記憶體系統之方法,該記憶體系統包括包含一多解析度內部快取之一控制器。如上文解釋,一記憶體系統可包含一非揮發性記憶體及與非揮發性記憶體通信之一控制器。控制器可包含一CPU及經由複數個快取線與CPU通信之一多解析度內部快取。當CPU存取儲存在內部快取中之資料時,CPU判定存取資料所用之一解析度且利用複數個快取線之一子集以便以所要解析度存取儲存在內部快取中之資料。
藉由利用包含一多解析度快取而非一內部快取及一外部快取之一記憶體系統中之一控制器,控制器能夠藉由以下方式來改良控制器內之整體效能:不管控制器自內部快取讀取小量資料或大量資料皆利用對資料之快速存取;減小自內部快取讀取大量資料時之延時;及相較於傳統控制器減小儲存冗餘度。
期望將前述詳細描述視為闡釋性而非限制性,且應了解包含所有等效物之隨附申請專利範圍意欲界定本發明之精神及範疇。

Claims (13)

  1. 一種記憶體系統,其包括:非揮發性記憶體;及一控制器,其與該非揮發性記憶體通信,該控制器包括:一中央處理單元;及一內部快取,其經由複數個快取線與該中央處理單元通信,該內部快取經組態以同時儲存中央處理單元變量、主機資料及用於該中央處理單元之韌體;其中該中央處理單元經組態以在以一第一解析度存取儲存在該內部快取之一區段中之一第一資料集合時利用該複數個快取線之一第一子集,該第一資料集合包括該等中央處理單元變量或該主機資料之至少一者;其中該中央處理單元經組態以在以一第二解析度存取儲存在該內部快取之該區段中之一第二資料集合時利用該複數個快取線之一第二子集,該第二資料集合包括用於該中央處理單元之該韌體;且其中該複數個快取線之該第二子集提供以比該複數個快取線之該第一子集對儲存在該內部快取之該區段中之資料進行存取所用的解析度更高之一解析度對儲存在該內部快取之該區段中之資料進行存取。
  2. 如請求項1之記憶體系統,其中該複數個快取線之該第一子集提供以4千位元組(4KB)之該第一解析度對儲存在該內部快取之該區段中之該第一資料集合進行存取。
  3. 如請求項1之記憶體系統,其中該複數個快取線之該第二子集提供以64位元組之該第二解析度對儲存在該內部快取之該區段中之該第二資料集合進行存取。
  4. 如請求項1之記憶體系統,其中該中央處理單元經組態以基於該中央處理單元在該內部快取之該區段中存取之資料的位元組數目,判定是否利用該複數個快取線之該第一子集或該複數個快取線之該第二子集存取儲存在該內部快取中之資料。
  5. 如請求項1之記憶體系統,其中該中央處理單元經組態以基於該記憶體系統存取一種類型之資料時之一額外負擔量,判定是否利用該複數個快取線之該第一子集或該複數個快取線之該第二子集存取儲存在該內部快取之該區段中之資料。
  6. 如請求項1之記憶體系統,其中該控制器嵌入在一主機裝置中。
  7. 如請求項6之記憶體系統,其中該非揮發性記憶體位於經組態以與一主機可卸除地連接之一可卸除儲存裝置中。
  8. 如請求項1之記憶體系統,其中該記憶體系統嵌入在一主機裝置中。
  9. 如請求項1之記憶體系統,其中該記憶體系統位於經組態以與一主機可卸除地連接之一可卸除儲存裝置中。
  10. 一種方法,其包括:在一記憶體系統之一控制器中執行以下各項,該控制器包括一中央處理單元及經由複數個快取線與該中央處理單元通信之一內部快取,該內部快取經組態以同時儲存中央處理單元變量、主機資料及用於該中央處理單元之韌體:基於以一第一解析度或不同於該第一解析度之一第二解析度存取儲存在該內部快取中之資料之一經判定需求,而藉由該中央處理單元判定是否使用該複數個快取線之一第一子集或該複數個快取線之一第二子集存取儲存在該內部快取中之一區段之資料,該複數個快取線之該第二子集提供以比該複數個快取線之該第一子集對儲存在該內部快取之該區段中之資料進行存取所用的解析度更高之一解析度對儲存在該內部快取之該區段中之資料進行存取;回應於以該第一解析度存取儲存在該內部快取之該區段中之資料之一判定,而藉由該中央處理單元利用該複數個快取線之該第一子集存取儲存在該內部快取之該區段中之資料,以該第一解析度存取之該資料包括該等中央處理單元變量或該主機資料之至少一者;及回應於以該第二解析度存取儲存在該內部快取之該區段中之資料之一判定,而藉由該中央處理單元利用該複數個快取線之該第二子集存取儲存在該內部快取之該區段中之資料,以該第二解析度存取之該資料包括用於該中央處理單元之該韌體。
  11. 如請求項10之方法,其中該複數個快取線之該第一子集提供以4千位元組(4KB)之該第一解析度對儲存在該內部快取之該區段中之資料進行存取,且該複數個快取線之該第二子集提供以64位元組之該第二解析度對儲存在該內部快取之該區段中之資料進行存取。
  12. 如請求項10之方法,其中該記憶體系統之該控制器嵌入在一主機裝置中。
  13. 如請求項10之方法,其中該記憶體系統位於經組態以與一主機可卸除地連接之一可卸除儲存裝置中。
TW103142003A 2013-12-03 2014-12-03 包括一多解析度內部快取之記憶體系統控制器 TWI625625B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/095,294 US9507706B2 (en) 2013-12-03 2013-12-03 Memory system controller including a multi-resolution internal cache
US14/095,294 2013-12-03

Publications (2)

Publication Number Publication Date
TW201535115A TW201535115A (zh) 2015-09-16
TWI625625B true TWI625625B (zh) 2018-06-01

Family

ID=52146733

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103142003A TWI625625B (zh) 2013-12-03 2014-12-03 包括一多解析度內部快取之記憶體系統控制器

Country Status (3)

Country Link
US (1) US9507706B2 (zh)
TW (1) TWI625625B (zh)
WO (1) WO2015084820A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582205B2 (en) * 2014-04-17 2017-02-28 Sandisk Technologies Llc Protection scheme with dual programming of a memory system
US12051467B2 (en) * 2020-06-04 2024-07-30 Sandisk Technologies Llc Programming of memory cells using a memory string dependent program voltage
US11687458B1 (en) * 2021-12-02 2023-06-27 V-Silicon Semiconductor (Hefei) Co., Ltd Multi-resolution cache

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132770A1 (en) * 2007-11-20 2009-05-21 Solid State System Co., Ltd Data Cache Architecture and Cache Algorithm Used Therein
TW201239610A (en) * 2011-03-24 2012-10-01 Toshiba Kk Controller and program product therefor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437512B2 (en) 2004-02-26 2008-10-14 Marvell International Ltd. Low power semi-trace instruction/trace hybrid cache with logic for indexing the trace cache under certain conditions
US8135900B2 (en) * 2007-03-28 2012-03-13 Kabushiki Kaisha Toshiba Integrated memory management and memory management method
US20100185816A1 (en) * 2009-01-21 2010-07-22 Sauber William F Multiple Cache Line Size
US8397018B2 (en) * 2010-07-30 2013-03-12 Sandisk Technologies Inc. Systems and methods for implementing a programming sequence to enhance die interleave

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132770A1 (en) * 2007-11-20 2009-05-21 Solid State System Co., Ltd Data Cache Architecture and Cache Algorithm Used Therein
TW201239610A (en) * 2011-03-24 2012-10-01 Toshiba Kk Controller and program product therefor

Also Published As

Publication number Publication date
TW201535115A (zh) 2015-09-16
US20150154109A1 (en) 2015-06-04
WO2015084820A1 (en) 2015-06-11
US9507706B2 (en) 2016-11-29

Similar Documents

Publication Publication Date Title
US20050204091A1 (en) Non-volatile memory with synchronous DRAM interface
CN111104059B (zh) 存储器控制器及操作该存储器控制器的方法
US11481272B2 (en) Memory controller and method of operating the same
US11194736B2 (en) Memory controller having improved map data access performance and method of operating the same
CN110389720B (zh) 存储装置及其操作方法
US11543986B2 (en) Electronic system including host, memory controller and memory device and method of operating the same
US11194712B2 (en) Memory controller and operating method for performing garbage collection operation in memory devices
CN111105832A (zh) 存储装置和操作存储装置的方法
US20210157721A1 (en) Memory controller, storage device including the memory controller, and operating method of the memory controller and the storage device
US11928055B2 (en) Memory sub-system for decoding non-power-of-two addressable unit address boundaries
CN112687314A (zh) 存储器设备和操作存储器设备的方法
CN114860622A (zh) 存储装置及操作存储装置的方法
CN114201414A (zh) 存储装置及其操作方法
US11868267B2 (en) Access unit and management segment memory operations
CN111435333B (zh) 存储装置及其操作方法
CN113223573A (zh) 存储器控制器及其操作方法
CN113010096A (zh) 存储装置及其操作方法
KR20210128780A (ko) 메모리 컨트롤러 및 이를 포함하는 저장 장치
TWI625625B (zh) 包括一多解析度內部快取之記憶體系統控制器
US11474723B2 (en) Storage device and operating method thereof
US11636899B2 (en) Memory device and method of operating the same
US11481135B2 (en) Storage device and method of operating the storage device
CN112447234B (zh) 存储器控制器及其操作方法
CN115509957A (zh) 主机装置、存储装置及其操作方法
CN112199037A (zh) 存储器控制器及其操作方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees