TWI680374B - 儲存裝置以及其介面晶片 - Google Patents
儲存裝置以及其介面晶片 Download PDFInfo
- Publication number
- TWI680374B TWI680374B TW107117218A TW107117218A TWI680374B TW I680374 B TWI680374 B TW I680374B TW 107117218 A TW107117218 A TW 107117218A TW 107117218 A TW107117218 A TW 107117218A TW I680374 B TWI680374 B TW I680374B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- interface
- circuit
- chip
- chips
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供一種儲存裝置以及其介面晶片。該介面晶片可應用於該儲存裝置。該介面晶片包含有:一僕介面電路、一主介面電路以及一控制電路。該儲存裝置包含一記憶體控制器以及一非揮發性記憶體,且該非揮發性記憶體包含複數個非揮發性記憶體晶片。該僕介面電路係用來將該介面晶片耦接至該記憶體控制器。該主介面電路係用來將該介面晶片耦接至該複數個非揮發性記憶體晶片中之一組非揮發性記憶體晶片。該儲存裝置中之一階層式架構包含該記憶體控制器、該介面晶片以及該組非揮發性記憶體晶片。該控制電路係用來控制該介面晶片之運作。
Description
本發明係有關於快閃記憶體(Flash memory)控制,尤指一種儲存裝置以及其介面晶片。
關於高效能與高耐用度之固態硬碟(solid state drive,SSD)產品諸如企業級固態硬碟(enterprise SSD)產品的發展,相關技術中出現一些問題。例如,當嘗試藉由增加一企業級固態硬碟中之快閃記憶體晶片(Flash memory chip)的數量來增加該企業級固態硬碟之儲存容量時,該企業級固態硬碟中之一控制器之一關鍵資料路徑之吞吐量(throughput)大增,但該控制器的現有架構無法負荷這麼大的吞吐量。由於相關技術無法同時確保效能與可靠度(reliability)這兩者,故面臨效能與可靠度之間的權衡(tradeoff)。又例如:相關資料保護的計算量之增加可能導致該控制器的高溫,所以需要提供額外的散熱機制予該控制器,其中該些散熱機制會佔據額外的空間。因此,需要一種新穎的架構,來突破這一類的儲存裝置之發展的瓶頸。
本發明之一目的在於提供一種儲存裝置以及其介面晶片,以解決上述問題。
本發明之另一目的在於提供一種儲存裝置以及其介面晶片,以在確保該儲存裝置的效能及可靠度之狀況下最大化(maximize)該儲存裝置的儲存容量。
本發明之至少一實施例提供一種介面晶片,其中該介面晶片係應用於一儲存裝置。該介面晶片包含有:一僕(slave)介面電路;一主(master)介面電路;以及一控制電路,耦接於該僕介面電路與該主介面電路之間。該僕介面電路可用來將該介面晶片耦接至一記憶體控制器,其中該儲存裝置包含該記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,且該非揮發性記憶體包含複數個非揮發性記憶體晶片。該記憶體控制器可因應來自一主裝置之一主裝置指令,透過該介面晶片來存取(access)該非揮發性記憶體,且該主裝置係位於該儲存裝置之外。該主介面電路可用來將該介面晶片耦接至該複數個非揮發性記憶體晶片中之一組非揮發性記憶體晶片,其中該儲存裝置中之一階層式(hierarchical)架構包含該記憶體控制器、該介面晶片以及該組非揮發性記憶體晶片。該控制電路可用來控制該介面晶片之運作,其中在該控制電路之控制下,該介面晶片為該記憶體控制器存取該組非揮發性記憶體晶片。
本發明之至少一實施例提供一種儲存裝置。該儲存裝置包含有:一非揮發性記憶體,其中該非揮發性記憶體包含複數個非揮發性記憶體晶片;一記憶體控制器;以及複數個介面晶片,耦接於該記憶體控制器與該非揮發性記憶體之間。該非揮發性記憶體可用來儲存資訊,且該記憶體控制器可用來控制該儲存裝置之運作。另外,該複數個介面晶片中之任一介面晶片包含:一僕介面電路;一主介面電路;以及一控制電路,耦接於該僕介面電路與該主介面電路之間。該僕介面電路可用來將該介面晶片耦接至該記憶體控制器,其中該記憶體控制器可因應來自一主裝置之一主裝置指令,透過該介面晶片來存取該非揮發性記憶體,且該主裝置係位於該儲存裝置之外。該主介面電路可用來將該介面晶片耦接至該複數個非揮發性記憶體晶片中之一組非揮發性記憶體晶片,其中該儲存裝置中之一階層式架構包含該記憶體控制器、該介面晶片以及該組非揮發性記憶體晶片。該控制電路可用來控制該介面晶片之運作,其中在該控
制電路之控制下,該介面晶片為該記憶體控制器存取該組非揮發性記憶體晶片。
本發明之至少一實施例提供一種介面晶片,其中該介面晶片係應用於一儲存裝置。該介面晶片包含有:一僕介面電路;複數個旁通(bypass)介面電路;以及一控制電路,耦接於該僕介面電路與該複數個旁通介面電路之間。
該僕介面電路可用來將該介面晶片耦接至一記憶體控制器,其中該儲存裝置包含該記憶體控制器以及一非揮發性記憶體,且該非揮發性記憶體包含複數個非揮發性記憶體晶片。該記憶體控制器可因應來自一主裝置之一主裝置指令,透過該介面晶片來存取該非揮發性記憶體,且該主裝置係位於該儲存裝置之外。
該複數個旁通介面電路可用來將該介面晶片分別耦接至該儲存裝置中之複數個其它介面晶片,其中該複數個其它介面晶片係分別耦接至該複數個非揮發性記憶體晶片中之複數組非揮發性記憶體晶片。該控制電路可用來控制該介面晶片之運作,其中在該控制電路之控制下,該介面晶片於該記憶體控制器以及該複數個其它介面晶片之間旁通至少一指令與資料中之至少一者,且透過該複數個其它介面晶片為該記憶體控制器存取該複數組非揮發性記憶體晶片。
本發明之至少一實施例提供一種儲存裝置。該儲存裝置包含有:一非揮發性記憶體,其中該非揮發性記憶體包含複數個非揮發性記憶體晶片;一記憶體控制器;以及複數個介面晶片,耦接於該記憶體控制器與該非揮發性記憶體之間,其中該複數個介面晶片包含複數個第一層(layer)介面晶片與複數個第二層介面晶片。該非揮發性記憶體可用來儲存資訊,且該記憶體控制器可用來控制該儲存裝置之運作。另外,該複數個第一層介面晶片中之任一介面晶片包含:一僕介面電路;複數個旁通介面電路;以及一控制電路,耦接於該僕介面電路與該複數個旁通介面電路之間。該僕介面電路可用來將該介面晶片耦接至該記憶體控制器,其中該記憶體控制器可因應來自一主裝置之一主裝置指令,透過該介面晶片來存取該非揮發性記憶體,且該主裝置係位於該儲存裝置
之外。該複數個旁通介面電路可用來將該介面晶片分別耦接至複數個其它介面晶片,其中該複數個其它介面晶片是該複數個第二層介面晶片中之一組第二層介面晶片,且該複數個其它介面晶片係分別耦接至該複數個非揮發性記憶體晶片中之複數組非揮發性記憶體晶片。該控制電路可用來控制該介面晶片之運作,其中在該控制電路之控制下,該介面晶片於該記憶體控制器以及該複數個其它介面晶片之間旁通至少一指令與資料中之至少一者,且透過該複數個其它介面晶片為該記憶體控制器存取該複數組非揮發性記憶體晶片。
本發明的好處之一是,本發明之介面晶片可提昇儲存裝置之儲存容量,且避免相關技術中之各種問題。另外,本發明之介面晶片可確保該儲存裝置的效能及可靠度。此外,本發明之介面晶片與儲存裝置可進行多層的資料保護,以有效地降低儲存裝置之不可更正位元錯誤率(uncorrectable bit error rate,UBER)。
100,600,700‧‧‧儲存裝置
105‧‧‧動態隨機存取記憶體
110‧‧‧記憶體控制器
110P‧‧‧微處理器
112‧‧‧介面電路
114‧‧‧資料緩衝器
115‧‧‧其它緩衝器
116‧‧‧存取電路
116R‧‧‧讀取通道電路
116W‧‧‧寫入通道電路
120‧‧‧介面晶片組
122-1,122-2,...,122-N,300,300-1,300-2,...,300-M,722-1,...‧‧‧介面晶片
130,630,730‧‧‧非揮發性記憶體
150-1,150-2,...,150-N,650-1,650-2,...,650-M,...,650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N),750-1,750-2,750-3,750-4,...‧‧‧無誤模組
310,310-1,310-2,...,310-M‧‧‧僕介面電路
310P‧‧‧並列介面電路
310S‧‧‧序列介面電路
320‧‧‧控制電路
320CRC‧‧‧循環冗餘校驗電路
320ECC‧‧‧錯誤更正碼電路
321‧‧‧序列轉並列控制器
322‧‧‧指令轉換器
323‧‧‧指令緩衝器
324‧‧‧檢查電路
325‧‧‧重新編碼電路
326‧‧‧資料緩衝器
327‧‧‧編碼器
327-1,327-2,...,327-K‧‧‧編碼電路
328‧‧‧解碼器
328-1,328-2,...,328-K‧‧‧解碼電路
329‧‧‧旁通模式控制電路
329R‧‧‧中繼器
329SW‧‧‧切換電路
330‧‧‧主介面電路
340-1,340-2,...,340-M‧‧‧旁通介面電路
414,415‧‧‧仲裁器
416-1,416-2,...,416-K,417-1,417-2,...,417-K‧‧‧直接記憶體存取電路
428-1,428-2,...,428-K‧‧‧數位訊號處理引擎
430-1,430-2,...,430-15,430-16‧‧‧快閃晶片
620-1,720-1‧‧‧第一層介面晶片組
620-2,720-2‧‧‧第二層介面晶片組
CE0,CE1,...,CE15‧‧‧晶片致能訊號
Ch(0),Ch(1),...,Ch(15)‧‧‧通道
D1,D2,...,D15,D1(1),D2(1),...,D15(1),D1(2),D2(2),...,D15(2),...,D1(15),D2(15),...,D15(15),D1(16),D2(16),...,D15(16),D(1,1),D(1,2),D(1,3),
D(2,1),D(2,2),D(2,3),...,D(15,1),D(15,2),D(15,3),D(16,1),D(16,2),D(16,3)‧‧‧資料
RP,RP(1),RP(2),...,RP(15),RP(16),RP’(1),RP’(2),...,RP’(15),RP’(16)‧‧‧奇偶校驗碼
第1圖為依據本發明一實施例之一種儲存裝置的示意圖。
第2圖繪示第1圖所示之儲存裝置於一實施例中之實施細節。
第3圖為依據本發明一實施例之一種介面晶片的示意圖,其中該介面晶片可應用於第1圖所示之儲存裝置。
第4圖繪示第3圖所示之介面晶片於一實施例中之資料處理方案。
第5圖繪示第3圖所示之介面晶片於一實施例中之資料保護方案。
第6圖繪示第1圖所示之儲存裝置於一實施例中之資料保護方案。
第7圖繪示第3圖所示之介面晶片於一實施例中之旁通(bypass)控制方案。
第8圖為依據本發明另一實施例之一種儲存裝置的示意圖,其中第7圖所示之旁
通控制方案可應用於該儲存裝置。
第9圖繪示第8圖所示之第一層介面晶片組於一實施例中之資料保護方案。
第10圖繪示第8圖所示之儲存裝置於一實施例中之資料保護方案。
在相關領域中,詞彙「晶片」(chip)可能代表一個裸露的晶粒(die)、或代表於一個封裝(package)內所保護之至少一晶粒。為了便於理解,本發明中之詞彙「晶片」可代表一積體電路(Integrated Circuit;簡稱為「IC」)的晶粒。
例如:詞彙「非揮發性記憶體晶片」(non-volatile(NV)memory chip)可代表一非揮發性記憶體IC的晶粒。又例如:詞彙「快閃晶片」(Flash chip)可代表一快閃記憶體IC的晶粒。又例如:詞彙「介面晶片」可代表一介接(interfacing)IC的晶粒。依據某些實施例,一或多個晶片(諸如一或多個晶粒)可設置於一個封裝中。
第1圖為依據本發明一實施例之一種儲存裝置100的示意圖。例如:儲存裝置100可為一固態硬碟(solid state drive,SSD),諸如企業級固態硬碟(enterprise SSD)。如第1圖所示,儲存裝置100包含一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)105、一記憶體控制器110、一介面晶片組120與一非揮發性記憶體(簡稱為「NV記憶體」)130。記憶體控制器110包含一微處理器110P、一介面電路112、一資料緩衝器114、至少一其它緩衝器115與一存取(access)電路116,其中存取電路116可包含多個子電路,諸如一讀取通道電路116R與一寫入通道電路116W(於第1圖中係分別標示為「讀取通道」與「寫入通道」)。微處理器110P可控制記憶體控制器110中之各個元件,諸如介面電路112、資料緩衝器114、其它緩衝器115與存取電路116。介面晶片組120包含介面晶片122-1、122-2、...與122-N,且NV記憶體130包含複數個NV記憶體晶
片,諸如複數個快閃記憶體晶片,其可簡稱為快閃晶片,其中符號「N」可代表大於1之正整數。例如:N=16;又例如:N=8;又例如:只要不妨礙本發明之實施,N可等於其它數值。
依據本實施例,NV記憶體130(例如:該些NV記憶體晶片諸如該些快閃晶片)可用來儲存資訊,且記憶體控制器110可用來控制儲存裝置100之運作。另外,介面晶片122-1、122-2、...與122-N可分別為記憶體控制器110存取(access)該些NV記憶體晶片諸如該些快閃晶片,且進行錯誤更正。在資料從該些快閃晶片中之一或多個快閃晶片被傳送至記憶體控制器110之前,資料錯誤已被更正。因此,介面晶片組120可控制NV記憶體130以提供複數個無誤(error free)模組150-1、150-2、...與150-N予記憶體控制器110,其中無誤模組150-1、150-2、...與150-N中之任一無誤模組150-n可提供無誤資料予記憶體控制器110,而符號「n」可代表落入區間[1,N]之正整數。依據本實施例,無誤模組150-1包含介面晶片122-1以及耦接至介面晶片122-1之多個快閃晶片,無誤模組150-2包含122-2以及耦接至122-2之多個快閃晶片,依此類推;且無誤模組150-N包含122-N以及耦接至122-N之多個快閃晶片。
基於第1圖所示架構,儲存裝置100中之一階層式(hierarchical)架構包含記憶體控制器110、介面晶片{122-1,122-2,...,122-N}以及無誤模組{150-1,150-2,...,150-N}中之該些快閃晶片。另外,儲存裝置100可耦接至一主裝置(host device);該主裝置(未顯示)係位於儲存裝置100之外。記憶體控制器110可因應來自該主裝置之一主裝置指令,透過介面晶片122-1、122-2、...與122-N中之任一介面晶片122-n來存取NV記憶體130。例如:該主裝置可為一伺服器,諸如一儲存伺服器,其中儲存裝置100可視為該伺服器中之一儲存系統。另外,當該主裝置存取儲存裝置100時,該主裝置可傳送一邏輯位址(logical address)至儲存裝置100,以指出該主裝置所要存取的資料。記憶體控制器110可將該主裝置
的該邏輯位址轉換成一實體位址(physical address),然後將該實體位址傳送至介面晶片122-n以存取NV記憶體130中之資料。此外,記憶體控制器110可具備有循環冗餘校驗碼(Cyclic Redundancy Check code,CRC code)的編碼(encoding)與解碼(decoding)功能,且可於需要時進行循環冗餘校驗碼編碼/解碼運作,以檢查資料的正確性。
第2圖繪示第1圖所示之儲存裝置100於一實施例中之實施細節。依據本實施例,無誤模組150-1、150-2、...與150-N可分別實施成具備封裝之無誤模組250-1、250-2、...與250-N。為了便於理解,該些封裝的基座252-1、252-2、...與252-N分別繪示於該些快閃晶片的下方。基座252-1、252-2、...與252-N中之任一基座252-n上可設置由多個快閃晶片所形成的一晶片堆疊(stack),且該晶片堆疊中之每一快閃晶片可透過打線接合(wire/wiring bonding)耦接至介面晶片122-n。例如:該晶片堆疊可包含16個快閃晶片。又例如:該晶片堆疊可包含8個快閃晶片、或其它數量的快閃晶片。當需要時,介面晶片122-n可利用晶片致能(chip enable,CE)訊號來控制是否致能某一個快閃晶片。在記憶體控制器110的控制下,儲存裝置100可具有複數個通道,諸如N個通道Ch(0)、Ch(1)、...與Ch(N-1),其中每一通道可具備一個無誤模組。針對通道Ch(n-1),記憶體控制器110可透過介面晶片122-n存取基座252-n上的該晶片堆疊中之任一快閃晶片。例如:在N=16且該晶片堆疊包含16個快閃晶片的狀況下,記憶體控制器110可透過介面晶片組120存取256個快閃晶片。請注意,該些無誤模組的架構可予以變化。
依據某些實施例,一個封裝內可以設置多個介面晶片。例如:該封裝的基座上之一晶片堆疊可包含8個快閃晶片,且該基座上可設置兩個介面晶片。這兩個介面晶片可分別耦接至該晶片堆疊中之上面4個快閃晶片與下面4個快閃晶片,且記憶體控制器110可分別透過這兩個介面晶片來存取該晶片堆疊。依據某些實施例,該複數個通道中之每一通道可對應多個介面晶片。例如:數值N可為該複數
個通道的通道數(channel count)之倍數。
相較於相關技術,本發明的介面晶片可減少通道電容(channel
capacitance)。例如,相關技術中肇因於較高的通道電容,只能侷限於每一通道8個快閃晶片,其中典型的通道電容可達20pF(picofarad;微微法拉)。基於本發明的架構,可實現每一通道32個快閃晶片,其中典型的通道電容約為5pF。
依據某些實施例,一個封裝內可設置多個晶片堆疊與多個介面晶片,該些晶片堆疊中之每一晶片堆疊包含多個快閃晶片,其中這些介面晶片中之一部分介面晶片可分別耦接至該些晶片堆疊,且這些介面晶片中之另一介面晶片可耦接於記憶體控制器110與該部分介面晶片之間。在記憶體控制器110的控制下,儲存裝置100可具有N個通道Ch(0)、Ch(1)、...與Ch(N-1),其中這個封裝中之全部的快閃晶片可運作於該N個通道中之任一通道上,且該另一介面晶片可透過該部分介面晶片為記憶體控制器110存取該通道上的該些快閃晶片。
第3圖為依據本發明一實施例之一種介面晶片300的示意圖,其中介面晶片300可應用於第1圖所示之儲存裝置100。介面晶片300可作為介面晶片{122-1,122-2,...,122-N}中之任一介面晶片112-n之一例,且介面晶片300可耦接至該複數個NV記憶體晶片中之一組NV記憶體晶片,諸如無誤模組150-n中之該些快閃晶片。於是,該階層式架構可包含記憶體控制器110、介面晶片300以及該組NV記憶體晶片。為了便於理解,在介面晶片112-n實施成介面晶片300的狀況下,介面晶片{122-1,122-2,...,122-N}當中除了介面晶片112-n以外之其它晶片可實施成具有和介面晶片300相同的電路架構。例如介面晶片{122-1,122-2,...,122-N}可為同型號的產品,諸如具有相同電路設計且以相同製程與相同條件來生產的產品;這些產品可視為彼此相同的產品,其中忽略了(由於製程等等因素所導致的)這些產品之間的可能的極小差異。假設介面晶片300代表複數個介面晶片{300}的其中之一、且該複數個介面晶片{300}代表同型號的產品,所以該
複數個介面晶片{300}可作為介面晶片{122-1,122-2,...,122-N}之一例。除了記憶體控制器110、介面晶片300以及該組NV記憶體晶片,該階層式架構可另包含該複數個介面晶片{300}中之多個其它介面晶片,且另包含該複數個NV記憶體晶片中之其它組NV記憶體晶片,諸如無誤模組{150-1,150-2,...,150-N}中之其它無誤模組中之該些快閃晶片,其中該多個其它介面晶片可分別耦接於記憶體控制器110以及該些其它組NV記憶體晶片之間。
如第3圖所示,介面晶片300包含一僕(slave)介面電路310、一控制電路320、一主(master)介面電路330與M個旁通(bypass)介面電路{340-1,340-2,...,340-M},其中符號「M」可代表大於1之正整數。控制電路320係耦接於僕介面電路310與主介面電路330之間,以管理僕介面電路310與主介面電路330之間的多個指令路徑與資料路徑,諸如第3圖中以陰影繪示的6個縱向(vertical)路徑。僕介面電路310包含一並列(parallel)介面電路310P與一序列(serial)介面電路310S,且序列介面電路310S可為一序列器/解序列器(Serializer/Deserializer,SerDes)電路。另外,控制電路320包含一序列轉並列控制器321、一指令轉換器322、一指令緩衝器323、一循環冗餘校驗電路(Cyclic Redundancy Check circuit;簡稱為「CRC電路」)320CRC、一資料緩衝器326、一錯誤更正碼電路(Error Correction Code circuit;簡稱為「ECC電路」)320ECC與一旁通模式控制電路329,其中CRC電路320CRC包含一檢查電路324與一重新編碼電路325,ECC電路320ECC包含一編碼器327與一解碼器328,且旁通模式控制電路329包含一中繼器(repeater)329R與一切換電路329SW。序列轉並列控制器321可控制序列資料與並列資料之間的轉換運作。指令緩衝器323可用來緩衝來自記憶體控制器110之指令,而指令轉換器322可於需要時轉換該些指令或回應記憶體控制器110。資料緩衝器326可用來緩衝資料,而CRC電路320CRC與ECC電路320ECC可進行關於資料保護之運作。旁通模式控制電路329可控制關於資
料/指令旁通之運作。基於這些機制,介面晶片300可因應記憶體控制器110之請求來自行管理該組NV記憶體晶片。
依據本實施例,僕介面電路310可用來將介面晶片300耦接至記憶體控制器110,且主介面電路330可用來將介面晶片300耦接至該組NV記憶體晶片,諸如無誤模組150-n中之該些快閃晶片。控制電路320可控制介面晶片300之運作。在控制電路320之控制下,介面晶片300可為記憶體控制器110存取該組NV記憶體晶片。例如:當記憶體控制器110具備並列傳輸的能力時,介面晶片300可透過並列介面電路310P和記憶體控制器110進行通訊。該6個縱向路徑中之兩個路徑通過並列介面電路310P、CRC電路320CRC與ECC電路320ECC,且這兩個路徑中之朝下、朝上路徑分別對應於寫入運作與讀取運作。又例如:當記憶體控制器110具備序列傳輸的能力時,介面晶片300可透過序列介面電路310S和記憶體控制器110進行通訊。該6個縱向路徑中之兩個路徑通過序列介面電路310S、CRC電路320CRC與ECC電路320ECC,且這兩個路徑中之朝下、朝上路徑分別對應於寫入運作與讀取運作。來自記憶體控制器110之資料可為序列傳輸資料。序列介面電路310S(例如該序列器/解序列器電路)可對該序列傳輸資料進行解序列化(deserialization)運作以供介面晶片300使用,且可對介面晶片300中之並列傳輸資料進行序列化(serialization)運作以供傳輸至記憶體控制器110。
另外,ECC電路320ECC可進行關於錯誤更正碼之運作(ECC-related operation),其中控制電路320可利用ECC電路320ECC為記憶體控制器110進行該些關於錯誤更正碼之運作,以修正至少一部分資料錯誤。控制電路320(例如ECC電路320ECC)可為記憶體控制器110進行軟解碼(soft decoding)、硬解碼(hard decoding)、錯誤復原控制(error recovery control)、讀取錯誤處置(read error handling)、讀取重試(read retry)、門檻電壓追蹤(threshold voltage tracking;簡
稱為「Vth追蹤」)...等運作中之至少一部分運作,以於需要時先取得一可更正碼字(correctable codeword)以供修正資料錯誤,來取得無誤資料。依據本實施例,介面晶片300的錯誤更正碼運算能力(ECC calculation capability)高於記憶體控制器110的錯誤更正碼運算能力。例如:記憶體控制器110可具備透過錯誤更正碼運算來偵測及更正錯誤之能力,且介面晶片300於進行錯誤更正碼運算時所能更正之錯誤位元數(error bit count)高於記憶體控制器110於進行錯誤更正碼運算時所能更正之錯誤位元數。又例如:記憶體控制器110可具備透過錯誤更正碼運算來偵測錯誤之能力,而非透過錯誤更正碼運算來更正錯誤之能力,其中關於錯誤更正,記憶體控制器110可仰賴介面晶片300之能力。不論記憶體控制器110是否具備透過錯誤更正碼運算來更正錯誤之能力,藉助於ECC電路320ECC,控制電路320使介面晶片300與該組NV記憶體晶片(諸如無誤模組150-n中之該些快閃晶片)之組合對記憶體控制器110如同一個無誤(error free)NV記憶體晶片組。依據某些實施例,介面晶片300與該組NV記憶體晶片(諸如無誤模組150-n中之該些快閃晶片)可位於一封裝內。藉助於ECC電路320ECC,介面晶片300使該封裝對記憶體控制器110如同一個無誤NV記憶體晶片封裝。
請注意,記憶體控制器110的架構可予以變化,且介面晶片300可設計成一多功能晶片,以配合記憶體控制器110的架構上之各種可能的變化。例如:當記憶體控制器110傳送資料與該資料之一奇偶校驗碼(parity-check code)至介面晶片300時,控制電路320可捨棄(discard)該奇偶校驗碼、利用ECC電路320ECC(尤其是其內的編碼器327)依據該資料產生一新的奇偶校驗碼、且將該資料與該新的奇偶校驗碼寫入該組NV記憶體晶片(諸如無誤模組150-n中之該些快閃晶片)中之至少一NV記憶體晶片。又例如:當記憶體控制器110傳送資料至介面晶片300時,控制電路320可利用ECC電路320ECC(尤其是其內的編碼器327)依據該資料產生一奇偶校驗碼、且將該資料與該奇偶校驗碼寫入該組NV
記憶體晶片(諸如無誤模組150-n中之該些快閃晶片)中之至少一NV記憶體晶片。
此外,CRC電路320CRC可進行關於循環冗餘校驗之運作(CRC-related operation),其中控制電路320可利用CRC電路320CRC檢查來自記憶體控制器110的資料之正確性。例如:該主裝置指令可為一主裝置寫入指令。依據該主裝置寫入指令,記憶體控制器110傳送該資料與該資料之一循環冗餘校驗碼(CRC code)至介面晶片300。CRC電路320CRC(尤其是其內的檢查電路324)可對該資料進行一循環冗餘校驗計算以產生一計算結果。當該計算結果等同於該循環冗餘校驗碼,控制電路320可利用ECC電路320ECC(尤其是其內的編碼器327)依據該資料產生一奇偶校驗碼且透過主介面電路330對該組NV記憶體晶片(諸如無誤模組150-n中之該些快閃晶片)中之至少一NV記憶體晶片傳送一寫入指令,以將該資料與該奇偶校驗碼寫入該至少一NV記憶體晶片;否則,控制電路320可請求記憶體控制器110重新傳送該資料與該循環冗餘校驗碼。又例如:該主裝置指令可為一主裝置讀取指令。依據該主裝置讀取指令,記憶體控制器110請求介面晶片300進行一對應的讀取運作。於該對應的讀取運作中,控制電路320透過主介面電路330對該組NV記憶體晶片(諸如無誤模組150-n中之該些快閃晶片)中之至少一NV記憶體晶片傳送一讀取指令,使上述至少一NV記憶體晶片傳送對應於該讀取指令之讀取資料與該讀取資料之一奇偶校驗碼至介面晶片300。控制電路320可利用ECC電路320ECC(尤其是其內的解碼器328)依據該讀取資料與該奇偶校驗碼修正該讀取資料中之任何錯誤,以取得無誤資料。CRC電路320CRC(尤其是其內的重新編碼電路325)可對該無誤資料進行一循環冗餘校驗計算以產生一循環冗餘校驗碼,以容許記憶體控制器110於從介面晶片300取得(例如讀取)該無誤資料時依據該循環冗餘校驗碼檢查該無誤資料之正確性,其中該循環冗餘校驗碼可確保該無誤資料被正確地接收。記憶體控制器110可依據該循環冗餘校驗碼檢查該無誤資料是否被正確地接收。如果有錯
誤,記憶體控制器110可從介面晶片300重新取得(例如重新讀取)該無誤資料及該循環冗餘校驗碼。
如前面所述,介面晶片300可設計成該多功能晶片。控制電路320(例如旁通模式控制電路329)係耦接於僕介面電路310與該M個旁通介面電路{340-1,340-2,...,340-M}之間,以控制介面晶片300之運作。於介面晶片300之一旁通模式中,旁通模式控制電路329可透過對應的旁通路徑來旁通指令與資料,且中繼器329R可於該些旁通路徑上放大訊號強度。例如:該6個縱向路徑中之右側兩個路徑通過並列介面電路310P、中繼器329R與主介面電路330,且這兩個路徑中之朝下、朝上路徑分別對應於寫入運作與讀取運作,其中這兩個路徑可作為該些旁通路徑之例子。又例如:切換電路329SW可進行切換運作,以將該些旁通路徑耦接至該M個旁通介面電路{340-1,340-2,...,340-M}中之任一旁通介面電路340-m,其中符號「m」可代表落入區間[1,M]之正整數。於是,該些旁通路徑可通過並列介面電路310P、中繼器329R、切換電路329SW與旁通介面電路340-m。請注意,該旁通模式亦可應用於序列傳輸。例如:該些旁通路徑可通過序列介面電路310S、中繼器329R與主介面電路330。又例如:該些旁通路徑可通過序列介面電路310S、中繼器329R、切換電路329SW與旁通介面電路340-m。
在控制電路320(例如旁通模式控制電路329)之控制下,介面晶片300可於該旁通模式中從記憶體控制器110旁通一指令至該組NV記憶體晶片中之一NV記憶體晶片,且可於該旁通模式中旁通資料(例如:於儲存裝置100之一寫入運作中從記憶體控制器110旁通資料至該NV記憶體晶片、或於儲存裝置100之一讀取運作中從該NV記憶體晶片旁通資料至記憶體控制器110)。
第4圖繪示第3圖所示之介面晶片300於一實施例中之資料處理方案。存取電路116之該些子電路可包含仲裁器(arbiter)414與415,且另包含多個直接記憶體存取電路(Direct Memory Access circuit;簡稱為「DMA電路」),
諸如分別位於寫入通道電路116W與讀取通道電路116R之兩組DMA電路{416-1,416-2,...,416-K}與{417-1,417-2,...,417-K}。為了簡明起見,這兩組DMA電路於第4圖中可標示為「DMA」。仲裁器414可控制該組DMA電路{416-1,416-2,...,416-K}的運作,以將資料從資料緩衝器114傳送至介面晶片300。仲裁器415可控制該DMA電路{417-1,417-2,...,417-K}的運作,以從介面晶片300取得資料且將該些資料暫存於資料緩衝器114。如第4圖所示,介面晶片300的一部分電路,諸如ECC電路320ECC,可耦接至記憶體控制器110之存取電路116,其中為了簡明起見,介面晶片300的其它部分電路未繪示於第4圖中。例如:該組DMA電路{416-1,416-2,...,416-K}可透過僕介面電路310將資料寫入資料緩衝器326。當透過僕介面電路310從該組DMA電路{416-1,416-2,...,416-K}接收該些資料,介面晶片300可將該些資料緩衝於資料緩衝器326中,且可利用檢查電路324檢查該些資料是否被正確地接收。當檢查結果指出該些資料係被正確地接收,介面晶片300可利用編碼器327對該些資料進行編碼。又例如:介面晶片300可利用解碼器328對來自該組NV記憶體晶片(諸如無誤模組150-n中之該些快閃晶片)之碼字進行解碼以取得正確的讀出資料且將該些讀出資料緩衝於資料緩衝器326中,且可利用重新編碼電路325產生對應的循環冗餘校驗碼來保護該些讀出資料。於是,該組DMA電路{417-1,417-2,...,417-K}可透過僕介面電路310讀取資料緩衝器326中之該些被保護的讀出資料。
依據本實施例,編碼器327可包含分別對應於該組DMA電路{416-1,416-2,...,416-K}之一組編碼電路{327-1,327-2,...,327-K},而解碼器328可包含分別對應於該組DMA電路{417-1,417-2,...,417-K}之一組解碼電路{328-1,328-2,...,328-K}與一組數位訊號處理引擎(Digital Signal Processing engine;簡稱為「DSP引擎」){428-1,428-2,...,428-K}。例如:該組NV記憶體晶片(諸如無誤模組150-n中之該些快閃晶片)可包含K個快閃晶片,而該K個快閃晶片可透
過主介面電路330耦接至該組編碼電路{327-1,327-2,...,327-K}、且亦可透過主介面電路330耦接至該組DSP引擎{428-1,428-2,...,428-K}。另外,該組編碼電路{327-1,327-2,...,327-K}可分別對欲寫入該K個快閃晶片之資料進行錯誤更正碼編碼運作以產生該些資料各自的奇偶校驗碼,且分別將對應的碼字寫入該K個快閃晶片以保護該些資料,其中該些碼字包含該些資料及該些奇偶校驗碼。當介面晶片300為記憶體控制器110從該K個快閃晶片讀取該些資料時,介面晶片300從該K個快閃晶片所讀出的讀取資料可包含該些碼字之讀出版本,其中該些讀出版本可能有錯誤。當需要時,該組DSP引擎{428-1,428-2,...,428-K}中之任一DSP引擎428-k可進行上述至少一部分運作中之至少一運作(諸如軟解碼、硬解碼、錯誤復原控制、讀取錯誤處置、讀取重試、及/或Vth追蹤),以先取得一可更正碼字,使解碼電路328-k可以順利地依據該可更正碼字進行錯誤更正碼解碼運作以修正錯誤,其中符號「k」可代表落入區間[1,K]之正整數。於是,該組解碼電路{328-1,328-2,...,328-K}可取得該些資料之正確版本。
依據某些實施例,解碼電路{328-1,328-2,...,328-K}可進行低密度奇偶校驗碼(low-density parity-check(LDPC)code;簡稱為「LDPC碼」)編碼運作,而該些奇偶校驗碼可為LDPC碼。
於某些實施例中,控制電路320可依據實體位址(physical address),諸如區塊(block)實體位址或頁實體位址,透過主介面電路330存取該K個快閃晶片。例如:記憶體控制器110可於一寫入運作或一讀取運作中指定該些實體位址。於是,介面晶片300可依據該些實體位址為記憶體控制器110存取該K個快閃晶片中之某些區塊或某些頁。另外,關於讀取錯誤處置,控制電路320(例如ECC電路320ECC)可進行複數個字線(word line,WL)中之任一字線的錯誤修正,以提供無誤資料予記憶體控制器110。例如:記憶體控制器110可以為某些實體位址中之任一實體位址,僅僅發出一讀取指令給介面晶片300,然後就等待來自
介面晶片300之無誤資料。此外,控制電路320(例如ECC電路320ECC)可負責進行讀取重試、LDPC軟解碼與各種其它類型的資料保護運作。
第5圖繪示第3圖所示之介面晶片300於一實施例中之資料保護方案。在控制電路320之控制下,介面晶片300可將該組NV記憶體晶片(例如無誤模組150-n中之該些快閃晶片,諸如該K個快閃晶片)組合成一容錯式磁碟陣列(Redundant Array of Independent Disks;簡稱為「RAID」),以將一組資料之一奇偶校驗碼儲存於該組NV記憶體晶片中之至少一NV記憶體晶片,其中該組資料分佈於該組NV記憶體晶片中之其它NV記憶體晶片中。例如:在K=16的狀況下,該K個快閃晶片可包含一組快閃晶片{430-1,430-2,...,430-16},且介面晶片300可分別利用晶片致能訊號CE0、CE1、...與CE15來控制是否致能快閃晶片430-1、430-2、...與430-16。控制電路320可控制介面晶片300分別從快閃晶片430-1、430-2、...與430-15讀取資料D1、D2、...與D15,且依據資料D1、D2、...與D15產生資料{D1,D2,...,D15}之一奇偶校驗碼RP,以將奇偶校驗碼RP寫入快閃晶片430-16來保護資料{D1,D2,...,D15},其中奇偶校驗碼RP可視為一RAID奇偶校驗碼。例如,當資料{D1,D2,...,D15}中之任一者有錯誤,介面晶片300可依據奇偶校驗碼RP更正錯誤,以確保資料{D1,D2,...,D15}之正確性。
第5圖所示之資料保護方案可分別應用於第1圖所示之介面晶片{122-1,122-2,...,122-N}。基於該資料保護方案,介面晶片{122-1,122-2,...,122-N}可分別對無誤模組{150-1,150-2,...,150-N}各自的快閃晶片進行RAID保護。因此,於該階層式架構中,此資料保護機制可視為較低層(lower layer)RAID保護。依據某些實施例,該RAID屬於儲存裝置100中之一層RAID(a layer of RAIDs),諸如一較低層RAID。介面晶片{122-1,122-2,...,122-N}可分別將無誤模組{150-1,150-2,...,150-N}各自的快閃晶片組成N個RAID(N RAIDs),其中該N個RAID屬於該層RAID,且該N個RAID包含該RAID。另外,記憶體控制器
110可將該複數個NV記憶體晶片組合成另一層RAID,諸如一較高層RAID,其中該另一層RAID異於該層RAID。
第6圖繪示第1圖所示之儲存裝置100於一實施例中之資料保護方案。依據本實施例,儲存裝置100中存在至少兩層RAID,諸如該層RAID(其包含該N個RAID)與該另一層RAID。關於該層RAID,該N個RAID中之任一RAID可進行第5圖所示之較低層RAID保護。例如,這個RAID可依據資料D1、D2、...與D15產生資料{D1,D2,...,D15}之奇偶校驗碼RP,以透過奇偶校驗碼RP來保護資料{D1,D2,...,D15}。在K=16且N=16的狀況下,該N個RAID諸如RAID{RAID(0),RAID(1),...,RAID(15)}可分別對應於通道{Ch(0),Ch(1),...,Ch(15)}。為了便於理解,第6圖的最上面標示了符號「D1」、「D2」、...「D15」以及「RP」,以指出該N個RAID可進行第5圖所示之較低層RAID保護,其中第n個RAID RAID(n-1)對應於通道Ch(n-1),且依據資料{D1(n),D2(n),...,D15(n)}產生資料{D1(n),D2(n),...,D15(n)}的奇偶校驗碼RP(n)。例如:第1個RAID RAID(0)產生資料{D1(1),D2(1),...,D15(1)}的奇偶校驗碼RP(1),第2個RAID RAID(1)產生資料{D1(2),D2(2),...,D15(2)}的奇偶校驗碼RP(2),...且第15個RAID RAID(14)產生資料{D1(15),D2(15),...,D15(15)}的奇偶校驗碼RP(15)。
關於該另一層RAID,記憶體控制器110可進行較高層(higher layer)RAID保護。如第6圖所示,該較低層RAID保護可對應於一資料排列方向,諸如橫向,且該較高層RAID保護可對應於另一資料排列方向,諸如縱向。記憶體控制器110可依據該N個RAID中之前(N-1)個RAID{RAID(0),RAID(1),...,RAID(N-2)}中之對應的頁的資料產生這些資料的奇偶校驗碼,且利用此奇偶校驗碼作為該N個RAID中之第N個RAID RAID(N-1)中之一對應的頁的資料。在K=16且N=16的狀況下,該第N個RAID RAID(N-1)是第16個RAID RAID(15)。
例如:記憶體控制器110可利用資料{D1(1),D1(2),...,D1(15)}的奇偶校驗碼作為
資料D1(16)、利用資料{D2(1),D2(2),...,D2(15)}的奇偶校驗碼作為資料D2(16)、...且利用資料{D15(1),D15(2),...,D15(15)}的奇偶校驗碼作為資料D15(16)。之後,第16個RAID RAID(15)可進行該較低層RAID保護,以依據資料{D1(16),D2(16),...,D15(16)}(諸如該較高層RAID保護機制所產生的該些奇偶校驗碼)產生奇偶校驗碼RP(16)。
第7圖繪示第3圖示之介面晶片300於一實施例中之旁通控制方案。基於該旁通控制方案,介面晶片組120可被取代為多層介面晶片組,且NV記憶體130中之快閃晶片可被擴增(extend)為更大數量的快閃晶片,以實現具有更大儲存容量之一儲存裝置。依據本實施例,旁通介面電路{340-1,340-2,...,340-M}可用來將介面晶片300分別耦接至此儲存裝置中之複數個其它介面晶片,諸如介面晶片{300-1,300-2,...,300-M},其中在控制電路320(例如旁通模式控制電路329)之控制下,介面晶片300於記憶體控制器110以及該複數個其它介面晶片之間旁通至少一指令與資料中之至少一者,且透過該複數個其它介面晶片為記憶體控制器110存取該儲存裝置中之複數組NV記憶體晶片。例如:介面晶片{300-1,300-2,...,300-M}中之任一者可具有和介面晶片300相同的電路架構,且介面晶片{300-1,300-2,...,300-M}各自的僕介面電路{310-1,310-2,...,310-M}可分別耦接至介面晶片300的旁通介面電路{340-1,340-2,...,340-M}。第7圖中以虛線繪示的旁通路徑可作為第3圖所示實施例中所提到之該些旁通路徑之例子。例如:介面晶片{300-1,300-2,...,300-M}中之任一介面晶片300-m的主介面電路可用來耦接該複數組NV記憶體晶片中之一組NV記憶體晶片,諸如一個無誤模組中之多個快閃晶片。此狀況下,該多層介面晶片組的層數(layer count)可等於兩層。又例如:介面晶片{300-1,300-2,...,300-M}中之任一介面晶片300-m的M個旁通介面電路可分別用來耦接M個額外的介面晶片(其可具有和介面晶片300相同的電路架構,其中該M個額外的介面晶片和介面晶片300可為同型號的產品,諸如
具有相同電路設計且以相同製程與相同條件來生產的產品),以透過該M個額外的介面晶片耦接至該複數組NV記憶體晶片中之更多組NV記憶體晶片,諸如更多個無誤模組中之多個快閃晶片。此狀況下,該多層介面晶片組的層數可大於兩層。
依據本實施例,該儲存裝置中之一階層式架構可包含記憶體控制器110、介面晶片300、該複數個其它介面晶片(諸如介面晶片{300-1,300-2,...,300-M})以及該複數組NV記憶體晶片。介面晶片300可為一多功能介面晶片,且可具有分別對應於複數個組態(configuration)之複數個功能,而該複數個其它介面晶片(諸如介面晶片{300-1,300-2,...,300-M})中之任一者可具有和介面晶片300相同的電路架構,其中該複數個其它介面晶片依據該複數個組態中之一第一組態來運作,且介面晶片300依據該複數個組態中之一第二組態來運作。例如該複數個其它介面晶片(諸如介面晶片{300-1,300-2,...,300-M})和介面晶片300可為同型號的產品,諸如具有相同電路設計且以相同製程與相同條件來生產的產品;這些產品可視為彼此相同的產品,其中忽略了(由於製程等等因素所導致的)這些產品之間的可能的極小差異。由第3圖所示架構可知,介面晶片300之主介面電路330具有一NV記憶體晶片耦接功能。例如:依據該第二組態,介面晶片300之主介面電路330係閒置(idle)。又例如:依據該第一組態,該複數個其它介面晶片中之任一其它介面晶片中之一對應的主介面電路,諸如介面晶片{300-1,300-2,...,300-M}中之任一介面晶片300-m中之該主介面電路,可耦接至該複數組NV記憶體晶片中之該組NV記憶體晶片,以容許該其它介面晶片為記憶體控制器110存取該組NV記憶體晶片(諸如一個無誤模組中之多個快閃晶片),其中依據該第一組態,該其它介面晶片中之多個對應的旁通介面電路係閒置。
在記憶體控制器110的控制下,該儲存裝置可具有該複數個通道,諸
如N個通道Ch(0)、Ch(1)、...與Ch(N-1),其中每一通道可具備多個無誤模組。
該多層介面晶片組所管理之複數個NV記憶體晶片(諸如上述更大數量的快閃晶片)可分別對應於該複數個通道(channel),而該複數組NV記憶體晶片可對應於該複數個通道中之一通道。例如:介面晶片300以及該複數個其它介面晶片(諸如介面晶片{300-1,300-2,...,300-M})可對應於該通道。又例如:介面晶片300、該複數個其它介面晶片(諸如介面晶片{300-1,300-2,...,300-M})以及該複數組NV記憶體晶片可屬於該通道,而非該複數個通道中之任一其它通道。
另外,該儲存裝置包含該多層介面晶片組。依據某些實施例,介面晶片300屬於該多層介面晶片組中之一層介面晶片組,諸如一第一層介面晶片組,且該複數個其它介面晶片(諸如介面晶片{300-1,300-2,...,300-M})屬於該多層介面晶片組中之另一層介面晶片組,諸如一第二層介面晶片組,其中該第一層介面晶片組可依據該第二組態來運作,且該第二層介面晶片組可依據該第一組態來運作。該第一層介面晶片組可透過該第二層介面晶片組為記憶體控制器110存取該複數個NV記憶體晶片(諸如上述更大數量的快閃晶片)。例如:該多層介面晶片組中之任何兩個介面晶片可具有相同的電路架構,而介面晶片300可為這兩個介面晶片的其中之一,但本發明不限於此。當這兩個介面晶片從該儲存裝置被拆解(disassemble)時,這兩個介面晶片於該階層式架構中係可互換(exchangeable),以供互相取代。例如該多層介面晶片組可為同型號的產品,諸如具有相同電路設計且以相同製程與相同條件來生產的產品;這些產品可視為彼此相同的產品,其中忽略了(由於製程等等因素所導致的)這些產品之間的可能的極小差異。
依據某些實施例,該第一層介面晶片組中之介面晶片可視為複數個第一層介面晶片,且該第二層介面晶片組中之介面晶片可視為複數個第二層介面晶片,其中該複數個其它介面晶片(諸如介面晶片{300-1,300-2,...,300-M})
是該複數個第二層介面晶片中之一組第二層介面晶片。例如:該複數第二層介面晶片包含複數組第二層介面晶片,且該組第二層介面晶片是該複數組第二層介面晶片中之一組。該階層式架構包含記憶體控制器110、該複數個第一層介面晶片、該複數組第二層介面晶片以及該複數個NV記憶體晶片(諸如上述更大數量的快閃晶片)。
第8圖為依據本發明另一實施例之一種儲存裝置600的示意圖,其中第7圖所示之旁通控制方案可應用於儲存裝置600。儲存裝置600可作為第7圖所示實施例中所述具有更大儲存容量之該儲存裝置之一例,第一層介面晶片組620-1與第二層介面晶片組620-2可作為該多層介面晶片組之一例,且第一層介面晶片組620-1之介面晶片{122-1,122-2,...,122-N}中之任一介面晶片122-n所管理的複數組NV記憶體晶片(諸如M個無誤模組{650-(M*(n-1)+1),650-(M*(n-1)+2),...,650-(M*n)}各自的快閃晶片)可作為介面晶片300透過該複數個其它介面晶片(諸如介面晶片{300-1,300-2,...,300-M})所存取之該複數組NV記憶體晶片之一例。
基於第8圖所示架構,本發明可在確保儲存裝置600的效能及可靠度之狀況下最大化(maximize)儲存裝置600的儲存容量。相較於儲存裝置100,儲存裝置600中之無誤模組的數量可擴增為(M * N)個,其中非揮發性記憶體(簡稱為「NV記憶體」)630中之(M * N)組NV記憶體晶片(諸如無誤模組{{650-1,650-2,...,650-M},...,{650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N)}}各自的快閃晶片)可代表上述更大數量的快閃晶片。例如:無誤模組{{650-1,650-2,...,650-M},...,{650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N)}}中之任一無誤模組可和無誤模組150-n相似。又例如:無誤模組{{650-1,650-2,...,650-M},...,{650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N)}}中之任一無誤模組可和無誤模組150-n相同。另外,第一層介面晶片組620-1與第二層介面晶片
組620-2之間的耦接關係可依據該旁通控制方案來實施。例如:當第7圖所示之介面晶片300代表第8圖所示之介面晶片122-1,第7圖所示之介面晶片{300-1,300-2,...,300-M}可代表無誤模組{650-1,650-2,...,650-M}各自的介面晶片;依此類推。又例如:當第7圖所示之介面晶片300代表第8圖所示之介面晶片122-N,第7圖所示之介面晶片{300-1,300-2,...,300-M}可代表無誤模組{650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N)}各自的介面晶片。此外,第一層介面晶片組620-1包含介面晶片{122-1,122-2,...,122-N}。第一層介面晶片組620-1之介面晶片{122-1,122-2,...,122-N}與記憶體控制器110之間的耦接關係可和介面晶片組120之介面晶片{122-1,122-2,...,122-N}與記憶體控制器110之間的耦接關係相同,其中相關實施細節已於某些前述實施例(諸如第1、3至4圖所示實施例)中說明。例如:介面晶片組620-1之介面晶片{122-1,122-2,...,122-N}各自的僕介面電路可耦接至記憶體控制器110之存取電路116。依據本實施例,第一層介面晶片組620-1可透過第二層介面晶片組620-2為記憶體控制器110存取NV記憶體630中之(M * N)組NV記憶體晶片(諸如無誤模組{{650-1,650-2,...,650-M},...,{650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N)}}各自的快閃晶片)。
依據某些實施例,在介面晶片122-n中之該控制電路(諸如控制電路320)之控制下,介面晶片122-n可將介面晶片122-n所管理的該複數組NV記憶體晶片(諸如該M個無誤模組{650-(M*(n-1)+1),650-(M*(n-1)+2),...,650-(M*n)}各自的快閃晶片)組合成一RAID,以將一組資料之一奇偶校驗碼儲存於該複數組NV記憶體晶片中之至少一NV記憶體晶片,其中該組資料分佈於該複數組NV記憶體晶片中之至少一部分NV記憶體晶片中。尤其是,上述至少一NV記憶體晶片可包含該複數組NV記憶體晶片中之一組NV記憶體晶片當中全部的NV記憶體晶片,諸如無誤模組650-(M*n)的快閃晶片;且該至少一部分NV記憶體晶片可包含
該複數組NV記憶體晶片中之其它組NV記憶體晶片,諸如該M個無誤模組中之前(M-1)個無誤模組(即,該M個無誤模組{650-(M*(n-1)+1),650-(M*(n-1)+2),...,650-(M*n)}當中除了無誤模組650-(M*n)以外之剩下的無誤模組)各自的快閃晶片。另外,該奇偶校驗碼包含複數個局部(partial)奇偶校驗碼,且該複數個局部奇偶校驗碼可分別儲存於該組NV記憶體晶片(諸如無誤模組650-(M*n)的快閃晶片)中之對應的頁。由於介面晶片{122-1,122-2,...,122-N}可分別對無誤模組{{650-1,650-2,...,650-M},...,{650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N)}}各自的快閃晶片進行RAID保護,故於該階層式架構中,此資料保護機制可視為較低層RAID保護。
依據某些實施例,這個RAID屬於儲存裝置600中之一層RAID(a layer of RAIDs),諸如一較低層RAID。介面晶片{122-1,122-2,...,122-N}可分別將無誤模組{{650-1,650-2,...,650-M},...,{650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N)}}各自的快閃晶片組成N個RAID(N RAIDs),其中該N個RAID屬於該層RAID,且該N個RAID包含該RAID。另外,記憶體控制器110可將NV記憶體630中之該(M * N)組NV記憶體晶片組合成另一層RAID,諸如一較高層RAID,其中該另一層RAID異於該層RAID。
第9圖繪示第8圖所示之第一層介面晶片組620-1於一實施例中之資料保護方案。例如:M=4,且儲存裝置700可作為第8圖所示儲存裝置600之一例,其中第一層介面晶片組720-1、第二層介面晶片組720-2與非揮發性記憶體(簡稱為「NV記憶體」)730可分別作為第一層介面晶片組620-1、第二層介面晶片組620-2與NV記憶體630之例子,且無誤模組{750-1,750-2,750-3,750-4,...}可作為無誤模組{{650-1,650-2,...,650-M},...,{650-(M*(N-1)+1),650-(M*(N-1)+2),...,650-(M*N)}}之一例。第一層介面晶片組720-1中之一介面晶片(諸如介面晶片722-1)可透過第二層介面晶片組720-2中之一介面晶片分別利用晶片致能訊號
(諸如晶片致能訊號CE0、CE1、...等)來控制是否致能該些快閃晶片。例如:
介面晶片722-1之該控制電路(諸如控制電路320)可控制介面晶片722-1分別從無誤模組750-1、750-2與750-3各自的快閃晶片讀取資料D(1,1)、D(1,2)與D(1,3),且依據資料D(1,1)、D(1,2)與D(1,3)產生資料{D(1,1),D(1,2),D(1,3)}之一奇偶校驗碼RP’(1),以將奇偶校驗碼RP’(1)寫入無誤模組750-4之快閃晶片來保護資料{D(1,1),D(1,2),D(1,3)},其中奇偶校驗碼RP’(1)可視為一RAID奇偶校驗碼。例如,當資料{D(1,1),D(1,2),D(1,3)}中之任一者有錯誤,介面晶片722-1可依據奇偶校驗碼RP’(1)更正錯誤,以確保資料{D(1,1),D(1,2),D(1,3)}之正確性。
第10圖繪示第8圖所示之儲存裝置600於一實施例中之資料保護方案。為了便於理解,採用第9圖所示實施例中之相關參數(例如:M=4)以及對應的符號來說明。依據本實施例,儲存裝置600中存在至少兩層RAID,諸如基於第8圖所示架構之該些實施例中所述之該層RAID與該另一層RAID。該層RAID之該N個RAID中之任一RAID可進行第9圖所示之較低層RAID保護。在M=4且N=16的狀況下,該N個RAID諸如RAID{RAID’(0),RAID’(1),...,RAID’(15)}可分別對應於通道{Ch(0),Ch(1),...,Ch(15)},且第n個RAID RAID’(n-1)對應於通道Ch(n-1)且依據資料{D(n,1),D(n,2),D(n,3)}產生資料{D(n,1),D(n,2),D(n,3)}的奇偶校驗碼RP'(n)。例如:第1個RAID RAID’(0)產生資料{D(1,1),D(1,2),D(1,3)}的奇偶校驗碼RP’(1),第2個RAID RAID’(1)產生資料{D(2,1),D(2,2),D(2,3)}的奇偶校驗碼RP’(2),...且第15個RAID RAID’(14)產生資料{D(15,1),D(15,2),D(15,3)}的奇偶校驗碼RP’(15)。
關於該另一層RAID,記憶體控制器110可進行較高層RAID保護。如第10圖所示,該較低層RAID保護可對應於一資料排列方向,諸如橫向,且該較高層RAID保護可對應於另一資料排列方向,諸如縱向。記憶體控制器110可依據
該N個RAID中之前(N-1)個RAID{RAID’(0),RAID’(1),...,RAID’(N-2)}中之對應的頁的資料產生這些資料的奇偶校驗碼,且利用此奇偶校驗碼作為該N個RAID中之第N個RAID RAID’(N-1)中之一對應的頁的資料。在M=4且N=16的狀況下,該第N個RAID RAID’(N-1)是第16個RAID RAID’(15)。例如:記憶體控制器110可利用資料{D(1,1),D(2,1),...,D(15,1)}的奇偶校驗碼作為資料D(16,1)、利用資料{D(1,2),D(2,2),...,D(15,2)}的奇偶校驗碼作為資料D(16,2)、且利用資料{D(1,3),D(2,3),...,D(15,3)}的奇偶校驗碼作為資料D(16,3)。之後,第16個RAID RAID’(15)可進行該較低層RAID保護,以依據資料{D(16,1),D(16,2),D(16,3)}(諸如該較高層RAID保護機制所產生的該些奇偶校驗碼)產生奇偶校驗碼RP’(16)。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
Claims (10)
- 一種介面晶片,該介面晶片係應用於一儲存裝置,該介面晶片包含有:一僕(slave)介面電路,用來將該介面晶片耦接至一記憶體控制器,其中該儲存裝置包含該記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,該非揮發性記憶體包含複數個非揮發性記憶體晶片,該記憶體控制器因應來自一主裝置之一主裝置指令,透過該介面晶片來存取(access)該非揮發性記憶體,以及該主裝置係位於該儲存裝置之外;一主(master)介面電路,用來將該介面晶片耦接至該複數個非揮發性記憶體晶片中之一組非揮發性記憶體晶片,其中該儲存裝置中之一階層式(hierarchical)架構包含該記憶體控制器、該介面晶片以及該組非揮發性記憶體晶片;以及一控制電路,耦接於該僕介面電路與該主介面電路之間,用來控制該介面晶片之運作,其中在該控制電路之控制下,該介面晶片為該記憶體控制器存取該組非揮發性記憶體晶片,以及該控制電路包含:一錯誤更正碼(Error Correction Code,ECC)電路,用來進行關於錯誤更正碼之運作(ECC-related operation),其中該控制電路利用該錯誤更正碼電路為該記憶體控制器進行該些關於錯誤更正碼之運作,以修正至少一部分資料錯誤;其中該介面晶片與該組非揮發性記憶體晶片係位於一封裝(package)內;以及當該記憶體控制器傳送資料至該介面晶片時,該控制電路利用該錯誤更正碼電路依據該資料產生一奇偶校驗碼(parity-check code)、且將該資料與該奇偶校驗碼寫入該組非揮發性記憶體晶片中之至少一非揮發性記憶體晶片。
- 如申請專利範圍第1項所述之介面晶片,其中該奇偶校驗碼代表該資料之一新的奇偶校驗碼;以及當該記憶體控制器傳送該資料與該資料之一舊的奇偶校驗碼至該介面晶片時,該控制電路捨棄(discard)該舊的奇偶校驗碼、利用該錯誤更正碼電路依據該資料產生該新的奇偶校驗碼、且將該資料與該新的奇偶校驗碼寫入該組非揮發性記憶體晶片中之該至少一非揮發性記憶體晶片。
- 如申請專利範圍第1項所述之介面晶片,其中該控制電路另包含:一循環冗餘校驗(Cyclic Redundancy Check,CRC)電路,用來進行關於循環冗餘校驗之運作(CRC-related operation),其中該控制電路利用該循環冗餘校驗電路檢查來自該記憶體控制器的該資料之正確性。
- 如申請專利範圍第3項所述之介面晶片,其中該主裝置指令係一主裝置寫入指令;依據該主裝置寫入指令,該記憶體控制器傳送該資料與該資料之一循環冗餘校驗碼(CRC code)至該介面晶片;該循環冗餘校驗電路對該資料進行一循環冗餘校驗計算以產生一計算結果;以及當該計算結果等同於該循環冗餘校驗碼,該控制電路利用該錯誤更正碼電路依據該資料產生該奇偶校驗碼,且透過該主介面電路對該組非揮發性記憶體晶片中之該至少一非揮發性記憶體晶片傳送一寫入指令,以將該資料與該奇偶校驗碼寫入該至少一非揮發性記憶體晶片。
- 如申請專利範圍第3項所述之介面晶片,其中該主裝置指令係一主裝置讀取指令;依據該主裝置讀取指令,該記憶體控制器請求該介面晶片進行一對應的讀取運作;於該對應的讀取運作中,該控制電路透過該主介面電路對該組非揮發性記憶體晶片中之該至少一非揮發性記憶體晶片傳送一讀取指令,使該至少一非揮發性記憶體晶片傳送對應於該讀取指令之讀取資料與該讀取資料之一奇偶校驗碼至該介面晶片;該控制電路利用該錯誤更正碼電路依據該讀取資料與該讀取資料之該奇偶校驗碼修正該讀取資料中之任何錯誤,以取得無誤(error free)資料;以及該循環冗餘校驗電路對該無誤資料進行一循環冗餘校驗計算以產生一循環冗餘校驗碼(CRC code),以容許該記憶體控制器於從該介面晶片取得該無誤資料時依據該循環冗餘校驗碼檢查該無誤資料之正確性。
- 一種儲存裝置,包含有:一非揮發性(non-volatile,NV)記憶體,用來儲存資訊,其中該非揮發性記憶體包含複數個非揮發性記憶體晶片;一記憶體控制器,用來控制該儲存裝置之運作;以及複數個介面晶片,耦接於該記憶體控制器與該非揮發性記憶體之間,其中該複數個介面晶片中之任一介面晶片包含:一僕(slave)介面電路,用來將該介面晶片耦接至該記憶體控制器,其中該記憶體控制器因應來自一主裝置之一主裝置指令,透過該介面晶片來存取(access)該非揮發性記憶體,以及該主裝置係位於該儲存裝置之外;一主(master)介面電路,用來將該介面晶片耦接至該複數個非揮發性記憶體晶片中之一組非揮發性記憶體晶片,其中該儲存裝置中之一階層式(hierarchical)架構包含該記憶體控制器、該介面晶片以及該組非揮發性記憶體晶片;以及一控制電路,耦接於該僕介面電路與該主介面電路之間,用來控制該介面晶片之運作,其中在該控制電路之控制下,該介面晶片為該記憶體控制器存取該組非揮發性記憶體晶片,以及該控制電路包含:一錯誤更正碼(Error Correction Code,ECC)電路,用來進行關於錯誤更正碼之運作(ECC-related operation),其中該控制電路利用該錯誤更正碼電路為該記憶體控制器進行該些關於錯誤更正碼之運作,以修正至少一部分資料錯誤;其中該介面晶片與該組非揮發性記憶體晶片係位於一封裝(package)內;以及當該記憶體控制器傳送資料至該介面晶片時,該控制電路利用該錯誤更正碼電路依據該資料產生一奇偶校驗碼(parity-check code)、且將該資料與該奇偶校驗碼寫入該組非揮發性記憶體晶片中之至少一非揮發性記憶體晶片。
- 如申請專利範圍第6項所述之儲存裝置,其中該奇偶校驗碼代表該資料之一新的奇偶校驗碼;以及當該記憶體控制器傳送該資料與該資料之一舊的奇偶校驗碼至該介面晶片時,該控制電路捨棄(discard)該舊的奇偶校驗碼、利用該錯誤更正碼電路依據該資料產生該新的奇偶校驗碼、且將該資料與該新的奇偶校驗碼寫入該組非揮發性記憶體晶片中之該至少一非揮發性記憶體晶片。
- 如申請專利範圍第6項所述之儲存裝置,其中該控制電路另包含:一循環冗餘校驗(Cyclic Redundancy Check,CRC)電路,用來進行關於循環冗餘校驗之運作(CRC-related operation),其中該控制電路利用該循環冗餘校驗電路檢查來自該記憶體控制器的該資料之正確性。
- 如申請專利範圍第8項所述之儲存裝置,其中該主裝置指令係一主裝置寫入指令;依據該主裝置寫入指令,該記憶體控制器傳送該資料與該資料之一循環冗餘校驗碼(CRC code)至該介面晶片;該循環冗餘校驗電路對該資料進行一循環冗餘校驗計算以產生一計算結果;以及當該計算結果等同於該循環冗餘校驗碼,該控制電路利用該錯誤更正碼電路依據該資料產生該奇偶校驗碼,且透過該主介面電路對該組非揮發性記憶體晶片中之該至少一非揮發性記憶體晶片傳送一寫入指令,以將該資料與該奇偶校驗碼寫入該至少一非揮發性記憶體晶片。
- 如申請專利範圍第8項所述之儲存裝置,其中該主裝置指令係一主裝置讀取指令;依據該主裝置讀取指令,該記憶體控制器請求該介面晶片進行一對應的讀取運作;於該對應的讀取運作中,該控制電路透過該主介面電路對該組非揮發性記憶體晶片中之該至少一非揮發性記憶體晶片傳送一讀取指令,使該至少一非揮發性記憶體晶片傳送對應於該讀取指令之讀取資料與該讀取資料之一奇偶校驗碼至該介面晶片;該控制電路利用該錯誤更正碼電路依據該讀取資料與該讀取資料之該奇偶校驗碼修正該讀取資料中之任何錯誤,以取得無誤(error free)資料;以及該循環冗餘校驗電路對該無誤資料進行一循環冗餘校驗計算以產生一循環冗餘校驗碼(CRC code),以容許該記憶體控制器於從該介面晶片取得該無誤資料時依據該循環冗餘校驗碼檢查該無誤資料之正確性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107117218A TWI680374B (zh) | 2017-10-20 | 2017-10-20 | 儲存裝置以及其介面晶片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107117218A TWI680374B (zh) | 2017-10-20 | 2017-10-20 | 儲存裝置以及其介面晶片 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201917591A TW201917591A (zh) | 2019-05-01 |
TWI680374B true TWI680374B (zh) | 2019-12-21 |
Family
ID=67347737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107117218A TWI680374B (zh) | 2017-10-20 | 2017-10-20 | 儲存裝置以及其介面晶片 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI680374B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI766194B (zh) * | 2019-06-17 | 2022-06-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TWI796058B (zh) * | 2021-12-23 | 2023-03-11 | 宇瞻科技股份有限公司 | 自動調整訊號之儲存裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007384A1 (en) * | 2004-02-05 | 2013-01-03 | Larson Douglas A | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system |
TW201303587A (zh) * | 2011-07-14 | 2013-01-16 | Lsi Corp | 用於在快閃記憶體介質控制器中處理儲存在快閃記憶體記憶體的頁中的中繼資料的方法、裝置及快閃記憶體記憶體系統 |
CN103207819A (zh) * | 2013-03-29 | 2013-07-17 | 无锡云动科技发展有限公司 | 一种存储装置及其混合存储装置 |
TW201432696A (zh) * | 2012-10-31 | 2014-08-16 | Mosaid Technologies Inc | 具有多模式插腳輸出之快閃記憶體控制器 |
TW201512843A (zh) * | 2013-06-28 | 2015-04-01 | Hewlett Packard Development Co | 可於多重資料寬度通訊之記憶體組件 |
-
2017
- 2017-10-20 TW TW107117218A patent/TWI680374B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007384A1 (en) * | 2004-02-05 | 2013-01-03 | Larson Douglas A | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system |
TW201303587A (zh) * | 2011-07-14 | 2013-01-16 | Lsi Corp | 用於在快閃記憶體介質控制器中處理儲存在快閃記憶體記憶體的頁中的中繼資料的方法、裝置及快閃記憶體記憶體系統 |
TW201432696A (zh) * | 2012-10-31 | 2014-08-16 | Mosaid Technologies Inc | 具有多模式插腳輸出之快閃記憶體控制器 |
CN103207819A (zh) * | 2013-03-29 | 2013-07-17 | 无锡云动科技发展有限公司 | 一种存储装置及其混合存储装置 |
TW201512843A (zh) * | 2013-06-28 | 2015-04-01 | Hewlett Packard Development Co | 可於多重資料寬度通訊之記憶體組件 |
Also Published As
Publication number | Publication date |
---|---|
TW201917591A (zh) | 2019-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI658363B (zh) | 儲存裝置以及其介面晶片 | |
TWI721565B (zh) | 儲存裝置以及其介面晶片 | |
US10496484B2 (en) | Methods and apparatus for error detection for data storage devices | |
US9983928B2 (en) | Apparatuses and methods including error correction code organization | |
TWI588833B (zh) | 資料程式化方法與記憶體儲存裝置 | |
KR20170092333A (ko) | Raid-6 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 | |
US10481973B2 (en) | Memory module with dedicated repair devices | |
US12019516B2 (en) | Instant write scheme with delayed parity/raid | |
US20240095134A1 (en) | Memory module with dedicated repair devices | |
TWI680374B (zh) | 儲存裝置以及其介面晶片 | |
US20090066361A1 (en) | Semiconductor integrated circuit device and storage apparatus having the same | |
TWI613665B (zh) | 資料程式化方法與記憶體儲存裝置 | |
US8533549B2 (en) | Memory system and computer system | |
CN111625392B (zh) | Ssd中的用于故障保护的存储器管芯布局 | |
US10109373B2 (en) | Data storage apparatus and operating method thereof | |
TWI738390B (zh) | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111724851B (zh) | 数据保护方法、存储器存储装置及存储器控制电路单元 | |
CN114077515A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 |