TWI432965B - 具有複數個結構之記憶體系統及其操作方法 - Google Patents
具有複數個結構之記憶體系統及其操作方法 Download PDFInfo
- Publication number
- TWI432965B TWI432965B TW099108715A TW99108715A TWI432965B TW I432965 B TWI432965 B TW I432965B TW 099108715 A TW099108715 A TW 099108715A TW 99108715 A TW99108715 A TW 99108715A TW I432965 B TWI432965 B TW I432965B
- Authority
- TW
- Taiwan
- Prior art keywords
- channels
- memory system
- controller
- redundant array
- channel
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple 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)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明大體而言係關於記憶體系統(例如固態磁碟(SSD))且特定而言本發明係關於此等系統中之多個通道之使用者。
電子裝置通常具有對其可用之某種類型之記憶體系統,例如一大容量儲存裝置。一常見實例係一硬磁碟驅動器(HDD)。HDD能夠以相對低之成本進行大量儲存,其中當前消費者HDD可具有超過一個太位元組之容量。
HDD通常將資料儲存於旋轉磁性媒體或唱片上。通常將資料作為磁通反轉之一型樣而儲存於該等唱片上。為將資料寫入至一典型HDD,以高速度旋轉該唱片,同時浮動於該唱片上方之一寫入頭產生一系列磁性脈衝以對準該唱片上之磁性粒子來表示該資料。為自一典型HDD讀取資料,當一磁阻讀取頭浮動於以高速度旋轉之唱片上方時,在其中引發電阻變化。在實踐中,所得之資料信號係一類比信號,該信號之波峰及波谷係該資料型樣之磁通反轉之結果。然後使用稱作部分響應最大似然(PRML)之數位信號處理技術對該類比資料信號取樣以確定負責產生該資料信號之可能資料型樣。
HDD由於其機械性質而具有某些缺陷。HDD由於衝擊、振動或強磁場而易發生損壞或過度讀取/寫入錯誤。另外,其係可攜式電子裝置中之相對較大之電力使用者。
一大容量儲存裝置之另一實例係一固態磁碟(SSD)。SSD利用半導體記憶體裝置來儲存其資料而非將資料儲存於旋轉媒體上,但其通常包括使其在其主機系統看來係一典型HDD之一介面及形式因數。SSD之記憶體裝置通常為非揮發性快閃記憶體裝置。
快閃記憶體裝置已發展成用於一廣泛範圍之電子應用之非揮發性記憶體之一普遍來源。快閃記憶體裝置通常使用允許高記憶體密度、高可靠性及低功率消耗之一單電晶體記憶體單元。藉由對電荷儲存節點(例如,浮動閘極或捕獲層)或其他實體現象(例如,相位改變或平坦化)之程式化,該等單元之臨限電壓之改變確定每一單元之資料值。快閃記憶體及其他非揮發性記憶體之常見用途包括:個人電腦、個人數位助理(PDA)、數位相機、數位媒體播放器、數位記錄器、遊戲、電器、車輛、無線裝置、行動電話及可抽換記憶體模組,且非揮發性記憶體之使用繼續擴展。
不同於HDD,由於SSD之固態性質,其作業一般不會受到振動、衝擊或磁場之影響。類似地,由於不具有移動零件,SSD具有比HDD更低之功率需求。然而,與具有相同形式因數之HDD相比,SSD當前具有低得多之儲存容量及針對等效儲存容量之一明顯較高成本。
管理SSD中之快閃裝置之一個問題係讀取存取時間上之大的可變性。若該快閃裝置已開始一程式或抹除循環,則在一時間週期內將不能為一讀取請求提供服務。與讀取時間相比,此時間週期可相對長且相依於若干個因數可變。隨著裝置磨損,抹除時間增加。在各裝置之間無法保證一致性,乃因磨損可以不同速率發生。此造成高可變性之讀取等待時間。主機應用程式不知曉當前哪一快閃裝置正執行寫入或抹除命令。此乃因呈現於該驅動器上之一邏輯區塊位址(LBA)表之使用。一邏輯至實體轉譯發生於該驅動器上。該主機將邏輯位址發送至該驅動器,且該驅動器本身使用該LBA表產生實體位址。
出於上文所陳述之原因且出於彼等熟習此項技術者在讀取及理解本說明書時將明瞭之下文所陳述之其他原因,舉例而言,在此項技術中存在對SSD中經改良之讀取可變性之需要。
在實施例之以下詳細說明中,參照形成其一部分之隨附圖式。在圖式中,貫穿數個視圖以相同編號闡述大致類似之組件。充分詳細地描述此等實施例以使熟習此項技術者能夠實踐本發明。可利用其他實施例且可在不背離本發明之範疇之情形下做出結構、邏輯及電氣方面之改動。
因此,下文之詳細說明不應視為具有一限定性意義,且本發明之範疇僅由隨附申請專利範圍連同歸屬於此等申請專利範圍之等效內容之全部範疇界定。
圖1係根據本發明之一項實施例與作為一電子系統120之一部分之一記憶體存取驅動器(例如一處理器130)通信(例如,耦合至)之一記憶體系統(例如一固態磁碟(SSD)100)之一方塊圖。電子系統120可被視為SSD 100之一主機,此乃因其通過(例如)其處理器130控制SSD 100之作業。電子系統之某些實例包括個人電腦、膝上型電腦、個人數位助理(PDA)、數位相機、數位媒體播放器、數位記錄器、電子遊戲及類似物。處理器130可係一磁碟驅動器控制器或其他外部處理器。通常存在採用一標準協定之用以連接處理器130與SSD 100之一通信匯流排132。通信匯流排132通常由多個信號(包括位址、資料、電力及各種I/O信號)構成。通信匯流排132之類型將相依於正在系統120中利用之驅動器介面之類型。某些習用磁碟驅動器介面匯流排協定之實例係積體驅動器電子裝置(IDE)、高級技術附接裝置(ATA)、串列ATA(SATA)、並行ATA(PATA)、光纖通道及小型電腦系統介面(SCSI)。存在其他驅動器介面且其係此項技術中所習知。應注意,圖1已被簡化以集中研究本發明之實施例。如在此項技術中所習知,可在不背離本發明之範疇之情形下實施額外或不同組件、連接及I/O信號。舉例而言,SSD 100可包括電力調節/分佈電路、用於揮發性記憶體114之一專用控制器等。然而,此等額外組件並非理解本發明所必需。
如圖1中所圖解說明,根據本發明之一項實施例,SSD 100包括一介面102以允許一處理器130(例如,一驅動器控制器)通過通信匯流排132與SSD 100互動。介面102可係彼等熟習此項技術者通常所習知之諸多標準化連接器中之一者。此等介面102連接器之某些實例係IDE、增強型IDE、ATA、SATA及個人電腦記憶體卡國際協會(PCMCIA)連接器。由於本發明之各種實施例可經組態以模擬各種各樣之習用類型HDD,因此在介面102處亦可利用其他磁碟驅動器連接器。
圖1之SSD 100亦包括一主控制器104、若干個記憶體模組1061至106N,及一揮發性記憶體114。由主控制器104執行之功能中之某些功能將管理SSD 100內之作業且通過通信匯流排132與SSD 100外部之裝置(例如處理器130)通信。記憶體模組1061至106N充當SSD 100之大容量儲存媒體。揮發性記憶體114充當用於傳送至SSD 100及自SSD 100傳送之資料之緩衝儲存器。
主控制器104管理SSD 100之各種作業。如所論述,一SSD可用作一標準HDD之一簡易替換元件且存在具有標準介面及通信協定之諸多標準化HDD。因此,主控制器104之諸多功能中之一者係模擬此等標準化HDD協定中之一者之作業。主控制器104之另一功能可係管理安裝於SSD 100中之記憶體模組106之作業。主控制器104可經組態以使用各種各樣之標準通信協定與記憶體模組106通信。舉例而言,在本發明之一項實施例中,主控制器104使用一SATA協定與記憶體模組106互動。其他實施例可利用其他通信協定與記憶體模組106通信。主控制器104亦可執行與記憶體模組有關之額外功能(例如ECC驗證)。可藉由使用硬體或一硬體/軟體組合來實現主控制器104之實施方案。舉例而言,主控制器104可由一狀態機整體地或部分地實施。主控制器104進一步經組態以執行本發明之一種或多種方法。
使用內部通信匯流排112將記憶體模組106耦合至主控制器104。可藉由利用所展示之一共同匯流排112及/或主控制器104與每一記憶體模組106之間的離散連接來實施主控制器104與記憶體模組106之間的通信。
一各別控制器(例如控制電路110)管理每一記憶體模組1061至106N上之非揮發性記憶體裝置116之作業。記憶體裝置116可係快閃記憶體裝置。控制電路110亦可起到轉譯主控制器104所利用之通信協定以與記憶體模組1061至106N通信之作用。舉例而言,在本發明之一項實施例中,主控制器104可能正利用一SATA協定以與記憶體模組1061至106N互動。在此一實施例中,控制電路110經組態以模擬一SATA介面。控制電路110亦可管理其他記憶體功能(例如安全特徵)以調控對儲存於記憶體模組中之資料之存取及平均磨損。
在一項實施例中,在圖2中以簡化形式展示,一固態磁碟200具有控制驅動器200之通道204上之複數個個別記憶體裝置206(例如快閃裝置)之一控制器202。控制器202具有可連接至一處理器(圖中未展示)之一前端連接208(例如SATA、SAS、PCIE或類似物)。該處理器為驅動器200之作業提供指令。在後端210處,控制器202連接至至少一個通道204。在一項實施例中,通道204係延伸至記憶體裝置206之引線。
在一項實施例中,一通道係一引線群組,其中快閃裝置在該引線上與其連接且共用一引線。舉例而言,通常該等快閃裝置係具有4個或8個晶粒之多晶粒封裝。使用一通道將該等裝置(快閃裝置或快閃裝置群組)中之每一者連接至一控制器。在一項實施例中,一單個快閃裝置可連接至一通道,或在另一實施例中多個快閃裝置可共用一通道。在其中每一通道上有一個快閃裝置之一實施例中,該等通道可並行作業,亦即,將每一通道用作一單獨「驅動器」。在將每一通道視為系統中之一單獨驅動器之情形下,可存在連接至一單個控制器之若干個通道。每一通道耦合至其自身之一或多個快閃裝置。
如上文所陳述,可將每一通道視為其自身之驅動器。在彼情形下,該控制器可使用傳統之驅動器冗餘陣列技術(例如獨立磁碟冗餘陣列(redundant array of Inexpensive Disks;RAID)技術)以跨越多個驅動器將資料條帶化以改良資料整體性。舉例而言,在多個通道之情形下存在一並行結構。將彼概念延伸至一更寬廣基礎,可使用若干個控制器,每一控制器連接至多個通道,其中將每一控制器視為其自身之驅動器。將該概念推至一較小規模,可存在連接至每一通道之多個快閃裝置,其中將該等快閃裝置中之每一者視為其自身之驅動器。在此等實施例中,提供多個並行連接之益處可同時承擔一極大規模專案。
在圖2之實施例中,使用若干個並行通道204。亦即,並行配置之複數個通道204已與控制器202相關聯且與其連接。通道204各自具有延伸至對應記憶體裝置206之引線。如上文所論述,通道204可具有與其連接之多於一個記憶體裝置206。可一次在多個通道上執行作業。每一通道具有其自身之一或多個快閃裝置206,且每一通道與其他通道並行操作。此階層允許在驅動器200上進行諸多併發作業。
在另一實施例中,每一通道操作為其自身之驅動器。諸多通道可連接至每一控制器,且每一通道並行運行。此組態允許該控制器使多個驅動器同時保持忙碌。
在另一實施例中,一驅動器可由快閃裝置之任何實體群組組成。其無需係基於通道的。在此實施例中產生一可程式化結構以使得該主機(例如,該主機之一使用者或該主機之OS)可決定如何分割該等快閃裝置。舉例而言,可在該記憶體系統(例如,SSD 200)內產生16個驅動器,其中產生指配給此等驅動器中之每一者之一唯一實體結構。在此一實施例中,藉由使用彼等16個結構(不管其是否對應於16個實體通道),可如本文所闡述而運行該等驅動器。
如上文所論述,藉由將驅動器200中之某些實體位址指配給在驅動器200外部使用之邏輯位址,可改良讀取可變性之一潛在問題,以使得控制器202或外部處理器可控制在驅動器200之各種通道204上之讀取、寫入、抹除及/或維護作業。舉例而言,在另一實施例中,一儲存暫存器(例如一邏輯區塊位址(LBA)表)212用以儲存實體記憶體所使用之實體記憶體位置與主機所使用之邏輯記憶體位置(例如,LBA)之間的邏輯至實體轉譯之細節。舉例而言,該驅動器內對應於邏輯位址之該主機用以識別驅動器中資料之位置(例如,實體位址)之該等實體位址係儲存於LBA表212中。該主機將邏輯位址發送至控制器,該控制器使用LBA表212將該等邏輯位址轉譯成實體位址。
在該驅動器中有多個並行通道之情形下,可基於頻帶寬做出用於寫入至該驅動器之決定。舉例而言,可將該主機(例如,通過一記憶體存取裝置)所發出之寫入命令路由至當前未大量使用之一或多個通道。從事傳送工作之記憶體裝置206越多,該傳送可越快地進行。然而,存在一折衷,因從事傳送工作之裝置越多,資料越成碎片化。可針對該裝置上之多個通道將資料條帶化。LBA表212通常對該控制器或處理器隱瞞對資料位置之選擇。控制器或處理器僅僅提供一邏輯位址,且該裝置本身自該實體系統讀取資料或將資料寫入該實體系統。
在資料係放置於多個位置中且對該控制器及/或處理器隱瞞之情形下,可能需要大量操縱來寫入及檢索資料。隨著資料逐漸變得碎片化,具有足夠大小以正確寫入資料之記憶體區塊可變得不足。此刻,使用資料回收(有時稱作廢料收集)程序來回收記憶體區塊以允許額外寫入至該記憶體。資料以實體方式在該驅動器上移動越頻繁,該驅動器可由於程式抹除循環而磨損更快。
為更有效率地管理資料至該記憶體之寫入,舉例而言,本發明之一個或多項實施例產生該主機通常所使用之邏輯位置與其實體位置通常由該驅動器本身使用之實體記憶體之間的關係。舉例而言,可基於逐通道地管理LBA表212。此允許本發明之此等實施例降低讀取可變性,當針對正被寫入至或抹除之一記憶體位置試圖進行讀取作業時該讀取可變性增加。由於要完成之寫入或抹除作業比讀取作業花費明顯更長之時間,因此對記憶體之正被寫入至或抹除之一部分之一讀取請求可經歷一明顯延遲。若已知一延遲量,一控制器可補償讀取延遲。然而,當一讀取延遲不可預測時,用以補償讀取延遲之過程受到影響。藉由使用該等實施例,該主機可自該LBA表瞭解將哪些邏輯位址指配給實體記憶體之哪些通道。藉由使用該LBA表,該主機可將寫入作業而非併發讀取作業指配給不同通道,從而允許該記憶體裝置之並行性質以一可預測模式工作。
舉例而言,在一項實施例中,將展示哪些邏輯位址映射至裝置200之哪些實體通道之資訊提供給該主機,以使得若於一特定通道上發生一寫入或抹除作業,則可延遲彼通道上之讀取作業直至該寫入/抹除作業完成。此外,僅在正用於除讀取作業以外之作業之彼等通道上執行快閃維護(例如,資料回收)。在不同通道上執行讀取。若一通道僅具有排程於一特定時間或一特定時間塊期間之讀取作業,則將不存在可影響讀取可變性之正在彼特定通道上執行之回收作業或其他快閃維護作業。以此方式,降低讀取可變性。亦即,更接近地瞭解讀取作業時序。
本發明之實施例亦可朝前端及朝後端兩者按比例調整。舉例而言,倘若LBA表212經充分定大小,則額外通道204可連接至控制器202。而且,額外快閃裝置206可耦合至通道204,亦即,多個快閃裝置206可連接至每一通道204,而不是一通道204上有一單個快閃裝置206,且在一項實施例中,每一快閃裝置206可與甚至在同一通道204上之其他快閃裝置206並行操作。由於此多並行結構,本發明之實施例有助於RAID原理之應用,(例如)將一RAID控制器(或其他冗餘陣列控制器)用作控制器202。在此一實施例中,控制器202將每一通道204操作為一驅動器冗餘陣列中之一獨立驅動器。此允許RAID技術之所有優點,例如具有快閃記憶體之速度。
如圖3中所展示,一系列控制器3021
、3022
、…、302N
亦可用作個別驅動器,每一控制器302用作受一主冗餘陣列控制器300控制之一冗餘陣列中之一驅動器。反過來,每一控制器3021
、3022
、…、302N
又可操作為多個通道3041
、3042
、…、304M
及甚至通道上之個別快閃裝置3061
、3062
、…、306K
之一冗餘陣列控制器。以此方式,提供多個層級之並行處理,且冗餘陣列之益處可在該等驅動器之速度及可靠性上提供改良。
跨越各自能夠具有多個通道之多個控制器以及多個驅動器進行比例調整允許跨越多個快閃裝置並行處理。此並行處理(甚至降至作為一通道上之複數個快閃裝置中之一者之個別快閃裝置)允許極精細之資料分裂及較高之通量。尤其當藉由不允許同一通道上之併發讀取及寫入而在控制讀取可變性之界限內操作時,並行快閃裝置相比於一單個裝置允許更有效率地使用每一裝置。通量得以改良,且寫入及讀取變得更快。
在本發明之各種實施例中,將一多通道驅動器中之每一快閃通道建立為作業系統及/或驅動器之一單獨驅動器分割區。該(等)邏輯區塊位址(LBA)表經設立以針對每一通道產生一邏輯至實體關係。此允許一主機應用程式(例如控制一控制器之作業之一主機)控制該多通道驅動器之哪些通道正執行寫入及哪些通道正執行讀取。此防止讀取/寫入衝突且與程式有關聯之讀取可變性與抹除作業衝突。該主機無需管理快閃廢料收集及/或平均磨損。而是,當具體通道不處於一讀取作業模式中時針對彼等通道執行此等任務,如藉由同時指配特定通道進行讀取作業而確定。
本發明之實施例可藉由針對每一快閃通道產生個別驅動器來解決SSD中之讀取可變性。然後該等快閃通道可專用於讀取或寫入。產生LBA表以使得在每一通道與一邏輯位址範圍之間存在一邏輯至實體關係。通過標準分割(例如RAID)程序將此位址範圍通信至OS。在該OS看來,該多通道驅動器係一傳統硬驅動器RAID控制器或多個磁碟驅動器。此允許控制哪些通道正執行讀取作業及哪些正執行寫入或抹除作業之應用。該等讀取作業不被快閃寫入或抹除作業延遲,此造成比在傳統快閃裝置中好得多之一讀取等待時間可變性。
可控制專用於讀取作業之通道數目及專用於寫入作業之通道數目以反映該應用程式所需要之頻帶寬量,且該等數目可隨需要改變而改變。舉例而言,一16通道系統可具有用於寫入作業之4個通道及用於讀取作業之12個通道。一協定(例如PCIe)允許併發讀取及寫入作業,且此提供管理該應用程式之一便利方式。此類型之控制亦可用以建立與多驅動器RAID控制器有關聯之額外RAID特徵,乃因每一單獨通道可被視為其自身之驅動器。
在作業中,本發明之各種實施例工作如下。一冗餘陣列控制器包括一邏輯區塊位址(LBA)表,該邏輯區塊位址(LBA)表含有一固態磁碟中之邏輯位址至實體位址之映射資訊。在一項實施例中,該映射係針對一固態磁碟內之個別通道。在另一實施例中,該映射係針對該固態磁碟內若干通道上之個別快閃裝置。在又一實施例中,存在多個控制器,每一控制器充當一冗餘陣列之一個驅動器,且具有係一冗餘陣列控制器之一主控制器。使用快閃裝置、通道及整個驅動器之此冗餘陣列之概念可按比例調整。
LBA表中之軟體或該驅動器外部之軟體可對該驅動器執行冗餘陣列控制。在此實施例中,每一裝置可具有錯誤校正(例如ECC),因此可校正錯誤。執行此之一個方式係使用該LBA表中之邏輯至實體關係且給主機或冗餘陣列控制器提供對彼資料之存取。
在其中正在一特定通道上執行一寫入或一維護作業之一情形中,讀取可變性提高,亦即,讀取時間變得更不可預測。本發明之各種實施例賦予該主機控制哪些通道具有讀取作業且哪些通道具有寫入作業之機會,乃因該主機通過該LBA表存取瞭解哪些邏輯位址對應於哪些實體通道。因此瞭解通道專用性,且該主機基於正執行寫入或維護作業之已知位址確定將使用哪些通道進行讀取作業。
將該LBA中含有之邏輯及實體位址轉譯之間的關係提供給該主機。舉例而言,可將某一範圍之邏輯位址分配給每一通道,且將該範圍內之任何邏輯位址指配給彼實體通道。
圖4中展示操作一固態磁碟之一方法400。該固態磁碟具有複數個通道,每一通道耦合至至少一個快閃裝置,如上文進一步詳細闡述。方法400包含在區塊402中將該固態磁碟之寫入作業路由至該複數個通道之一第一子組,且在將寫入作業路由至該複數個通道之該第一子組時在區塊404中將該固態磁碟之讀取作業路由至不同於該複數個通道之該第一子組之該複數個通道之一第二子組。此外,在另一實施例中該固態磁碟之作業由一冗餘陣列控制器控制,且因此該等作業受控。
該冗餘陣列控制器可包括(例如)具有該主機所使用之邏輯位址至該固態磁碟所使用之實體位址之映射資訊之一邏輯區塊位址表。在此組態中,該複數個通道中之每一者包含該冗餘陣列中之一個別驅動器。該等通道上之個別快閃裝置亦可操作為一冗餘陣列中之個別驅動器,且受該控制器控制。此外,可使用複數個冗餘陣列控制器,且其可受一主冗餘陣列控制器控制,其中該等冗餘陣列控制器中之每一者操作為受該主冗餘陣列控制器控制之一冗餘陣列中之一個別驅動器。以此方式,實施進一步巢套並行結構(實際上,一冗餘陣列內之若干冗餘陣列)。作為一冗餘陣列控制器或一主冗餘陣列控制器之控制器控制在何處使傳入資料條帶化,亦即,在何處將該資料寫入於該固態磁碟中之該等裝置上。
雖然本文已圖解說明及闡述具體實施例,但熟習此項技術者將瞭解,經計算以達成相同目的之任何配置均可替代所展示之具體實施例。此申請案意欲涵蓋本發明之任何修改或變化形式。因此,本發明明確地意欲僅由申請專利範圍及其等效物限定。
100...固態磁碟(SSD)
102...介面
104...主控制器
1061-106N...記憶體模組
110...控制電路
112...通信匯流排
114...揮發性記憶體
116...非揮發性記憶體裝置
120...電子系統
130...處理器
132...通信匯流排
200...固態磁碟
202...控制器
204...通道
206...記憶體裝置
208...前端連接
210...後端
212...儲存暫存器/LBA表
300...主冗餘陣列控制器
3021
-302N
...控制器
3041
-304M
...通道
3061
-306K
...快閃裝置
圖1係根據本發明之一實施例之一固態磁碟之一方塊圖;
圖2係根據本發明之另一實施例之一固態磁碟之一方塊圖;
圖3係根據本發明之另一實施例之固態磁碟之一RAID陣列之一方塊圖;及
圖4係根據本發明之另一實施例之一方法之一流程圖。
100...固態磁碟(SSD)
102...介面
104...主控制器
1061-106N...記憶體模組
110...控制電路
112...通信匯流排
114...揮發性記憶體
116...非揮發性記憶體裝置
120...電子系統
130...處理器
132...通信匯流排
Claims (22)
- 一種用於操作一記憶體系統之方法,該記憶體系統具有複數個實體結構,該方法包含:在該複數個實體結構之一第一子組上路由該記憶體系統之寫入作業;及在將寫入作業路由至該複數個實體結構之該第一子組時在不同於該複數個實體結構之該第一子組之該複數個實體結構之一第二子組上路由該記憶體系統之讀取作業。
- 如請求項1之方法,其中並行操作該複數個實體結構。
- 如請求項2之方法,其中由一冗餘陣列控制器執行路由寫入作業及路由讀取作業。
- 如請求項3之方法,其中該冗餘陣列控制器包括一表,該表具有關於提供至該冗餘陣列控制器之邏輯記憶體位置與對應於該複數個實體結構之實體記憶體位置之間的一邏輯至實體關係之資訊,邏輯記憶體位置之一各別組對應於每一實體結構。
- 如請求項3之方法,其中使用複數個冗餘陣列控制器,每一控制器操作為一主冗餘陣列中之一個別驅動器。
- 如請求項1之方法,其中基於在該複數個實體結構之該第一子組上可用之頻寬將寫入作業路由至該記憶體系統。
- 如請求項1之方法,其中將該記憶體系統中之該複數個實體結構中之每一者建立為一作業系統之一單獨驅動器 分割區。
- 如請求項1之方法,其中將該記憶體系統中之該複數個實體結構中之每一者建立為該記憶體系統之一驅動器之一單獨驅動器分割區。
- 如請求項1之方法,其中該等實體結構係通道。
- 如請求項9之方法,且其進一步包含:將該記憶體系統之該複數個通道中之每一通道指配給一定範圍之邏輯位址;儲存對應於邏輯位址之該指配之資訊;將對應於該複數個通道中之每一者之該等範圍之邏輯位址提供給一主機;及將該複數個通道操作為一冗餘驅動器陣列中之個別驅動器。
- 如請求項9之方法,且其進一步包含:將該記憶體系統之該複數個個別通道中之每一通道指配為一驅動器陣列中之一個別驅動器;針對該複數個通道中之每一者儲存對應於一定範圍之邏輯位址之資訊,該範圍之邏輯位址對應於一定範圍之實體位址;將該所儲存之資訊提供給一主機;及控制該複數個個別通道。
- 10或11中之任一者之方法,且其進一步包含:使用一冗餘陣列控制器控制該路由,其中該複數個通 道中之每一者包含一冗餘陣列中之一個別驅動器。
- 如請求項11之方法,其中複數個陣列連接至一主陣列,且該方法進一步包含:將該複數個陣列中之每一者操作為一主陣列中之一個別驅動器。
- 一種記憶體系統,其包含:複數個通道,每一通道耦合至至少一個固態裝置;該複數個通道之一第一子組,該第一子組在一特定時間專用於讀取作業;及該複數個通道之一第二子組,該第二子組不同於該第一子組且在該特定時間專用於非讀取作業。
- 如請求項14之記憶體系統,且其進一步包含:一第一冗餘陣列控制器,該第一冗餘陣列控制器連接至該複數個通道,每一通道操作為一驅動器冗餘陣列中之一驅動器;及一邏輯區塊位址(LBA)表,該LBA表含有對應於該複數個通道中之個別通道之實體位址及對應於該等個別通道之邏輯位址之映射資訊。
- 如請求項15之記憶體系統,其中每一通道進一步包含與其連接之複數個快閃裝置,該複數個快閃裝置中之連接至一各別通道之每一快閃裝置在其上並行操作。
- 如請求項16之記憶體系統,其中該第一冗餘陣列控制器係複數個額外冗餘陣列控制器中之一者,每一者彼此並行連接,該複數個額外冗餘陣列控制器中之每一者包 含:複數個通道,每一通道耦合至至少一個固態裝置;及一主陣列控制器,其連接至該複數個額外冗餘陣列控制器,該複數個額外冗餘陣列控制器中之每一者操作為一主陣列中之一個別驅動器。
- 如請求項14之記憶體系統,且其進一步包含:一控制器,其用於控制該複數個通道之作業,該控制器經調適以將該記憶體系統之通道指配給特定作業,該控制器包含:一表,其具有對應於該記憶體系統之實體通道之邏輯位址之映射資訊;及至該複數個通道之複數個通道連接;及至少一個快閃記憶體裝置,該至少一個快閃記憶體裝置中之每一者連接至該記憶體系統之該複數個通道中之一者,且該記憶體系統之每一通道連接至該控制器。
- 如請求項18之記憶體系統,其中該控制器進一步包含一冗餘陣列控制器,且其中該記憶體系統之每一通道操作為一冗餘陣列中之一驅動器。
- 如請求項18之記憶體系統,其中該表進一步包括對應於該至少一個快閃記憶體裝置之邏輯位址之映射資訊;其中該控制器進一步包含一冗餘陣列控制器;且其中該記憶體系統之每一快閃裝置操作為一冗餘陣列中之一驅動器。
- 如請求項18之記憶體系統,其中該記憶體系統之個別固 態裝置之每一通道具有對應於連接至其各別通道之該複數個快閃裝置之多個實體位址之複數個邏輯位址,且其中該控制器係能夠將每一各別通道操作為一冗餘驅動器陣列中之一個別驅動器之一冗餘陣列控制器。
- 如請求項18之記憶體系統,其中該表係一邏輯區塊位址表。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/410,005 US20100250826A1 (en) | 2009-03-24 | 2009-03-24 | Memory systems with a plurality of structures and methods for operating the same |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201104436A TW201104436A (en) | 2011-02-01 |
TWI432965B true TWI432965B (zh) | 2014-04-01 |
Family
ID=42781768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099108715A TWI432965B (zh) | 2009-03-24 | 2010-03-24 | 具有複數個結構之記憶體系統及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100250826A1 (zh) |
TW (1) | TWI432965B (zh) |
WO (1) | WO2010111071A2 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI434175B (zh) * | 2010-09-27 | 2014-04-11 | Silicon Motion Inc | 用來進行區塊管理之方法以及記憶裝置及控制器 |
TWI425357B (zh) * | 2010-09-27 | 2014-02-01 | Silicon Motion Inc | 用來進行區塊管理之方法以及記憶裝置及控制器 |
US9239806B2 (en) * | 2011-03-11 | 2016-01-19 | Micron Technology, Inc. | Systems, devices, memory controllers, and methods for controlling memory |
WO2014077823A2 (en) | 2012-11-15 | 2014-05-22 | Empire Technology Development Llc | A scalable storage system having multiple storage channels |
JP2014194672A (ja) * | 2013-03-28 | 2014-10-09 | Fujitsu Ltd | メモリ制御装置、及びメモリ制御方法 |
US10127166B2 (en) * | 2013-05-21 | 2018-11-13 | Sandisk Technologies Llc | Data storage controller with multiple pipelines |
US9582201B2 (en) | 2014-09-26 | 2017-02-28 | Western Digital Technologies, Inc. | Multi-tier scheme for logical storage management |
KR102417182B1 (ko) | 2015-06-22 | 2022-07-05 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
KR102367982B1 (ko) * | 2015-06-22 | 2022-02-25 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US9449720B1 (en) * | 2015-11-17 | 2016-09-20 | Macronix International Co., Ltd. | Dynamic redundancy repair |
US10474599B1 (en) * | 2017-01-31 | 2019-11-12 | Xilinx, Inc. | Striped direct memory access circuit |
TWI645295B (zh) * | 2017-06-20 | 2018-12-21 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存方法 |
JP6779838B2 (ja) * | 2017-06-28 | 2020-11-04 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11294594B2 (en) * | 2017-08-07 | 2022-04-05 | Kioxia Corporation | SSD architecture supporting low latency operation |
CN107766270B (zh) * | 2017-10-20 | 2020-05-26 | 深圳市风云实业有限公司 | 用于PCIe设备的数据读取管理方法及装置 |
KR102504293B1 (ko) | 2017-11-29 | 2023-02-27 | 삼성전자 주식회사 | 패키지 온 패키지 형태의 반도체 패키지 |
US10884662B2 (en) * | 2018-08-06 | 2021-01-05 | Silicon Motion, Inc. | Method for performing storage control in a storage server, associated memory device and memory controller thereof, and associated storage server |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093059B2 (en) * | 2002-12-31 | 2006-08-15 | Intel Corporation | Read-write switching method for a memory controller |
US7558981B2 (en) * | 2005-10-18 | 2009-07-07 | Dot Hill Systems Corp. | Method and apparatus for mirroring customer data and metadata in paired controllers |
JP4863749B2 (ja) * | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
US7424587B2 (en) * | 2006-05-23 | 2008-09-09 | Dataram, Inc. | Methods for managing data writes and reads to a hybrid solid-state disk drive |
US7930468B2 (en) * | 2006-05-23 | 2011-04-19 | Dataram, Inc. | System for reading and writing on flash memory device having plural microprocessors |
JP4842719B2 (ja) * | 2006-06-28 | 2011-12-21 | 株式会社日立製作所 | ストレージシステム及びそのデータ保護方法 |
US7657572B2 (en) * | 2007-03-06 | 2010-02-02 | Microsoft Corporation | Selectively utilizing a plurality of disparate solid state storage locations |
US20090172335A1 (en) * | 2007-12-31 | 2009-07-02 | Anand Krishnamurthi Kulkarni | Flash devices with raid |
US20100049914A1 (en) * | 2008-08-20 | 2010-02-25 | Goodwin Paul M | RAID Enhanced solid state drive |
-
2009
- 2009-03-24 US US12/410,005 patent/US20100250826A1/en not_active Abandoned
-
2010
- 2010-03-16 WO PCT/US2010/027499 patent/WO2010111071A2/en active Application Filing
- 2010-03-24 TW TW099108715A patent/TWI432965B/zh active
Also Published As
Publication number | Publication date |
---|---|
WO2010111071A3 (en) | 2011-01-13 |
US20100250826A1 (en) | 2010-09-30 |
WO2010111071A2 (en) | 2010-09-30 |
TW201104436A (en) | 2011-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI432965B (zh) | 具有複數個結構之記憶體系統及其操作方法 | |
JP6163532B2 (ja) | メモリシステムコントローラを含む装置 | |
KR102569783B1 (ko) | 비순차적 구역 네임스페이스들 | |
JP5759623B2 (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
KR102533207B1 (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
JP5263561B2 (ja) | ソリッドステート大容量記憶装置のためのデータストリーミング | |
JP5649742B2 (ja) | トランザクションログの復元 | |
CN114730248A (zh) | 对分区转变为开放的速率限制 | |
JP2017079050A (ja) | 保護されたデータとは別個のパリティデータの記憶 | |
US8489805B2 (en) | Memory devices operated within a communication protocol standard timeout requirement | |
TW201732597A (zh) | 資料儲存裝置和其操作方法 | |
EP3506117B1 (en) | Stream classification based on logical regions | |
JP2009048613A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
JP2012519899A (ja) | メモリブロックの選択 | |
WO2021216129A1 (en) | Storage devices hiding parity swapping behavior | |
KR20100100394A (ko) | 반도체 디스크 장치 그리고 그것의 데이터 기록 및 읽기 방법 | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
US20220229722A1 (en) | Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives | |
KR102656959B1 (ko) | 존 구획 네임스페이스를 갖는 호스트 관리 하드웨어 압축 | |
EP3926451A1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
CN114730290A (zh) | 将变化日志表移动至与分区对准 | |
KR101515621B1 (ko) | 반도체 디스크 장치 및 그것의 랜덤 데이터 처리 방법 | |
KR20220103340A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR102425470B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11853565B2 (en) | Support higher number of active zones in ZNS SSD |