TW202314526A - 支持交織操作的記憶體裝置和記憶體系統及其操作方法 - Google Patents
支持交織操作的記憶體裝置和記憶體系統及其操作方法 Download PDFInfo
- Publication number
- TW202314526A TW202314526A TW111129298A TW111129298A TW202314526A TW 202314526 A TW202314526 A TW 202314526A TW 111129298 A TW111129298 A TW 111129298A TW 111129298 A TW111129298 A TW 111129298A TW 202314526 A TW202314526 A TW 202314526A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- data
- response
- planes
- plane
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Human Computer Interaction (AREA)
Abstract
一種記憶體系統包括至少一個記憶體晶粒和經由資料路徑聯接到至少一個記憶體晶粒的控制器。至少一個記憶體晶粒包括多個記憶體平面和暫存器,該暫存器儲存關於各個記憶體平面的操作狀態和操作結果。控制器將第一狀態檢查命令傳送到至少一個記憶體晶粒並且接收第一回應,該第一回應包括關於相應記憶體平面的操作狀態和操作結果。
Description
本文描述的本發明的一個或更多個實施方式係關於記憶體裝置、記憶體系統及其操作方法,並且更具體地,係關於用於在記憶體裝置和記憶體系統中進行交織操作的設備及方法。
資料處理系統包括記憶體系統或資料儲存裝置。資料處理系統可以被開發為在資料儲存裝置中儲存更大容量的資料,在資料儲存裝置中更快地儲存資料,並且更快地讀取儲存在資料儲存裝置中的資料。記憶體系統或資料儲存裝置可以包括用於儲存資料的非揮發性記憶體單元和/或揮發性記憶體單元。
相關申請案的交叉引用:
本專利申請請求2021年9月8日提交的韓國專利申請No. 10-2021-0119498的權益,該韓國專利申請的全部公開內容透過引用合併於本文中。
本發明的實施方式可以提供一種記憶體系統、資料處理系統和操作過程或方法,其可以透過降低記憶體系統的操作複雜性和性能劣化來快速且可靠地將資料處理到記憶體裝置中,從而提高記憶體裝置的使用效率。
另外,本發明的實施方式可以提供一種記憶體系統,該記憶體系統包括至少一個記憶體晶粒以及控制器,所述至少一個記憶體晶粒包括支持交織模式的多個記憶體平面,該控制器用於在交織模式下控制在多個平面中執行的資料輸入/輸出操作。記憶體系統中的包括能夠儲存資料的多個記憶體單元的記憶體晶粒可以包括多個記憶體平面,並且所述控制器可以在記憶體平面單元中並行執行資料輸入/輸出操作,以提高記憶體系統的資料輸入/輸出性能。
在實施方式中,一種記憶體系統可以包括:至少一個記憶體晶粒,其包括多個記憶體平面和暫存器,所述暫存器儲存關於各個記憶體平面的操作狀態和操作結果;以及控制器,其經由資料路徑聯接到至少一個記憶體晶粒,並且被配置為將第一狀態檢查命令傳送到至少一個記憶體晶粒並且接收包括關於相應記憶體平面的操作狀態和操作結果的第一回應。
第一狀態檢查命令可以包括指示至少一個記憶體晶粒中的一個記憶體晶粒的位址。
操作狀態可以示出多個記憶體平面中的每個記憶體平面是忙碌還是就緒以用於第一操作。所述第一操作可以包括編程操作、擦除操作和讀取操作之一。
操作結果可以示出在多個記憶體平面中的每個記憶體平面內執行的第二操作是成功還是失敗。第二操作可以包括編程操作和擦除操作之一。
所述第一回應可以具有1字節的大小。在所述第一回應的1字節中,每2位被指派給多個記憶體平面中的每個記憶體平面。所述2位可以包括示出相應記憶體平面的操作狀態的第一位和示出所述相應記憶體平面的操作結果的第二位。
控制器可以被配置為:將第三操作劃分為在各個記憶體平面內執行的單元操作;當基於第一回應確定多個記憶體平面中的第一記憶體平面就緒時,將單元操作中的一個傳送到第一記憶體平面;並且當從多個記憶體平面中的任何記憶體平面傳送關於所傳送的單元操作的完成時,向至少一個記憶體晶粒傳送第二狀態檢查命令。
控制器可以被配置為當基於對應於第二狀態檢查命令的第二回應確定多個記憶體平面中的第二記憶體平面就緒時,向第二記憶體平面傳送單元操作的另一單元操作。
多個記憶體平面中的每個記憶體平面可以包括多個記憶區塊和用於單獨地執行資料輸入/輸出操作的資料輸入/輸出緩衝器。所述暫存器可以儲存指示多個記憶體平面中的每個記憶體平面是忙碌還是就緒的操作狀態以及指示在多個記憶體平面中的每個記憶體平面內執行的操作是成功還是失敗的操作結果。
在實施方式中,一種記憶體裝置可以包括:至少一個記憶體晶粒,其每一個包括多個記憶體平面,所述多個記憶體平面包括能夠儲存資料的多個非揮發性記憶體單元;暫存器,其儲存關於各個記憶體平面的操作狀態和操作結果;以及控制電路,其被配置為接收狀態檢查命令、收集儲存在暫存器中的操作狀態和操作結果、並輸出所收集的操作狀態和操作結果作為與所述狀態檢查命令相對應的回應。
回應可以包括示出關於相應記憶體平面的操作狀態的多個第一位和示出關於相應記憶體平面的操作結果的多個第二位。
至少一個記憶體晶粒中的每一個還可以包括:多個資料輸入/輸出接腳,其被配置為傳送所述狀態檢查命令和所述回應;以及致能接腳,其被配置為接收從外部裝置遞送的晶片致能信號。在經由所述多個資料輸入/輸出接腳接收到狀態檢查命令之前,並且在經由多個資料輸入/輸出接腳傳送回應之前,可以啟動晶片致能信號。
回應的長度可以是多個資料輸入/輸出接腳的數量的整數倍。
回應可以透過多個資料輸入/輸出接腳逐位地輸出。
在另一實施方式中,一種用於操作記憶體系統的方法可以包括:透過資料路徑向至少一個記憶體晶粒發送第一狀態檢查命令;回應於第一狀態檢查命令,從至少一個記憶體晶粒接收包括至少一個記憶體晶粒中所包括的所有記憶體平面的操作狀態和操作結果的第一回應;以及回應於第一回應,向至少一個記憶體晶粒中所包括的平面發送用於資料輸入/輸出操作的命令。
所述方法還可以包括將包括在至少一個記憶體晶粒中的各個記憶體平面的操作狀態和操作結果儲存在暫存器中。
所述第一狀態檢查命令可以包括指示至少一個記憶體晶粒中的一個記憶體晶粒的位址。
所述方法還可以包括在經由多個資料輸入/輸出接腳接收或傳送狀態檢查命令和回應之前啟動晶片致能信號。
所述操作狀態可以示出多個記憶體平面中的每個記憶體平面是忙碌還是就緒以用於第一操作。第一操作可以包括編程操作、擦除操作和讀取操作之一。
所述操作結果可以示出在多個記憶體平面中的每個記憶體平面內執行的第二操作是成功還是失敗。第二操作可以包括編程操作和擦除操作之一。
所述第一回應可以具有1字節的大小。在第一回應的1字節中,每2位被指派給多個記憶體平面中的每個記憶體平面。所述2位可以包括示出相應記憶體平面的操作狀態的第一位和示出所述相應記憶體平面的操作結果的第二位。
在另一實施方式中,一種記憶體裝置的操作方法可以包括:每當結束對晶粒內的每個平面的最新操作時,收集表示所述最新操作的成功或失敗的第一資訊;回應於來自外部裝置的命令,收集表示每個平面的當前忙碌或備用狀態的第二資訊;以及在完成第二資訊的收集時,經由在記憶體裝置和外部裝置之間傳送的單個消息向外部裝置提供第一資訊和第二資訊。
下面參照圖式描述本發明的各種實施方式。然而,本發明的元件和特徵可以被不同地配置或佈置以形成其它實施方式,所述其它實施方式可以是所公開的實施方式中的任何一個的變型。
在本發明中,對包括在“一個實施方式”、“示例實施方式”、“實施方式”、“另一實施方式”、“一些實施方式”、“各種實施方式”、“其它實施方式”、“替代實施方式”等中的各種特徵(例如,元件、結構、模組、組件、步驟、操作、特性等)的引用旨在表示任何這樣的特徵被包括於本發明的一個或更多個實施方式中,但是在同一實施方式中可以組合或者可能不一定組合。
在本發明中,術語“包括”、“包括於”、“包含”和“包含於”是開放式的。如所附申請專利範圍中所使用的,這些術語指定了所述元件的存在,而不排除存在或添加一個或更多個其它元件。權利要求中的術語並不排除設備包括附加組件,例如,介面單元、電路等。
在本發明中,可以將各種單元、電路或其它組件描述或聲稱為“被配置為”執行一個或多個任務。在這種背景下,“被配置為”用於透過指示塊/單元/電路/組件包括在操作期間執行一個或更多個任務的結構(例如,電路)來暗示結構。這樣,塊/單元/電路/組件可以被認為被配置為即使當指定的塊/單元/電路/組件當前不工作(例如,未接通也未啟動)時也執行任務。與“被配置為”語言一起使用的塊/單元/電路/組件包括硬體,例如,電路、儲存可執行以實現操作的程序指令的記憶體等。另外,“被配置為”可以包括通用結構(例如,通用電路),其由軟體和/或韌體(例如,FPGA或執行軟體的通用處理器)操縱,從而以能夠執行所討論的任務的方式操作。“被配置為”還可以包括調整製造製程(例如,半導體製造設施)以製造適於實現或執行一個或更多個任務的器件(例如,積體電路)。
如本發明中使用的,術語“電路”或“邏輯”是指以下中的全部:(a)純硬體電路實現(諸如,僅在模擬和/或數位電路中的實現),和(b)電路和軟體和/或韌體的組合,諸如(如果適用):(i)處理器的組合或(ii)一起工作以使設備(諸如,行動電話或服務器)執行各種功能的處理器/軟體的包括數位信號處理器、軟體和記憶體的部分,以及(c)諸如微處理器或微處理器的一部分之類的需要軟體或韌體(即使軟體或韌體實體上不存在)才能運行的電路。“電路”或“邏輯”的該定義適用於該術語在本申請中(包括在任何權利要求中)的所有使用。作為另一示例,如本申請中所使用的,術語“電路”或“邏輯”還涵蓋僅處理器或多個處理器、或處理器的一部分及其或它們的隨附軟體和/或韌體的實現。術語“電路”或“邏輯”還涵蓋,例如以及如果適用於特定的申請專利範圍元素,用於儲存裝置的積體電路。
如本文所用,術語“第一”、“第二”、“第三”等用作它們後面的名詞的標簽,並不暗示任何類型的排序,例如,空間、時間、邏輯等。術語“第一”和“第二”並不一定暗示第一值必須在第二值之前寫入。此外,儘管本文可以使用這些術語來標識各種元素,但是這些元素不受這些術語的限制。這些術語用於將一個元素與否則將具有相同或相似名稱的另一元素區分開。例如,第一電路可以與第二電路區分開。
此外,術語“基於”用於描述影響確定的一個或更多個因素。該術語不排除可以影響確定的附加因素。也就是說,確定可以僅基於那些因素或至少部分地基於那些因素。考慮片語“基於B確定A”。雖然在這種情況下,B是影響A的確定的因素,但這樣的片語並不排除A的確定也基於C。在其它情況下,可以僅基於B確定A。
此處,資料的項、資料項、資料條目或資料的條目可以是位序列。例如,資料項可以包括文件的內容、文件的一部分、記憶體中的頁、面向對象編程中的對象、數位消息、數位掃描的圖像、視訊或音訊信號的一部分、元資料或可以由位序列表示的任何其它實體。根據實施方式,資料項可以包括離散對象。根據另一實施方式,資料項可以包括兩個不同組件之間的傳輸分組內的資訊單元。
本文所描述的本發明的實施方式提供了資料處理系統及用於操作該資料處理系統的方法。資料處理系統包括諸如記憶體系統和主機之類的組件和資源,並且能夠基於組件和資源的使用情況動態地分配用於組件之間的資料通信的多個資料路徑。
現在將參照圖式來描述本發明的實施方式,其中相似的元件符號表示相似的元件。
圖1示出了根據本發明的實施方式的記憶體系統。
參照圖1,記憶體系統110可以包括控制器130和記憶體裝置150。記憶體裝置150可以包括多個非揮發性記憶體單元,所述多個非揮發性記憶體單元能夠儲存從外部裝置(例如,圖2中所示的主機102)傳送的資料。記憶體裝置150可以在接收到來自主機102的請求時輸出所儲存的資料。控制器130可以控制在記憶體裝置150內執行的資料輸入/輸出操作,並執行與主機102的資料通信。
根據實施方式,記憶體系統110中的記憶體裝置150和控制器130可以是實體上分離的組件。記憶體裝置150和控制器130可以透過至少一個資料路徑連接。例如,資料路徑可以包括多個通道CH0、CH1和多個通路W0、W1、W2、W3等。
根據實施方式,記憶體裝置150和控制器130可以是功能上分離的組件。此外,根據實施方式,記憶體裝置150和控制器130可以透過單個半導體晶片或多個半導體晶片來實現。例如,記憶體裝置150可以包括多個記憶體晶粒192、194、196、198,每個記憶體晶粒被實現為記憶體晶片。多個記憶體晶粒192、194、196、198可以被理解為在實體上可區分的基板上實現的一組組件。多個記憶體晶粒192、194、196、198可共享一個通道CH0以與控制器130進行資料通信。能夠儲存大量或很多資料的記憶體系統110可以包括透過多個通道CH0、CH1聯接到控制器130的多個記憶體晶粒192、194、196、198。另外,記憶體晶粒192、194、196、198中的每一個可以包括用於與控制器130交換資料、信號等的介面電路。
根據實施方式,記憶體晶粒192、194、196、198可以單獨地包括至少一個記憶體平面。例如,第四記憶體晶粒198可以包括四個記憶體平面P0至P3 172、174、176、178。根據實施方式,記憶體平面P0至P3可以包括至少一個記憶區塊152、154、156(參見圖2)。根據實施方式,記憶體平面P0至P3可以被認為是邏輯分區或實體分區,該邏輯分區或實體分區包括能夠控制多個非揮發性記憶體單元的陣列的驅動電路以及能夠臨時儲存輸入到非揮發性記憶體單元或從非揮發性記憶體單元輸出的資料的緩衝器。
記憶體平面172、174、176、178中的每一個可以包括多個記憶區塊152、154、156。記憶區塊152、154、156可被理解為透過擦除操作一起移除資料的一組非揮發性記憶體單元。此外,記憶區塊152、154、156可以包括頁。頁可以被理解為在編程操作期間一起儲存資料或在讀取操作期間一起輸出資料的一組非揮發性記憶體單元。例如,記憶區塊152、154、156可以包括多個頁。
根據實施方式,記憶體裝置150可以包括至少一個記憶區塊152、154、156、至少一個記憶體平面172、174、176、178或至少一個記憶體晶粒192、194、196、198。參照圖1描述的記憶體裝置150的內部配置可以回應於記憶體系統110的設計操作性能而改變。本發明的實施方式不限於參照圖1描述的內部配置。
為了提高用於儲存和輸出大量資料的資料輸入/輸出的操作性能,記憶體系統110應當快速處理多個資料輸入/輸出操作。當並行執行多個資料輸入/輸出操作時,第一資料可以被編程到非揮發性記憶體單元組或從非揮發性記憶體單元組讀取,同時第二資料可被編程到另一非揮發性記憶體單元組或從另一非揮發性記憶體單元組讀取。在這種情況下,即使多個非揮發性記憶體單元組共享資料路徑,控制器或多個非揮發性記憶體單元組中的每一個交替地使用該資料路徑,使得可以避免資料衝突。在本發明的實施方式中,包括在記憶體晶粒192、194、196、198中的記憶體平面172、174、176、178中的每一個可以單獨地且獨立地執行資料輸入/輸出操作。參照圖1,包括在四個記憶體晶粒192、194、196、198中的16個記憶體平面可以獨立地執行資料輸入/輸出操作,並且可以透過共享通道CH0發送和接收資料。在控制器130與記憶體晶粒192、194、196、198之間發送和接收資料的操作速度比將資料編程到記憶體平面172、174、176、178中的每一個中的非揮發性記憶體單元中的操作速度、從記憶體平面172、174、176、178中的每一個中的非揮發性記憶體單元中讀取資料或刪除資料的操作速度快。因為可以非常快速地執行透過共享通道的資料傳輸操作,所以多個記憶體晶粒或多個記憶體平面可以共享單個通道。共享通道可以提高記憶體系統110的集成度。
為了提高記憶體系統110的資料輸入/輸出操作的性能,記憶體系統110可以支持平面交織方式以在多個記憶體平面172、174、176、178內並行地執行多個輸入/輸出操作。為了透過平面交織方式提高記憶體系統110的資料輸入/輸出操作的性能,如何控制或調度多個記憶體平面172、174、176、178內的多個輸入/輸出操作可能是重要的。
為了在記憶體平面單元中並行地執行資料輸入/輸出操作,控制器130可以檢查關於多個記憶體平面172、174、176、178的操作狀態和操作結果。例如,控制器130可以向記憶體晶粒192、194、196、198傳送用於收集關於多個平面172、174、176、178的資訊的命令。回應於該命令,記憶體晶粒192、194、196、198可以將包括關於多個記憶體平面172、174、176、178的資訊的回應傳送到控制器130。記憶體晶粒192、194、196、198中的每一個可以包括暫存器184,暫存器184用於儲存關於包括於其中的多個記憶體平面172、174、176、178的操作狀態及操作結果。如果控制器130發送命令,則記憶體晶粒192、194、196、198可以將收集並儲存在暫存器184中的、關於所有記憶體平面172、174、176、178的操作狀態和操作結果傳送到控制器130。例如,每個記憶體晶粒192、194、196、198可以包括控制電路,該控制電路用於接收狀態檢查命令,收集儲存在暫存器中的操作狀態和操作結果,並輸出收集到的操作狀態和操作結果作為與狀態檢查命令對應的回應。
參照圖1,控制器130中的記憶體介面(NAND I/F)142可以控制控制器130與記憶體裝置150之間的資料通信。記憶體介面142可以包括命令隊列(CMD Q)182。與在記憶體裝置150中要執行的各種操作相關聯的命令或資訊可以依次儲存在命令隊列182中。根據實施方式,記憶體介面142可以包括多個命令隊列182。例如,記憶體介面142可以包括基於記憶體晶粒192、194、196、198的數量或記憶體平面172、174、176、178的數量的多個命令隊列182。如果存在四個記憶體晶粒,則記憶體介面142可以包括四個命令隊列。每個命令隊列可以被指派給每個記憶體晶粒。
例如,命令隊列182可以包括狀態檢查命令CHK_C。狀態檢查命令CHK_C可以從命令隊列182出隊並被遞送到第四記憶體晶粒198。第四記憶體晶粒198可以回應於從控制器130輸入的狀態檢查命令CHK_C而傳送包括儲存在暫存器184中的資訊(即,關於所有記憶體平面172、174、176、178的操作狀態和操作結果)的回應。在下文中,描述在控制器130與至少一個記憶體晶粒198之間如何發送和接收狀態檢查命令CHK_C以及與其對應的回應,如何組織回應(例如,回應的資料結構),以及如何基於該回應來提高記憶體系統110的性能。
根據實施方式,狀態檢查命令CHK_C可以包括指示記憶體系統110中包括的多個記憶體晶粒192、194、196、198中的特定記憶體晶粒的位址。當多個記憶體晶粒共享通道CH0、CH1時,控制器130可以使用指示記憶體晶粒的位址來選擇共享通道的記憶體晶粒中的一個。
在下文中,將集中描述在圖1和圖2至圖4中描述的控制器130和記憶體裝置150之間能夠在技術上區分的操作或組件。具體地,將參照圖3和圖4更加詳細地描述控制器130中的閃存轉換層(FTL)240。根據實施方式,控制器130中的閃存轉換層(FTL)的角色和功能可以改變。
圖2和圖3示出了根據本發明的一個或更多個實施方式的可以由記憶體系統110執行的一些操作。
參照圖2,資料處理系統100可以包括與諸如記憶體系統110之類的記憶體系統接合或聯接的主機102。例如,主機102和記憶體系統110可以經由資料匯流排、主機電纜等彼此聯接以執行資料通信。
記憶體系統110可以包括記憶體裝置150和控制器130。記憶體系統110中的記憶體裝置150和控制器130可以被認為是實體上彼此分離的組件或元件。記憶體裝置150和控制器130可以經由至少一個資料路徑連接。例如,資料路徑可以包括通道和/或通路。
根據實施方式,記憶體裝置150和控制器130可以是功能上劃分的組件或元件。此外,根據實施方式,記憶體裝置150和控制器130可以用單個晶片或多個晶片來實現。控制器130可以回應於從外部裝置輸入的請求而執行資料輸入/輸出操作。例如,當控制器130回應於從外部裝置輸入的讀取請求而執行讀取操作時,儲存在記憶體裝置150中所包括的多個非揮發性記憶體單元中的資料被傳送到控制器130。
如圖2所示,記憶體裝置150可以包括多個記憶區塊152、154、156。記憶區塊152、154、156可以理解為透過單個擦除操作一起移除資料的一組非揮發性記憶體單元。雖然未示出,但是記憶區塊152、154、156可以包括作為在單個編程操作期間一起儲存資料或者在單個讀取操作期間一起輸出資料的一組非揮發性記憶體單元的頁。例如,一個記憶區塊可以包括多個頁。
例如,記憶體裝置150可以包括多個記憶體平面或多個記憶體晶粒。根據實施方式,記憶體平面可以被認為是包括至少一個記憶區塊、能夠控制包括多個非揮發性記憶體單元的陣列的驅動電路、以及能夠臨時儲存輸入到非揮發性記憶體單元或從非揮發性記憶體單元輸出的資料的緩衝器在內的邏輯分區或實體分區。
另外,根據實施方式,記憶體晶粒可以包括至少一個記憶體平面。記憶體晶粒可被理解為在實體上可區分的基板上實現的一組組件。每個記憶體晶粒可以透過資料路徑連接到控制器130。每個記憶體晶粒可以包括介面以與控制器130交換資料項和信號。
根據實施方式,記憶體裝置150可以包括至少一個記憶區塊152、154、156、至少一個記憶體平面或至少一個記憶體晶粒。圖1和圖2示出的記憶體裝置150的內部配置可以根據記憶體系統110的性能而不同。本發明的實施方式不限於圖2所示的內部配置。
參照圖2,記憶體裝置150可以包括電壓供應電路170,電壓供應電路170能夠將至少一些電壓供應到記憶區塊152、154、156中。電壓供應電路170可以將讀取電壓Vrd、編程電壓Vprog、通過電壓Vpass或擦除電壓Vers供應到包括於記憶區塊中的非揮發性記憶體單元中。例如,在用於讀取儲存在記憶區塊152、154、156中所包括的非揮發性記憶體單元中的資料的讀取操作期間,電壓供應電路170可以將讀取電壓Vrd供應到被選非揮發性記憶體單元中。在用於將資料儲存在記憶區塊152、154、156中所包括的非揮發性記憶體單元中的編程操作期間,電壓供應電路170可以將編程電壓Vprog供應到被選非揮發性記憶體單元中。此外,在對被選非揮發性記憶體單元執行的讀取操作或編程操作期間,電壓供應電路170可以將通過電壓Vpass供應到未選非揮發性記憶體單元中。在用於擦除儲存在記憶區塊152、154、156中所包括的非揮發性記憶體單元中的資料的擦除操作期間,電壓供應電路170可以將擦除電壓Vers供應到記憶區塊中。
記憶體裝置150可以儲存關於基於執行哪個操作而供應到記憶區塊152、154、156的各種電壓的資訊。例如,當記憶區塊152、154、156中的非揮發性記憶體單元可以儲存多位資料時,可能需要用於識別或讀取多位資料項的多個位準的讀取電壓Vrd。記憶體裝置150可以包括表,該表包括對應於與多位資料項對應的多個位準的讀取電壓Vrd的資訊。例如,該表可以包括儲存在暫存器中的偏置值,每個偏置值對應於特定位準的讀取電壓Vrd。用於讀取操作的讀取電壓Vrd的偏置值的數量可以被限制到預設範圍。此外,偏置值可以被量化。
主機102可以包括例如行動電話、MP3播放器、膝上型計算機等的便攜式電子裝置或者例如桌上型電腦、遊戲播放器、電視機、投影儀等的非便攜式電子裝置。
主機102還可以包括至少一個操作系統(OS),所述至少一個操作系統可以控制在主機102中執行的功能和操作。OS可以提供與記憶體系統110在操作上接合的主機102與打算將資料儲存在記憶體系統110中的用戶之間的互操作性。OS可以支持與用戶請求相對應的功能和操作。作為示例而非限制,OS可以根據主機102的移動性而分類為通用操作系統和移動操作系統。通用操作系統可以根據系統需求或用戶環境而分為個人操作系統和企業操作系統。與個人操作系統相比,企業操作系統可以專門用於確保和支持高性能計算。
移動操作系統可以經受支持用於移動性的服務或功能(例如,省電功能)。主機102可以包括多個操作系統。對應於用戶的請求,主機102可以執行與記憶體系統110互鎖的多個操作系統。主機102可以將對應於用戶請求的多個命令傳送到記憶體系統110中,從而在記憶體系統110內執行對應於多個命令的操作。
記憶體系統110中的控制器130可以回應於從主機102輸入的請求或命令而控制記憶體裝置150。例如,控制器130可以執行讀取操作以將從記憶體裝置150讀取的資料提供給主機102,並且可以執行寫入操作或編程操作以將從主機102輸入的資料儲存在記憶體裝置150中。為了執行資料輸入/輸出(I/O)操作,控制器130可以控制並管理讀取資料、編程資料、擦除資料等的內部操作。
根據實施方式,控制器130可以包括主機介面132、處理器134、糾錯電路(ECC)138、電源管理單元(PMU)140、記憶體介面142和記憶體144。如圖2所示的包括在控制器130中的組件可以根據關於記憶體系統110的結構、功能、操作性能等而變化。
例如,記憶體系統110可以根據主機介面的協議,利用可以與主機102電聯接的各種類型的儲存裝置中的任何儲存裝置來實現。合適的儲存裝置的非限制性示例包括固態驅動器(SSD)、多媒體卡(MMC)、嵌入式MMC(eMMC)、縮小尺寸的MMC(RS-MMC)、微型-MMC、安全數位(SD)卡、迷你-SD、微型-SD、通用序列匯流排(USB)儲存裝置、通用閃存(UFS)裝置、緊湊型閃存(CF)卡、智能媒體(SM)卡、記憶棒等。根據記憶體系統110的實現方式,可以將組件添加到控制器130或從控制器130省略組件。
主機102和記憶體系統110各自可以包括用於根據一個或更多個預定協議發送和接收信號、資料等的控制器或介面。例如,記憶體系統110中的主機介面132可以包括能夠向主機102發送信號、資料等或從主機102接收信號、資料等的設備。
包括在控制器130中的主機介面132可以經由匯流排從主機102接收信號、命令或請求和/或資料輸入。例如,主機102和記憶體系統110可以使用用於資料通信的預定規則或過程集合或者預定介面來在二者之間發送和接收資料。由主機102和記憶體系統110支持的用於發送和接收資料的、用於資料通信的規則或過程集合或者介面的示例包括通用序列匯流排(USB)、多媒體卡(MMC)、並行高級技術附件(PATA)、小型計算機系統介面(SCSI)、增強型小磁盤介面(ESDI)、集成驅動電子設備(IDE)、快速外圍組件互連(PCIe或PCI-e)、串行附接SCSI(SAS)、串行高級技術附件(SATA)、移動行業處理器介面(MIPI)等。根據實施方式,主機介面132是用於與主機102交換資料的一種層,並且由稱為主機介面層(HIL)的韌體來實現或驅動。根據實施方式,主機介面132可以包括命令隊列。
集成驅動電子設備(IDE)或高級技術附件(ATA)可以用作用於發送和接收資料的介面之一,並且例如可以使用包括並聯連接的40根佈線的線纜來支持主機102與記憶體系統110之間的資料發送和接收。當多個記憶體系統110連接到單個主機102時,可以透過使用多個記憶體系統110所連接到的位置或撥碼開關(dip switch)將多個記憶體系統110分為主和從。被設置為主的記憶體系統110可以用作主記憶體裝置。IDE(ATA)可以包括例如快速-ATA、ATAPI或增強型IDE(EIDE)。
串行高級技術附件(SATA)介面是與集成驅動電子設備(IDE)裝置使用的並行資料通信介面的各種ATA標準兼容的一種串行資料通信介面。IDE介面中的40根佈線可以在SATA介面中減少到6根佈線。例如,IDE的40個並行信號可以轉換成SATA介面的6個串行信號。因為在用於資料發送和接收的主機102中其資料發送和接收速率更快並且其資源消耗更少,所以SATA介面已被廣泛使用。SATA介面可以將多達30個外部裝置連接至主機102中包括的單個收發器。另外,SATA介面可以支持熱插拔,該熱插拔即使在主機102和另一裝置之間的資料通信正在執行的同時也允許外部裝置附接至主機102或從主機102分離。因此,即使在主機102通電時,記憶體系統110也可以作為附加裝置(如通用序列匯流排(USB)支持的裝置)而連接或斷開。例如,在具有eSATA埠的主機102中,記憶體系統110可以像外部硬碟一樣自由地附接至主機102或從主機102分離。
小型計算機系統介面(SCSI)是用於將計算機或服務器與其它外圍裝置連接的一種串行資料通信介面。與諸如IDE和SATA之類的其它介面相比,SCSI可以提供高的傳輸速度。在SCSI中,主機102和至少一個外圍裝置(例如,記憶體系統110)串聯連接,但是主機102和每個外圍裝置之間的資料發送和接收可以透過並行資料通信來執行。在SCSI中,容易將諸如記憶體系統110之類的裝置連接至主機102或從主機102斷開。SCSI可以支持15個其它裝置到主機102中所包括的單個收發器的連接。
串行附接SCSI(SAS)可以理解為SCSI的串行資料通信版本。在SAS中,主機102和多個外圍裝置串聯連接,並且主機102和每個外圍裝置之間的資料發送和接收可以按串行資料通信方案來執行。SAS可以透過串行線纜而不是並行線纜來支持主機102和外圍裝置之間的連接,以容易地管理使用SAS的裝備,並且增強或提高操作可靠性和通信性能。SAS可以支持八個外部裝置到主機102中所包括的單個收發器的連接。
快速非揮發性記憶體(NVMe)是至少基於快速外圍組件互連(PCIe)的一種介面,PCIe被設計為增加配備有非揮發性記憶體系統110的主機102、服務器、計算裝置等的性能和設計靈活性。PCIe可以使用插槽或特定線纜來連接計算裝置(例如,主機102)和外圍裝置(例如,記憶體系統110)。例如,PCIe可以使用多個接腳(例如,18個接腳、32個接腳、49個接腳或82個接腳)和至少一條線(例如,x1、x4、x8或x16)來實現每秒數百MB(例如,250 MB/s、500 MB/s、984.6250 MB/s或1969 MB/s)以上的高速資料通信。根據實施方式,PCIe方案可以實現每秒數十至數百千兆位的帶寬。NVMe可以支持非揮發性記憶體系統110(諸如SSD)的比硬碟更快的操作速度。
根據實施方式,主機102和記憶體系統110可以透過通用序列匯流排(USB)連接。通用序列匯流排(USB)是一種可擴展、可熱插拔的即插即用串行介面,它可以在主機102和外圍裝置(諸如鍵盤、滑鼠、操縱桿、打印機、掃描儀、儲存裝置、調制解調器、攝像機等)之間提供成本效益的標準連接。諸如記憶體系統110之類的多個外圍裝置可以聯接至主機102中包括的單個收發器。
參照圖2,糾錯電路138可以糾正從記憶體裝置150讀取的資料的錯誤位,並且可以包括糾錯碼(ECC)編碼器和ECC解碼器。ECC編碼器可以對要編程在記憶體裝置150中的資料執行糾錯編碼,以生成添加了奇偶校驗位的編碼資料,並且將該編碼資料儲存在記憶體裝置150中。當控制器130讀取了記憶體裝置150中儲存的資料時,ECC解碼器可以檢測並糾正從記憶體裝置150讀取的資料中包含的錯誤位。例如,在對從記憶體裝置150讀取的資料執行糾錯解碼之後,糾錯電路138確定糾錯解碼是否已經成功,並且基於糾錯解碼的結果輸出指示信號,例如,糾正成功信號或糾正失敗信號。糾錯電路138可以使用在針對記憶體裝置150中儲存的資料的ECC編碼過程期間已經生成的奇偶校驗位,以便糾正讀取資料的錯誤位。當錯誤位的數量大於或等於可糾正的錯誤位的數量時,糾錯電路138可以不糾正錯誤位而是替代地可以輸出指示錯誤位糾正失敗的糾正失敗信號。
根據實施方式,糾錯電路138可以基於諸如以下的編碼調製來執行糾錯操作:低密度奇偶校驗(LDPC)碼、博斯-查德胡裡-霍昆格姆(Bose-Chaudhuri-Hocquenghem:BCH)碼、turbo碼、裡德-所羅門(Reed-Solomon:RS)碼、卷積碼、遞歸系統碼(RSC)、網格編碼調製(TCM)、塊編碼調製(BCM)等。糾錯電路138可以包括用於基於上述碼中的至少一種來執行糾錯操作的所有電路、模組、系統和/或裝置。圖2中所示的糾錯電路138可以包括圖1所示的控制器130中所包括的組件中的至少一些組件。
例如,ECC解碼器可以對從記憶體裝置150發送的資料執行硬決策解碼或軟決策解碼。硬決策解碼可以被理解為針對糾錯而廣泛分類的兩種方法之一。硬決策解碼可以包括透過從記憶體裝置150中的非揮發性記憶體單元讀取數位資料“0”或“1”來糾正錯誤位的操作。因為硬決策解碼處置二進制邏輯信號,所以與軟決策解碼相比,電路/算法設計或配置可以更簡單並且處理速度可以更快。
軟決策解碼可以透過兩個或更多個量化值(例如,多位資料、近似值、模擬值等)來對記憶體裝置150中的非揮發性記憶體單元的閾值電壓進行量化,以便基於兩個或更多個量化值來糾正錯誤位。控制器130可以從記憶體裝置150中的多個非揮發性記憶體單元接收兩個或更多個字母或量化值,然後基於透過將量化值表徵為諸如條件概率或似然率之類的資訊的組合而生成的資訊來執行解碼。
根據實施方式,ECC解碼器可以使用針對軟決策解碼而設計的方法當中的低密度奇偶校驗和生成器矩陣(LDPC-GM)碼。低密度奇偶校驗(LDPC)碼使用可以根據可靠性按照若干位來從記憶體裝置150讀取資料值而不是像硬決策解碼那樣簡單地讀取1或0的資料的算法,並且透過消息交換迭代地重複該算法,以提高值的可靠性。然後,這些值最終被確定為1或0的資料。例如,使用LDPC碼的解碼算法可以理解為概率解碼。在硬決策解碼中,從非揮發性記憶體單元輸出的值被解碼為0或1。與硬決策解碼相比,軟決策解碼可以基於隨機資訊確定非揮發性記憶體單元中儲存的值。關於可以被認為是在記憶體裝置150中可發生的錯誤的位翻轉,軟決策解碼可以提供糾正錯誤和恢復資料的改進概率並且提供糾正的資料的可靠性和穩定性。LDPC-GM碼可以具有其中內部低密度生成器矩陣(LDGM)碼可以與高速LDPC碼串聯級聯的方案。
根據實施方式,ECC解碼器可以使用例如低密度奇偶校驗卷積碼(LDPC-CC)用於軟決策解碼。LDPC-CC可以具有使用基於可變塊長度和移位暫存器的線性時間編碼和流水線解碼的方案。
根據實施方式,ECC解碼器可以使用例如對數似然比Turbo碼(LLR-TC)用於軟決策解碼。對數似然比(LLR)可以被計算為針對採樣值與理想值之間的距離的非線性函數。另外,Turbo碼(TC)可以包括二維或三維的簡單碼(例如,漢明碼),並且在行方向和列方向上重複解碼以提高值的可靠性。
電源管理單元(PMU)140可以控制提供給控制器130的電力。PMU 140可以監測供應給記憶體系統110的電力,例如,供應給控制器130的電壓,並且向控制器130中包括的組件提供電力。PMU 140不僅可以檢測通電或斷電,而且可以生成觸發信號以使記憶體系統110能夠在供應給記憶體系統110的電力不穩定時緊急備份當前狀態。根據實施方式,PMU 140可以包括能夠累積可以在緊急情況下使用的電力的裝置或組件。
記憶體介面142可以用作用於處置在控制器130和記憶體裝置150之間傳送的命令和資料的介面,以便允許控制器130回應於從主機102輸入的命令或請求而控制記憶體裝置150。在記憶體裝置150是閃存的情況下,記憶體介面142可以生成用於記憶體裝置150的控制信號並且可以在處理器134的控制下處理輸入到記憶體裝置150或從記憶體裝置150輸出的資料。
例如,當記憶體裝置150包括NAND閃存時,記憶體介面142包括NAND閃存控制器(NFC)。記憶體介面142可以提供用於處置控制器130和記憶體裝置150之間的命令和資料的介面。根據實施方式,記憶體介面142可以透過稱為閃存介面層(FIL)的韌體來實現或者由其驅動,以用於與記憶體裝置150交換資料。記憶體介面142可以包括圖1所示的命令隊列182。
根據實施方式,記憶體介面142可以支持開放NAND閃存介面(ONFi)、切換模式(toggle mode)等,以用於與記憶體裝置150的資料輸入/輸出。例如,ONFi可以使用包括能夠支持以8位或16位資料為單位的雙向發送和接收的至少一條信號線的資料路徑,例如,通道、通路等。控制器130與記憶體裝置150之間的資料通信可以透過關於不同步單倍資料速率(SDR)、同步雙倍資料速率(DDR)、切換雙倍資料速率(DDR)等的至少一個介面來實現。
記憶體144可以在臨時儲存在記憶體系統110和控制器130中執行的操作的事務資料的同時,用作記憶體系統110或控制器130的工作記憶體。例如,記憶體144可以在回應於來自主機102的讀取請求而從記憶體裝置150輸出的讀取資料被輸出到主機102之前臨時儲存所述讀取資料。另外,控制器130可以在將從主機102輸入的寫入資料編程到記憶體裝置150中之前將寫入資料臨時儲存在記憶體144中。當控制器130控制記憶體裝置150的操作(諸如資料讀取操作、資料寫入或編程操作、資料擦除操作等)時,在記憶體系統110的控制器130與記憶體裝置150之間傳送的資料可以臨時儲存在記憶體144中。
除了讀取資料或寫入資料之外,記憶體144還可以儲存用於在主機102和記憶體裝置150之間輸入或輸出資料的資訊,例如,映射資料、讀取請求、編程請求等。根據實施方式,記憶體144可以包括命令隊列、編程記憶體、資料記憶體、寫入緩衝器/快取記憶體、讀取緩衝器/快取記憶體、資料緩衝器/快取記憶體、映射緩衝器/快取記憶體等中的一個或更多個。控制器130可以在記憶體144中為被建立以施行資料輸入/輸出操作的組件分配一些儲存空間。例如,在記憶體144中建立的寫入緩衝器可以用於臨時儲存經歷編程操作的目標資料。
在實施方式中,可以用揮發性記憶體來實現記憶體144。例如,可以用靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)或兩者來實現記憶體144。儘管圖2例示了例如記憶體144設置在控制器130內,但是實施方式不限於此。記憶體144可以位於控制器130的內部或外部。例如,記憶體144可以由具有在記憶體144和控制器130之間傳送資料和/或信號的記憶體介面的外部揮發性記憶體來實施。
處理器134可以控制記憶體系統110的整體操作。例如,處理器134可以回應於從主機102進入的寫入請求或讀取請求而控制記憶體裝置150的編程操作或讀取操作。根據實施方式,處理器134可以執行韌體以控制記憶體系統110中的編程操作或讀取操作。這裡,韌體可以被稱為閃存轉換層(FTL)。將參照圖3和圖4詳細描述FTL的示例。根據實施方式,處理器134可以用微處理器、中央處理單元(CPU)等來實現。
根據實施方式,記憶體系統110可以用至少一個多核處理器來實現。多核處理器是其中集成了被認為是區分的處理區域的兩個或更多個核的一種電路或晶片。例如,當多核處理器中的多個核獨立地驅動或執行多個閃存轉換層(FTL)時,可以提高記憶體系統110的資料輸入/輸出速度或性能。根據實施方式,記憶體系統110中的資料輸入/輸出(I/O)操作可以透過多核處理器中的不同核獨立地執行。
控制器130中的處理器134可以執行與從主機102輸入的請求或命令相對應的操作。此外,記憶體系統110可以獨立於從主機102輸入的命令或請求而執行操作。在一種情況下,由控制器130回應於從主機102輸入的請求或命令而執行的操作可以被認為是前臺操作,而由控制器130獨立於從主機102輸入的請求或命令而執行的操作可以被認為是後臺操作。控制器130可以執行前臺或後臺操作,以用於讀取、寫入或擦除記憶體裝置150中的資料。另外,與作為從主機102發送的設置命令的設置參數命令或設置特徵命令對應的參數設置操作可以被認為是前臺操作。作為在沒有從主機102發送的命令的情況下執行的後臺操作,控制器130可以執行垃圾收集(GC)、損耗均衡(WL)、用於識別和處理壞塊的壞塊管理等。
根據實施方式,作為前臺操作和後臺操作兩者,可以執行基本相似的操作。例如,當記憶體系統110回應於從主機102輸入的請求或命令而執行垃圾收集(例如,手動GC)時,垃圾收集可以被認為是前臺操作。當記憶體系統110獨立於主機102而執行垃圾收集(例如,自動GC)時,垃圾收集可以被認為是後臺操作。
當記憶體裝置150包括各自包括多個非揮發性記憶體單元的多個晶粒或多個晶片時,控制器130可以執行關於從主機102輸入的多個請求或命令的並行處理,以便提高記憶體系統110的性能。例如,所發送的請求或命令可以基於所發送的請求或命令可以在記憶體裝置150中包括的多個平面、多個晶粒或多個晶片中的哪一者內執行而被劃分為多個組,並且在每個平面、每個晶粒或每個晶片中單獨地或並行地處理多組請求或命令。
控制器130中的記憶體介面142可以透過至少一個通道和至少一個通路連接至記憶體裝置150中的多個晶粒或晶片。當控制器130回應於與包括非揮發性記憶體單元的多個頁相關聯的請求或命令而透過每個通道或每個通路將資料分發並儲存在多個晶粒中時,可以在多個晶粒或平面中同時或並行地執行與請求或命令相對應的多個操作。這種處理方法或方案可以被認為是交織方法。因為透過以交織方法進行操作來提高記憶體系統110的資料輸入/輸出速度,所以能夠提高記憶體系統110的資料I/O性能。
作為示例而非限制,控制器130可以識別與記憶體裝置150中所包括的多個晶粒相關聯的多個通道或通路的狀態。控制器130可以將每個通道或每個通路的狀態確定為忙碌狀態、就緒狀態、活動狀態、空閒狀態、正常狀態和異常狀態之一。由控制器進行的關於透過哪個通道或通路遞送指令和/或資料的確定可以與實體塊位址相關聯。控制器130可以參考從記憶體裝置150遞送的描述符。描述符可以包括描述關於記憶體裝置150的某些事情的參數的塊或頁。描述符可以具有預定格式或結構。例如,描述符可以包括裝置描述符、配置描述符、單元描述符等。控制器130可以參考或使用描述符來確定使用哪個通道或通路來交換指令或資料。
參照圖2,記憶體系統110中的記憶體裝置150可以包括多個記憶區塊152、154、156。多個記憶區塊152、154、156中的每一個包括多個非揮發性記憶體單元。根據實施方式,記憶區塊152、154、156可以是被一起擦除的一組非揮發性記憶體單元。記憶區塊152、154、156可以包括多個頁,頁是一起讀取或編程的一組非揮發性記憶體單元。
在實施方式中,每個記憶區塊152、154或156可以具有用於高集成度的三維堆疊結構。此外,記憶體裝置150可以包括多個晶粒,每個晶粒包括多個平面,每個平面包括多個記憶區塊152、154、156。記憶體裝置150的配置可以根據記憶體系統110的性能而改變。
圖2示出了記憶體裝置150包括多個記憶區塊152、154和156。根據可以儲存在一個記憶體單元中的位數,多個記憶區塊152、154和156可以是單級單元(SLC)記憶區塊、多級單元(MLC)記憶區塊等中的任何一種。SLC記憶區塊包括由每個記憶體單元儲存一位資料的記憶體單元實現的多個頁。SLC記憶區塊可以具有比MLC記憶區塊更高的資料I/O操作性能和更高的耐用性。MLC記憶區塊包括由每個記憶體單元儲存多位資料(例如,兩位或更多位的資料)的記憶體單元實現的多個頁。與SLC記憶區塊相比,MLC記憶區塊可以針對相同的空間而具有更大的儲存容量。從儲存容量的角度來看,MLC記憶區塊可以是高度集成的。
在實施方式中,記憶體裝置150可以用諸如雙級單元(DLC)記憶區塊、三級單元(TLC)記憶區塊、四級單元(QLC)記憶區塊以及它們的組合之類的MLC記憶區塊來實現。DLC記憶區塊可以包括由每個記憶體單元能夠儲存2位資料的記憶體單元實現的多個頁。TLC記憶區塊可以包括由每個記憶體單元能夠儲存3位資料的記憶體單元實現的多個頁。QLC記憶區塊可以包括由每個記憶體單元能夠儲存4位資料的記憶體單元實現的多個頁。在另一實施方式中,記憶體裝置150可以用包括由每個記憶體單元能夠儲存五位或更多位的資料的記憶體單元實現的多個頁在內的塊來實現。
根據實施方式,控制器130可以使用記憶體裝置150中所包括的MLC記憶區塊作為在一個記憶體單元中儲存一位資料的SLC記憶區塊。多級單元(MLC)記憶區塊的資料輸入/輸出速度可以比SLC記憶區塊的資料輸入/輸出速度慢。也就是說,當MLC記憶區塊用作SLC記憶區塊時,能夠減少讀取操作或編程操作的裕度。例如,當MLC記憶區塊用作SLC記憶區塊時,控制器130可以以更高的速度執行資料輸入/輸出操作。因此,控制器130可以使用MLC記憶區塊作為SLC緩衝器來臨時儲存資料,這是因為緩衝器可以需要高的資料輸入/輸出速度以提高記憶體系統110的性能。
此外,根據實施方式,控制器130可以在不對記憶體裝置150中所包括的特定MLC記憶區塊執行擦除操作的情況下,在MLC中多次編程資料。通常,非揮發性記憶體單元不支持資料覆寫。然而,控制器130可以利用MLC能夠儲存多位資料的特徵來在MLC中多次編程1位資料。對於MLC覆寫操作,當在MLC中編程1位資料時,控制器130可以將編程次數儲存為單獨的操作資訊。根據實施方式,可以在各自已經儲存了1位資料的相同MLC中編程另一個1位資料之前執行用於均勻地拉平MLC的閾值電壓的操作。
在實施方式中,記憶體裝置150被實施為諸如閃存(例如,NAND閃存、NOR閃存等)之類的非揮發性記憶體。在另一實施方式中,可以透過相變隨機存取記憶體(PCRAM)、鐵電隨機存取記憶體(FRAM)、自旋轉移力矩隨機存取記憶體(STT-RAM)和自旋轉移力矩磁隨機存取記憶體(STT-MRAM)等中的至少一個來實現記憶體裝置150。
參照圖3,記憶體系統中的控制器130與主機102和記憶體裝置150一起操作。如圖所示,控制器130包括主機介面132、閃存轉換層(FTL)240、記憶體介面142和先前參照圖2標識的記憶體144。
根據實施方式,圖2所示的糾錯電路138可以被包括在閃存轉換層(FTL)240中。在另一實施方式中,糾錯電路138可以被實現為被包括在控制器130中或與控制器130相關聯的單獨的模組、電路、韌體等。
主機介面132可以處置從主機102發送的命令、資料等。作為示例而非限制,主機介面132可以包括命令隊列56、緩衝器管理器52和事件隊列54。命令隊列56可以依次儲存從主機102接收的命令、資料等,並且例如按照它們被儲存在命令隊列56中的順序將它們輸出到緩衝器管理器52。緩衝器管理器52可以對從命令隊列56接收的命令、資料等進行分類、管理或調整。事件隊列54可以依次發送用於處理從緩衝器管理器52接收的命令、資料等的事件。
可以從主機102發送具有相同特性的多個命令或資料,或者具有不同特性的多個命令和資料可以在被主機102混合或混雜之後發送到記憶體系統110。例如,可以向記憶體系統110遞送用於讀取資料的多個命令(即,讀取命令),或者可以向記憶體系統110交替地發送用於讀取資料的命令(即,讀取命令)和用於編程/寫入資料的命令(即,寫入命令)。主機介面132可以將從主機102發送的命令、資料等依次儲存在命令隊列56中。此後,主機介面132可以根據從主機102已發送的命令、資料等的特性來估計或預測控制器130將執行什麼類型的內部操作。主機介面132可以基於命令、資料等的特性來確定它們的處理順序和優先級。
根據從主機102發送的命令、資料等的特性,主機介面132中的緩衝器管理器52被配置為確定緩衝器管理器52是否應該將命令、資料等儲存在記憶體144中,或者緩衝器管理器52是否應該將命令、資料等遞送到閃存轉換層(FTL)240。事件隊列54接收從緩衝器管理器52發送的回應於命令、資料等而將由記憶體系統110或控制器130在內部執行和處理的事件,並且按照輸入到事件隊列54的事件的順序將事件遞送到閃存轉換層(FTL)240。
根據實施方式,圖3中示出的閃存轉換層(FTL)240可以實現多線程方案以執行資料輸入/輸出(I/O)操作。多線程FTL可以使用包括在控制器130中的多線程透過多核處理器來實現。
根據實施方式,閃存轉換層(FTL)240可以包括主機請求管理器(HRM)46、映射管理器(MM)44、狀態管理器42和塊管理器48。主機請求管理器(HRM)46可以管理從事件隊列54發送的事件。映射管理器(MM)44可以處置或控制映射資料。狀態管理器42可以執行垃圾收集(GC)或損耗均衡(WL)。塊管理器48可以對記憶體裝置150中的塊執行命令或指令。
作為示例而非限制,主機請求管理器(HRM)46可以使用映射管理器(MM)44和塊管理器48來處置或處理根據讀取命令和編程命令的請求以及從主機介面132遞送的事件。主機請求管理器(HRM)46可以向映射管理器(MM)44發送查詢請求,以確定與隨事件輸入的邏輯位址相對應的實體位址。主機請求管理器(HRM)46可以向記憶體介面142發送具有實體位址的讀取請求,以處理讀取請求,即,處理事件。在實施方式中,主機請求管理器(HRM)46可以向塊管理器48發送編程請求或寫入請求,以將資料編程到記憶體裝置150中的沒有儲存資料的特定空白頁,然後可以將對應於編程請求的映射更新請求發送到映射管理器(MM)44,以便在將邏輯位址和實體位址彼此映射的資訊中更新與已編程資料相關的項。
塊管理器48可以將從主機請求管理器(HRM)46、映射管理器(MM)44和/或狀態管理器42遞送的編程請求轉換為用於記憶體裝置150的閃存編程請求,以便管理記憶體裝置150中的閃存塊。為了最大化或增強記憶體系統110的編程或寫入性能,塊管理器48可以收集編程請求並將針對多平面和單次編程操作的閃存編程請求發送到記憶體介面142。在實施方式中,塊管理器48向記憶體介面142發送數個閃存編程請求,以增強或最大化多通道和多方向閃存控制器的並行處理。
在實施方式中,塊管理器48可以根據有效頁的數量來管理記憶體裝置150中的塊,當需要空閒塊時選擇並擦除不具有有效頁的塊,並且當確定要執行垃圾收集時選擇包括最少數量的有效頁的塊。狀態管理器42可以執行垃圾收集以將儲存在被選塊中的有效資料移動到空白塊,並擦除儲存在被選塊中的資料,使得記憶體裝置150可以具有足夠的空閒塊,即,沒有資料的空白塊。當塊管理器48向狀態管理器42提供關於要擦除的塊的資訊時,狀態管理器42可以檢查要擦除的塊的所有閃存頁以確定該塊的每個頁是否有效。
例如,為了確定每個頁的有效性,狀態管理器42可以識別記錄在每個頁的帶外(OOB)區域中的邏輯位址。為了確定每個頁是否有效,狀態管理器42可以將頁的實體位址與映射到從查詢請求獲得的邏輯位址的實體位址進行比較。狀態管理器42針對每個有效頁向塊管理器48發送編程請求。當編程操作完成時,可以透過映射管理器44來更映射表。
映射管理器44可以管理映射資料,例如,邏輯到實體映射表。映射管理器44可以處理由主機請求管理器(HRM)46或狀態管理器42生成的各種請求,例如,查詢、更新等。映射管理器44可以將整個映射表儲存在記憶體裝置150(例如,閃存/非揮發性記憶體)中,並且根據記憶體144的儲存容量來快取映射條目。當在處理查詢或更新請求時發生映射快取缺失時,映射管理器44可以向記憶體介面142發送讀取請求以加載儲存在記憶體裝置150中的相關映射表。當映射管理器44中的髒快取記憶體塊的數量超過特定閾值時,可以向塊管理器48發送編程請求,使得可以生成乾淨的快取記憶體塊並且可以將髒映射表儲存在記憶體裝置150中。
當執行垃圾收集時,狀態管理器42將有效頁複製到空閒塊中,並且主機請求管理器(HRM)46可以針對相同邏輯位址的頁編程最新版本的資料並且當前發出更新請求。當狀態管理器42在有效頁的複製未正常完成的狀態下請求映射更新時,映射管理器44可能不執行映射表更新。這是因為當狀態管理器42請求映射更新並且隨後完成有效頁複製時,利用舊的實體資訊來發出映射請求。映射管理器44可以在最新映射表仍指向舊實體位址時或僅在最新映射表仍指向舊實體位址的情況下執行映射更新操作以確保準確性。
圖4示出了根據本發明的實施方式的圖1至圖3中所示的控制器的內部配置。
參照圖4,控制器130中的閃存轉換層(FTL)240可以分為三層:位址轉換層ATL、虛擬閃存層VFL和閃存介面層FIL。
例如,位址轉換層ATL可以將從文件系統發送的邏輯位址LA轉換為邏輯頁位址。位址轉換層ATL可以執行關於邏輯位址空間的位址轉換處理。即,位址轉換層ATL可以基於將閃存144的邏輯頁位址LPA映射到從主機發送的邏輯位址LA的映射資訊來執行位址轉換處理。這種在下文中被稱為L2L映射的邏輯到邏輯位址映射資訊可以被儲存在記憶體裝置150中儲存有元資料的區域中。
虛擬閃存層VFL可以將由位址轉換層ATL映射的邏輯頁位址LPA轉換為虛擬頁位址VPA。這裡,虛擬頁位址VPA可以對應於虛擬記憶體裝置的實體位址。即,虛擬頁位址VPA可以對應於記憶體裝置150中的記憶區塊152、154、156。如果在記憶體裝置150中的記憶區塊152、154、156中存在壞塊,則虛擬閃存層VFL可以排除壞塊。另外,虛擬閃存層VFL可以包括恢復算法,該恢復算法用於掃描掃描區域以恢復儲存在記憶體裝置150中的邏輯到虛擬位址映射資訊(L2V映射)和用於儲存用戶資料的資料區域中的映射資訊。恢復算法能夠恢復邏輯到虛擬位址映射資訊(L2V映射)。虛擬閃存層VFL可以基於透過恢復算法恢復的邏輯到虛擬位址映射資訊(L2V映射)來執行關於虛擬位址空間的位址轉換處理。
閃存介面層FIL可以將虛擬閃存層VFL的虛擬頁位址轉換為記憶體裝置150的實體頁位址。閃存介面層FIL執行用於與記憶體裝置150介面連接的低級操作。例如,閃存介面層FIL可以包括用於控制記憶體裝置150的硬體的低級驅動器、用於檢查和校正從記憶體裝置150發送的資料中的錯誤的糾錯碼(ECC)、以及用於執行諸如壞塊管理(BBM)的操作的模組。
圖5示出了根據本發明的實施方式的用於確認包括在記憶體系統中的平面的操作狀態和操作結果的操作定時。具體地,圖5示出了在控制器130與多個記憶體晶粒192、194、196、198中的第四記憶體晶粒198之間執行的內部操作的示例。內部操作可以包括用於傳送狀態檢查命令(例如,讀取狀態命令70h)和對應於狀態檢查命令的回應(例如,狀態輸出)的資料通信過程。
參照圖5,控制器130可以啟動連接到第四記憶體晶粒198的晶片致能信號(晶片致能,CE#)以向第四記憶體晶粒198發送資料、命令或資訊以及從第四記憶體晶粒198接收資料、命令或資訊。根據實施方式,在圖5中,晶片致能信號CE#可以在邏輯低位準被啟動而在邏輯高位準被撤消啟動。例如,當控制器130向第四記憶體晶粒198發送命令或從第四記憶體晶粒198接收回應時,晶片致能信號(晶片致能,CE#)可以被啟動與命令鎖存致能信號設置時間(CLE設置時間,t
CLS)和命令鎖存致能信號保持時間(CLE保持時間,t
CLH)一樣長的時間。
在晶片致能信號CE#被啟動之後,控制器130可以啟動命令鎖存致能信號CLE。命令鎖存致能信號(命令鎖存致能,CLE)可以由控制器130使用以將命令發送到第四記憶體晶粒198並且由第四記憶體晶粒198使用以接收從控制器130發送的命令。命令鎖存致能信號CLE可以在與命令鎖存致能信號設置時間(CLE設置時間,t
CLS)和命令鎖存致能信號保持時間(CLE保持時間,t
CLH)一樣長的時間內被啟動為邏輯高位準。根據實施方式,命令鎖存致能信號設置時間(CLE設置時間,t
CLS)和命令鎖存致能信號保持時間(CLE保持時間,t
CLH)可以具有不同的啟動時間。
控制器130可以將可基於時鐘信號CLK而生成的寫入致能信號WE#啟動為邏輯低位準。寫入致能信號WE#按照寫入致能信號的預設脈衝寬度(WE#脈衝寬度,t
WP)啟動。當控制器130向第四記憶體晶粒198發送命令、資料等時,可以啟動寫入致能信號WE#。另一方面,當第四記憶體晶粒198向控制器130發送資料、完成通知、狀態資訊等時,可基於寫入致能信號WE#生成的讀取致能信號RE#能夠被啟動為邏輯低位準。
當命令鎖存致能信號CLE和寫入致能信號WE#被啟動時,控制器130控制資料輸入/輸出通道I/O[7:0]以將狀態檢查命令70h發送到第四記憶體晶粒198。根據實施方式,狀態檢查命令70h可以具有一字節的長度。在資料輸入/輸出通道I/O[7:0]中,在資料保持時間t
DH和資料設置時間t
DS期間,對應於狀態檢查命令70h的值可以被保持。在資料保持時間t
DH和資料設置時間t
DS期間,第四記憶體晶粒198可以接收狀態檢查命令70h。
在為第四記憶體晶粒198提供足夠的操作裕度以接收狀態檢查命令70h之後,控制器130可以停用晶片致能信號CE#。在經過或過去預設時間之後,控制器130可以再次啟動晶片致能信號CE#。晶片致能信號CE#可以被撤消啟動,然後被重新啟動,以清楚地分離控制器130和第四記憶體晶粒198之間的命令和資料的發送和接收。
在從停用命令鎖存致能信號的定時到啟用讀取致能信號RE#的定時的延遲時間(CLE到RE#延遲,t
CLR)以及從停用寫入致能信號WE#的定時到啟用讀取致能信號RE#的定時的時間(WE#高到RE#低,t
WHR)之後,控制器130可以將讀取致能信號RE#啟動為邏輯低位準。在讀取致能信號存取時間t
REA期間,第四記憶體晶粒198可以識別出讀取致能信號RE#被啟動,並經由資料輸入/輸出通道I/O[7:0]輸出與已接收到的狀態檢查命令70h對應的回應(狀態輸出)。為了控制器130在接收由第四記憶體晶粒198輸出的回應(狀態輸出)時不具有任何困難,第四記憶體晶粒198可以經由資料輸入/輸出通道I/O[7:0]保持回應,直到滿足在讀取致能信號RE#撤消啟動之後保持輸出的時間(RE#高到輸出保持,t
RHOH)和在讀取致能信號RE#撤消啟動之後輸出高阻抗狀態的時間(RE#高到輸出hi-Z,t
RHZ)為止。另外,第四記憶體晶粒198可以經由資料輸入/輸出通道I/O[7:0]保持回應(狀態輸出),直到滿足在晶片致能信號CE#被撤消啟動之後保持回應(狀態輸出)的時間(CE#高到輸出保持,t
COH)以及在晶片致能信號CE#被撤消啟動之後輸出高阻抗狀態的時間(CE#高到輸出hi-Z,t
CHZ)為止。如上所述,控制器130可以透過為發送和接收狀態檢查命令70h和回應(狀態輸出)而建立的操作裕度或操作窗口無誤地接收關於第四記憶體晶粒198中的所有記憶體平面的操作狀態和操作結果。
圖6示出了根據本發明實施方式的與狀態檢查命令相對應的第一回應。
參照圖6,記憶體晶粒192、194、196、198回應於由控制器130發送的狀態檢查命令而輸出的第一回應可以具有1字節的大小,即,8位。第一回應的第一位SR[0]可以顯示對記憶體平面中的當前頁執行的操作是成功還是失敗。本文中,對當前頁執行的操作的示例可以是編程操作或擦除操作。例如,如果第一位SR[0]為“0”,則第一回應可以指示對當前頁執行的操作已經成功。如果第一位SR[0]為“1”,則第一回應可以指示對當前頁執行的操作已經失敗。
第一回應的第二位SR[1]可以指示與前一頁相關聯的快取編程操作(快取PGM)是否成功/失敗。第一回應的第三位SR[2]至第五位SR[4]可以不被使用或者可被保留。
第一回應的第六位SR[5]可以指示是否正在執行快取編程操作、快取讀取操作、另一頁的編程、塊擦除或讀取操作,例如,是否忙碌。例如,如果第六位SR[5]是“0”,則記憶體平面可以處於忙碌狀態。但是,如果第六位SR[5]是“1”,則記憶體平面可以處於就緒狀態以用於下一操作。事實上,當正在執行編程操作時,第六位SR[5]可以是“0”。但是,當在快取模式期間終止內部操作時,第六位SR[5]可以改變為“1”。
第一回應的第七位SR[6]可以指示是否正在執行頁編程操作、塊擦除操作、快取編程操作、讀取操作或快取讀取操作。例如,如果第七位SR[6]是“0”,則記憶體平面可以處於忙碌狀態。如果第七位SR[6]是“1”,則記憶體平面可以處於就緒狀態以用於下一操作。如果內部緩存可以儲存新資料,則第七位SR[6]可以是“1”。根據實施方式,第七位SR[6]可以與經由將記憶體晶粒192、194、196、198的操作狀態(就緒/忙碌)輸出到控制器130的接腳傳送的值相同。
第一回應的第八位SR[7]可以關於寫入保護。如果第八位SR[7]為“0”,則指示寫入保護。如果第八位SR[7]是“1”,則第一回應可以指示未受保護。
參照圖6,即使當多個記憶體平面172、174、176、178被包括在記憶體晶粒192、194、196、198中時,第一回應也可以具有適於輸出關於多個記憶體平面172、174、176、178中的單個記憶體平面的操作狀態和操作結果的資料結構。
圖7示出了由記憶體系統基於參照圖6描述的第一回應在交織模式下執行的資料輸入/輸出操作。圖7示出了對第四記憶體晶粒198中的四個平面P0至P3執行交織操作的示例。
參照圖1和圖7,記憶體平面P0至P3中的每一個可以支持能夠獨立地且單獨地執行資料輸入/輸出操作的交織模式。即使回應於讀取命令而在不同平面內單獨執行讀取操作,讀取操作也可以具有基本相同的操作裕度(tR)。回應於先前的讀取命令,可能已在記憶體平面P0至P3中的每一個內執行了讀取操作。然而,第四記憶體晶粒198中的記憶體平面P0至P3中的每一個共享資料路徑,例如,通道。例如,控制器130可以依次生成用於讀取分別儲存在記憶體平面P0至P3中的每一個中的資料的讀取命令(P0讀取、P1讀取、P2讀取、P3讀取)。控制器130可以檢查記憶體平面P0至P3中的每一個是否就緒以用於讀取操作,或者可以在相應記憶體平面P0至P3中的哪個記憶體平面內執行讀取操作。因為每個記憶體平面P0至P3共享一個資料路徑,所以控制器130可以在透過共享資料路徑將讀取命令(P0讀取、P1讀取、P2讀取、P3讀取)傳送到每個記憶體平面P0至P3之前傳送狀態檢查命令(P0狀態檢查、P1狀態檢查、P2狀態檢查、P3狀態檢查),以檢查每個記憶體平面P0至P3的操作狀態。
參照圖6,對應於狀態檢查命令的回應可以包括關於單個記憶體平面的操作狀態和操作結果。因此,為了獲得關於所有的多個記憶體平面P0至P3的資訊,控制器130應當發送多個狀態檢查命令(P0狀態檢查、P1狀態檢查、P2狀態檢查、P3狀態檢查),並且第四記憶體晶粒198可以向控制器130傳送多個回應。每個回應可以對應於多個狀態檢查命令(P0狀態檢查、P1狀態檢查、P2狀態檢查、P3狀態檢查)中的每一個。
參照圖7,如果基於關於第一記憶體平面P0的資訊確定可以在第一記憶體平面P0內執行讀取操作,則控制器130可以將讀取命令傳送到記憶體平面P0。在執行讀取操作tR之後,第一記憶體平面P0可以將資料輸出到控制器130。在正在對第一記憶體平面P0執行讀取操作時,控制器130可以檢查關於第二記憶體平面P1的資訊,並且當第二記憶體平面P1就緒時將讀取命令發送到第二記憶體平面P1。第二記憶體平面P1可以在回應於讀取命令而執行讀取操作之後將資料輸出到控制器130。因為控制器130檢查關於多個記憶體平面P0至P3中的每一個的操作狀態並傳送讀取命令,所以可以減小用於在不同記憶體平面內執行的讀取操作的操作裕度tR之間的交疊部分。這可以指示記憶體系統110可以單獨且獨立地在記憶體平面P0至P3中的每一個中執行讀取操作,但是並行處理的程度變低。此方法在增強或提高記憶體系統110的資料輸入/輸出性能方面可能具有限制。
圖8示出了對應於狀態檢查命令的第二回應。本文中,關於第二回應,描述了在單個記憶體晶粒中包括四個記憶體平面的情況作為示例。如果包括在單個記憶體晶粒中的記憶體平面的數量增加,則第二回應的大小或長度可以增加。此外,第二回應的長度可以根據包括在第二回應中的資訊的類型而變化。例如,第二回應可以具有1字節、2字節或3字節的長度。
參照圖8,由記憶體晶粒192、194、196、198中的每一個回應於從控制器130傳送的狀態檢查命令而輸出的第二回應被描述為1字節長度(即,8位大小)的示例。第二回應的第一位SR[0]可以指示在記憶體晶粒192、194、196、198中的被選記憶體晶粒的第一記憶體平面P0內執行的操作是成功還是失敗。這裡,在第一記憶體平面P0中執行的操作的示例可以包括編程操作和擦除操作。例如,如果第一位SR[0]為“0”,則第二回應指示在第一平面P0中執行的操作已經成功。如果第一位SR[0]為“1”,則第二回應指示在第一平面P0中執行的操作已經失敗。類似地,第二回應中的第二位SR[1]、第三位SR[2]和第四位SR[3]可以指示已經在被選記憶體晶粒的第二記憶體平面P1、第三記憶體平面P2和第四記憶體平面P3中執行的操作的成功/失敗。
第二回應的第五位SR[4]可以指示第一記憶體平面P0是否正在執行操作。例如,如果在第一記憶體平面P0中正在執行編程操作、擦除操作或讀取操作,則第五位SR[4]可以是“0”。如果正處於備用狀態,即,處於就緒狀態,則第五位SR[4]可以是“1”。類似地,第二回應的第六位SR[5]、第七位SR[6]和第八位SR[7]可以指示是否在第二平面P1、第三平面P2和第四平面P3中的每一個內正執行操作。
如上所述,從記憶體晶粒192、194、196、198中的每一個單獨輸出的第二回應可以包括記憶體晶粒192、194、196、198中的每一個中的每個記憶體平面的操作狀態(忙碌/就緒)及操作結果(通過/失敗)。回應於由控制器130發送的狀態檢查命令,記憶體晶粒192、194、196、198中的每一個可以基於儲存於暫存器184中的資訊來構造第二回應並且將第二回應輸出至控制器130。
圖9示出了由記憶體系統基於參照圖8描述的第二回應在交織模式下執行的資料輸入/輸出操作。在圖9中,類似於圖7,描述了對第四記憶體晶粒198中的四個記憶體平面P0至P3執行交織操作的情況作為示例。
參照圖1和圖9,記憶體平面P0至P3中的每一個可支持交織模式以獨立且單獨地執行資料輸入/輸出操作。即使回應於讀取命令而在不同平面內單獨執行讀取操作,讀取操作也可以具有基本相同的操作裕度(tR)。回應於先前的讀取命令,可能已在記憶體平面P0至P3中的每一個內執行了讀取操作。然而,第四記憶體晶粒198中的記憶體平面P0至P3中的每一個共享資料路徑,例如,通道。例如,控制器130可以依次生成用於讀取儲存在記憶體平面P0至P3中的每一個中的資料的讀取命令(P0讀取、P1讀取、P2讀取、P3讀取)。控制器130應當檢查是否可以在各個平面P0至P3內執行讀取操作。
參照圖8,回應於控制器130的狀態檢查命令,第四記憶體晶粒198可以透過傳送到控制器130的單個回應來返回關於包括在第四記憶體晶粒198中的所有記憶體平面P0至P3的操作狀態和操作結果。因此,控制器130可以向第四記憶體晶粒198發送單個狀態檢查命令,而不必向平面P0至P3中的每一個發送狀態檢查命令。回應於狀態檢查命令,第四記憶體晶粒198可以將所有平面P0至P3中的每一個的操作狀態和操作結果發送到控制器130。
參照圖9,與第一狀態檢查命令對應的第二回應可以顯示第四記憶體裝置198中的第一記憶體平面P0處於備用狀態Rdy,但第二記憶體平面P1至第四記憶體平面P3處於忙碌狀態Bsy。控制器130可以回應於第二回應而傳送用於在第一記憶體平面P0內執行的讀取操作的讀取命令。
在發送要在第一平面P0中執行的讀取命令(P0讀取)之後,控制器130可以將第二狀態檢查命令發送至第四記憶體晶粒198。與從第四記憶體晶粒198輸出的第二狀態檢查命令對應的第二回應可以示出第一記憶體平面P0處於忙碌狀態Bsy,但第二記憶體平面P1至第四記憶體平面P3處於備用狀態Rdy。控制器130不必傳送狀態檢查命令來檢查關於第二記憶體平面P1至第四記憶體平面P3中的每一個的操作狀態或操作結果。當第二記憶體平面P1至第四記憶體平面P3就緒時,控制器130可以將讀取命令(P1讀取、P2讀取、P3讀取)依序傳送至第四記憶體晶粒198。回應於讀取命令(P1讀取、P2讀取、P3讀取),第四記憶體晶粒198中的第二平面P1至第四平面P3可以單獨且獨立地執行讀取操作tR。
如上所述,控制器130不需要傳送多個狀態檢查命令來檢查關於第四記憶體晶粒198中的每個記憶體平面的資訊。因為可以不需要查詢第四記憶體晶粒198中的每個記憶體平面,所以可以增加關於資料輸入/輸出操作的操作裕度之間的交疊部分。這指示多個記憶體平面並行執行資料I/O操作所花費的時間更長。因為記憶體系統110可以在多個記憶體平面P0至P3中一起執行更多的資料I/O操作,所以可以提高記憶體系統110的資料I/O性能。
如上所述,根據本發明的實施方式的記憶體系統中所包括的控制器可以透過單個查詢和單個回應來檢查關於包括在記憶體晶粒中的多個平面的操作狀態和操作結果。與逐個檢查關於多個平面的操作狀態和操作結果相比,控制器可以在交織模式中減小用於分配或指派資料輸入/輸出操作的操作裕度。
另外,根據本發明的實施方式的記憶體系統可以有效地管理在執行多個資料輸入/輸出操作的過程中使用的資源。記憶體系統可以抑制不必要的資源消耗以提高記憶體系統的資料輸入/輸出性能。
本文描述的方法、過程和/或操作可以透過要由計算機、處理器、控制器或其它信號處理裝置執行的代碼或指令來執行。計算機、處理器、控制器或其它信號處理裝置可以是本文描述的那些或者除了本文描述的元件之外的那些。因為詳細描述了形成計算機、處理器、控制器或其它信號處理裝置的方法或操作的基礎的算法,所以用於實現方法實施方式的操作的代碼或指令可以將計算機、處理器、控制器或其它信號處理裝置轉換為用於執行本文的方法的專用處理器。
此外,另一實施方式可以包括用於儲存上述代碼或指令的計算機可讀介質,例如非暫時性計算機可讀介質。計算機可讀介質可以是揮發性或非揮發性記憶體或其它儲存裝置,其可以可移除地或固定地聯接至將執行用於執行本文的方法實施方式或設備實施方式的操作的代碼或指令的計算機、處理器、控制器或其它信號處理裝置。
本文公開的實施方式的控制器、處理器、控制電路、裝置、模組、單元、多工器、發生器、邏輯、介面、解碼器、驅動器、生成器和其它信號生成和信號處理特徵例如可以被實現在可以包括硬體、軟體或兩者的非暫時性邏輯中。當至少部分地以硬體實現時,控制器、處理器、控制電路、裝置、模組、單元、多工器、發生器、邏輯、介面、解碼器、驅動器、生成器和其它信號生成和信號處理特徵可以是例如包括但不限於以下的各種積體電路中的任何積體電路:專用積體電路、現場可編程門陣列、邏輯門的組合、片上系統、微處理器或其它類型的處理或控制電路。
當至少部分地以軟體實現時,控制器、處理器、控制電路、裝置、模組、單元、多工器、發生器、邏輯、介面、解碼器、驅動器、生成器和其它信號生成和信號處理特徵可以包括例如用於儲存例如要由計算機、處理器、微處理器、控制器或其它信號處理裝置執行的代碼或指令的記憶體或其它儲存裝置。計算機、處理器、微處理器、控制器或其它信號處理裝置可以是本文描述的那些或者除了本文描述的元件之外的那些。因為詳細描述了形成計算機、處理器、微處理器、控制器或其它信號處理裝置的方法或操作的基礎的算法,所以用於實現方法實施方式的操作的代碼或指令可以將計算機、處理器、控制器或其它信號處理裝置轉換為用於執行本文描述的方法的專用處理器。
雖然已經針對具體實施方式例示並描述了本教導,但是本發明所屬技術領域中具有通常知識者根據本發明將顯而易見的是,可以在不脫離如所附申請專利範圍中限定的本發明的精神和範圍的情況下做出各種改變和修改。此外,可以組合實施方式以形成附加的實施方式。
42:狀態管理器
44:映射管理器
46:主機請求管理器
48:塊管理器
52:緩衝器管理器
54:事件隊列
56:命令隊列
100:資料處理系統
102:主機
110:記憶體系統
130:預測控制器
132:主機介面
134:處理器
138:糾錯電路
140:電源管理單元
142:記憶體介面
144:記憶體
150:記憶體裝置
152,154,156:記憶區塊
170:電壓供應電路
172,174,176,178:記憶體平面
182:命令隊列
184:暫存器
192,194,196,198:記憶體晶粒
240:閃存轉換層
CE:晶片致能信號
CH0,CH1:通道
CHK_C:狀態檢查命令
CLE:命令鎖存致能信號
CMD Q:命令隊列
I/O[7:0]:資料輸入/輸出通道
P0,P1,P2,P3:記憶體平面
RE:讀取致能信號
SR[0]~SR[7]:第一位~第八位
t
CLHCLE:保持時間
t
CLR:延遲時間
t
CLSCLE:設置時間
t
COH:時間
t
CHZ:時間
t
DH:資料保持時間
t
DS:資料設置時間
t
REA:讀取致能信號存取時間
t
RHOH:時間
t
RHZ:時間
t
WHR:定時的時間
t
WP:WE#脈衝寬度
Vers:擦除電壓
Vpass:通過電壓
Vprog:編程電壓
Vrd:讀取電壓
WE:寫入致能信號
本文的描述參考了圖式,其中,在整個圖式中相同的圖式標記指代相同的部件。
圖1示出了根據本發明的實施方式的記憶體系統。
圖2示出了根據本發明的另一實施方式的資料處理系統。
圖3示出了根據本發明的另一實施方式的記憶體系統。
圖4示出了根據本發明的實施方式的包括在圖1至圖3中所示的控制器中的內部配置。
圖5示出了根據本發明的實施方式的用於確認包括在記憶體系統中的平面的操作狀態和操作結果的操作定時。
圖6示出了根據本發明的實施方式的與狀態檢查命令相對應的第一回應。
圖7示出了根據本發明的實施方式的由記憶體系統基於參照圖6描述的第一回應在交織模式下執行的資料輸入/輸出操作。
圖8示出了根據本發明實施方式的與狀態檢查命令相對應的第二回應。
圖9示出了根據本發明的實施方式的由記憶體系統基於參照圖8描述的第二回應在交織模式下執行的資料輸入/輸出操作。
110:記憶體系統
130:預測控制器
142:記憶體介面
150:記憶體裝置
172,174,176,178:記憶體平面
182:命令隊列
184:暫存器
192,194,196,198:記憶體晶粒
CH0,CH1:通道
CHK_C:狀態檢查命令
CMD Q:命令隊列
Claims (20)
- 一種記憶體系統,該記憶體系統包括: 至少一個記憶體晶粒,所述至少一個記憶體晶粒包括多個記憶體平面和儲存關於各個記憶體平面的操作狀態和操作結果的暫存器;以及 控制器,該控制器經由資料路徑聯接到所述至少一個記憶體晶粒,並且將第一狀態檢查命令傳送到所述至少一個記憶體晶粒並且接收包括關於所述各個記憶體平面的操作狀態和操作結果的第一回應。
- 如請求項1所述的記憶體系統,其中,所述第一狀態檢查命令包括指示所述至少一個記憶體晶粒中的一個記憶體晶粒的位址。
- 如請求項1所述的記憶體系統,其中, 所述操作狀態示出所述多個記憶體平面中的每個記憶體平面是忙碌還是就緒以用於第一操作,並且 其中,所述第一操作包括編程操作、擦除操作和讀取操作之一。
- 如請求項1所述的記憶體系統,其中, 所述操作結果示出對所述多個記憶體平面中的每個記憶體平面執行的第二操作是成功還是失敗,並且 其中,所述第二操作包括編程操作和擦除操作之一。
- 如請求項1所述的記憶體系統,其中, 所述第一回應具有1字節的大小,在所述1字節中每2位被指派給所述多個記憶體平面中的每個記憶體平面,並且 其中,所述2位包括示出對應記憶體平面的操作狀態的第一位和示出所述對應記憶體平面的操作結果的第二位。
- 如請求項1所述的記憶體系統,其中,所述控制器進一步: 將第三操作劃分為在各個記憶體平面內要執行的多個單元操作, 當基於所述第一回應確定所述多個記憶體平面中的第一記憶體平面就緒時,將所述多個單元操作中的一個傳送到所述第一記憶體平面,並且 當從所述多個記憶體平面中的任何記憶體平面傳送關於所傳送的單元操作的完成時,向所述至少一個記憶體晶粒傳送第二狀態檢查命令。
- 如請求項6所述的記憶體系統,其中,當基於對應於所述第二狀態檢查命令的第二回應確定所述多個記憶體平面中的第二記憶體平面就緒時,所述控制器進一步向所述第二記憶體平面傳送所述多個單元操作的另一單元操作。
- 如請求項1所述的記憶體系統,其中, 所述多個記憶體平面中的每個記憶體平面包括多個記憶區塊和用於單獨地執行資料輸入/輸出操作的資料輸入/輸出緩衝器,並且 其中,所述暫存器儲存指示所述多個記憶體平面中的每個記憶體平面是忙碌還是就緒的操作狀態以及指示在所述多個記憶體平面中的每個記憶體平面內執行的操作是成功還是失敗的操作結果。
- 一種記憶體裝置,該記憶體裝置包括: 至少一個記憶體晶粒,所述至少一個記憶體晶粒中的每一個包括多個記憶體平面,所述多個記憶體平面包括能夠儲存資料的多個非揮發性記憶體單元; 暫存器,該暫存器儲存關於各個記憶體平面的操作狀態和操作結果;以及 控制電路,該控制電路接收狀態檢查命令,收集儲存在所述暫存器中的所述操作狀態和所述操作結果,並輸出所收集的操作狀態和操作結果作為與所述狀態檢查命令相對應的回應。
- 如請求項9所述的記憶體裝置,其中,所述回應包括示出關於相應記憶體平面的操作狀態的多個第一位和示出關於所述相應記憶體平面的操作結果的多個第二位。
- 如請求項9所述的記憶體裝置,其中,所述至少一個記憶體晶粒中的每一個還包括: 多個資料輸入/輸出接腳,所述多個資料輸入/輸出接腳傳送所述狀態檢查命令和所述回應;以及 致能接腳,所述致能接腳接收從外部裝置遞送的晶片致能信號, 其中,在經由所述多個資料輸入/輸出接腳接收到所述狀態檢查命令之前,並且在經由所述多個資料輸入/輸出接腳傳送所述回應之前,啟動所述晶片致能信號。
- 如請求項11所述的記憶體裝置,其中,所述回應的長度是所述多個資料輸入/輸出接腳的數量的整數倍。
- 如請求項11所述的記憶體裝置,其中,所述回應透過所述多個資料輸入/輸出接腳逐位進行輸出。
- 一種用於操作記憶體系統的方法,該方法包括以下步驟: 透過資料路徑向至少一個記憶體晶粒發送第一狀態檢查命令; 回應於所述第一狀態檢查命令,從所述至少一個記憶體晶粒接收包括所述至少一個記憶體晶粒中所包括的所有記憶體平面的操作狀態和操作結果的第一回應;以及 回應於所述第一回應,向所述至少一個記憶體晶粒中所包括的平面發送用於資料輸入/輸出操作的命令。
- 如請求項14所述的方法,所述方法還包括將所述至少一個記憶體晶粒中所包括的各個記憶體平面的所述操作狀態和所述操作結果儲存在暫存器中。
- 如請求項14所述的方法,其中,所述第一狀態檢查命令包括指示所述至少一個記憶體晶粒中的一個記憶體晶粒的位址。
- 如請求項14所述的方法,所述方法還包括在經由多個資料輸入/輸出接腳接收或傳送所述狀態檢查命令和所述第一回應之前啟動晶片致能信號。
- 如請求項14所述的方法,其中, 所述操作狀態示出所述至少一個記憶體晶粒中所包括的所述記憶體平面中的每個記憶體平面是忙碌還是就緒以用於第一操作,並且 其中,所述第一操作包括編程操作、擦除操作和讀取操作之一。
- 如請求項14所述的方法,其中, 所述操作結果示出對所述至少一個記憶體晶粒中所包括的所述記憶體平面中的每個記憶體平面執行的第二操作是成功還是失敗,並且 其中,所述第二操作是編程操作和擦除操作之一。
- 如請求項14所述的方法,其中, 所述第一回應具有1字節的大小,在所述1字節中每2位被分配給所述至少一個記憶體晶粒中所包括的所述記憶體平面中的每個記憶體平面,並且 其中,所述2位包括示出對應記憶體平面的操作狀態的第一位和示出所述對應記憶體平面的操作結果的第二位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0119498 | 2021-09-08 | ||
KR1020210119498A KR20230036682A (ko) | 2021-09-08 | 2021-09-08 | 인터리빙 동작을 지원하는 메모리 장치, 메모리 시스템 및 그의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202314526A true TW202314526A (zh) | 2023-04-01 |
Family
ID=85385329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111129298A TW202314526A (zh) | 2021-09-08 | 2022-08-04 | 支持交織操作的記憶體裝置和記憶體系統及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11854657B2 (zh) |
KR (1) | KR20230036682A (zh) |
CN (1) | CN115774682A (zh) |
TW (1) | TW202314526A (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179883A1 (en) | 2011-01-12 | 2012-07-12 | Broadcom Corpotation | System and method for dynamically adjusting memory performance |
US9003102B2 (en) * | 2011-08-26 | 2015-04-07 | Sandisk Technologies Inc. | Controller with extended status register and method of use therewith |
US9959078B2 (en) * | 2015-01-30 | 2018-05-01 | Sandisk Technologies Llc | Multi-die rolling status mode for non-volatile storage |
US10114690B2 (en) * | 2015-02-13 | 2018-10-30 | Sandisk Technologies Llc | Multi-die status mode for non-volatile storage |
US10453548B2 (en) * | 2017-05-19 | 2019-10-22 | Western Digital Technologies, Inc. | Run-time flash die failure detection enhancement |
TWI696078B (zh) | 2017-05-26 | 2020-06-11 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
US11662939B2 (en) * | 2020-07-09 | 2023-05-30 | Micron Technology, Inc. | Checking status of multiple memory dies in a memory sub-system |
US11720281B2 (en) * | 2020-12-11 | 2023-08-08 | Micron Technology, Inc. | Status information retrieval for a memory device |
-
2021
- 2021-09-08 KR KR1020210119498A patent/KR20230036682A/ko unknown
-
2022
- 2022-02-14 US US17/671,043 patent/US11854657B2/en active Active
- 2022-06-01 CN CN202210616014.0A patent/CN115774682A/zh active Pending
- 2022-08-04 TW TW111129298A patent/TW202314526A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
KR20230036682A (ko) | 2023-03-15 |
US11854657B2 (en) | 2023-12-26 |
US20230070958A1 (en) | 2023-03-09 |
CN115774682A (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210279180A1 (en) | Apparatus and method for controlling map data in a memory system | |
US11756643B2 (en) | Apparatus and method for correcting an error in data transmission of a data processing system | |
US11507501B2 (en) | Apparatus and method for transmitting, based on assignment of block to HPB region, metadata generated by a non-volatile memory system | |
US11620213B2 (en) | Apparatus and method for handling data stored in a memory system | |
US11442811B1 (en) | Apparatus and method for using an error correction code in a memory system | |
US11360697B2 (en) | Apparatus and method for encoding and decoding operations to protect data stored in a memory system | |
US20220171564A1 (en) | Apparatus and method for maintaining data stored in a memory system | |
US20230153032A1 (en) | Apparatus and method for improving data input/output performance of storage | |
US20230333750A1 (en) | Apparatus and method for power-loss data protection in a system | |
US20230376212A1 (en) | Apparatus and method for recovering data in a memory system | |
US20230073200A1 (en) | Apparatus and method for controlling a shared memory in a data processing system | |
US11941289B2 (en) | Apparatus and method for checking an error of a non-volatile memory device in a memory system | |
US12001361B2 (en) | Apparatus and method for data communications between non-volatile memory devices and a memory controller | |
TW202318211A (zh) | 用於編程資料的記憶體裝置和記憶體系統 | |
US20220075542A1 (en) | Calibration apparatus and method for data communication in a memory system | |
US11645002B2 (en) | Apparatus and method for controlling and storing map data in a memory system | |
US11854657B2 (en) | Memory device and memory system supporting interleaving operation and operation method thereof | |
US11704068B2 (en) | Apparatus and method for scheduling operations performed in plural memory devices included in a memory system | |
US20240126462A1 (en) | Apparatus and method for managing map data between host and memory system | |
US12032843B2 (en) | Apparatus and method for increasing operation efficiency in data processing system | |
US11775426B2 (en) | Apparatus and method for securing a free memory block in a memory system | |
US20210365183A1 (en) | Apparatus and method for increasing operation efficiency in data processing system | |
CN117393022A (zh) | 存储器装置、存储器系统及其操作方法 |