TWI506638B - 用於非揮發性半導體記憶體之介面管理控制系統及方法 - Google Patents

用於非揮發性半導體記憶體之介面管理控制系統及方法 Download PDF

Info

Publication number
TWI506638B
TWI506638B TW100123864A TW100123864A TWI506638B TW I506638 B TWI506638 B TW I506638B TW 100123864 A TW100123864 A TW 100123864A TW 100123864 A TW100123864 A TW 100123864A TW I506638 B TWI506638 B TW I506638B
Authority
TW
Taiwan
Prior art keywords
data
descriptor
management module
descriptors
nvsm
Prior art date
Application number
TW100123864A
Other languages
English (en)
Other versions
TW201209836A (en
Inventor
Chi-Kong Lee
Siu-Hung Fred Au
Jungil Park
Hyunsuk Shin
Original Assignee
Marvell World Trade Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Marvell World Trade Ltd filed Critical Marvell World Trade Ltd
Publication of TW201209836A publication Critical patent/TW201209836A/zh
Application granted granted Critical
Publication of TWI506638B publication Critical patent/TWI506638B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

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

用於非揮發性半導體記憶體之介面管理控制系統及方法
本發明涉及一種非揮發性半導體記憶體存取系統,尤其涉及非揮發性半導體記憶體的資料轉移控制系統。
此文所提供的背景技術說明是以對本發明的內容作一般性說明為目的。發明人的某些工作,即已在此背景技術部分中作出描述的工作,以及說明書中未成為在申請日時當作習用技術之內容的特點,既不是明確的也不是隱含的被認為是本發明的習用技術。
非揮發性半導體記憶體(NVSM)驅動器(如快閃記憶體驅動器)包括NVSM,且基於資料頁大小而操作。例如,自NVSM轉移的及轉移至NVSM的資料被分為多個資料集。每個資料集具有等於一個或多個資料頁長度的長度。例如,資料頁可具有8千位元組(KB)的長度。
例如,NVSM驅動器可包括一NVSM介面、一緩衝管理模組、一錯誤校正碼(ECC)模組、一介面管理模組以及一NVSM。NVSM介面可與主機通信。資料是在NVSM介面和主機之間轉移。緩衝管理模組在資料被儲存在NVSM內之前,自主機接收資料,並在資料被轉移至主機之前,自NVSM接收資料。ECC模組編碼將提供至NVSM的資料編碼,並將自NVSM接收的資料解碼。介面管理模組控制在ECC模組和NVSM之間的資料轉移。
NVSM控制模組產生描述符,以回應存取來自主機所接收的請求信號。例如,該等描述符可表示是否即將執行讀取操作或編程(如寫入)操作、將被轉移的資料量、以及在NVSM中存取的位址。ECC模組和介面管理模組係基於描述符而運作。
介面控制模組經由多個通道(比如每NVSM晶片有8個通道)而與NVSM通信,並且包括用於每個通道的先進先出(FIFO)暫存器。在讀取和編程操作期間,FIFO暫存器被相繼存取。每個FIFO暫存器的大小等於一個或多個資料頁的大小。
於編程操作期間,在資料被儲存在NVSM之前,ECC模組將頁格式的資料轉移至介面控制模組。ECC模組可將一個或多個資料頁(M頁)轉移至每個FIFO暫存器,其中M為大於或等於1的整數。ECC模組轉移至每個FIFO暫存器的頁數係取決賴於NVSM驅動器的頁格式。針對被轉移的每組M頁,產生單一描述符。
例如,如果ECC模組操作在具有單頁格式的NVSM驅動器中,1資料頁被轉移至每個FIFO暫存器。在該實例中,每個FIFO暫存器的大小等於1資料頁的大小。如果ECC模組是操作在具有雙頁格式的NVSM驅動器中,則2資料頁被轉移至每個FIFO暫存器,並且每個FIFO暫存器的大小等於2資料頁的大小。在轉移資料至下一個(或隨後)FIFO暫存器之前,M資料頁被轉移至目前的FIFO暫存器。對於讀取操作,上述資料轉移是反向進行。
因為資料未被轉移至下一個FIFO暫存器直至目前的FIFO暫存器接收M資料頁,所以會產生資料轉移延遲。這些延遲可經歷一個或多個FIFO暫存器,並能增加更高階頁格式。頁格式的階數是指在單一資料轉移事件期間所轉移的頁數。資料轉移事件是指轉移資料至NVSM的其中一通道或自NVSM的其中一通道轉移資料。例如,在具有2頁格式的NVSM驅動器中,如果因ECC模組和第一通道之間的速度差而在第一FIFIO暫存器出現“瓶頸”,則延遲可出現在第一FIFO暫存器和所有隨後的FIFO暫存器。既然兩個資料頁被轉移至單一FIFO暫存器,所以當第一資料頁被延遲時,第二資料頁也被延遲。而且,轉移第二資料頁至第一FIFO暫存器的延遲會延遲至第一FIFO暫存器後之FIFO暫存器的資料轉移。
提供一種控制系統,其包括一控制模組,配置以基於每個資料轉移事件的至少兩個描述符,控制一介面管理模組和一非揮發性半導體記憶體之間的資料區塊的資料轉移事件。準備該非揮發性半導體記憶體用於該資料轉移事件的一讀取事件或一編程事件。該介面管理模組和該非揮發性半導體記憶體配置以在固態記憶體驅動器內操作。一命令管理模組配置以基於至少兩個描述產生一參數信號。該介面管理模組配置以基於該參數信號產生指令信號,並將該等指令信號傳輸至該非揮發性半導體記憶體,以執行讀取事件或編程事件。
在其他特點上,每個資料轉移事件包括轉移資料頁。該資料頁的大小等於至少兩個資料區塊的大小。基於至少兩個描述符的其中各自之一,該等至少兩個資料區塊被轉移。
在其他特點上,每個資料轉移事件包括轉移資料頁。另一方面,該介面管理模組配置以為每個資料轉移事件產生觸發指令集,用以啟動資料區塊的轉移。
又一方面,至少兩個描述符的數量等於每個資料轉移事件產生的觸發指令集的數量。另一方面,該介面管理模組配置以在每個資料轉移事件準備期之前,產生觸發指令集。在準備期之後,該介面管理模組配置以產生讀取指令集或編程指令集。每個資料轉移事件包括該等觸發指令集的至少其中之一以及該等讀取指令集或編程指令集的至少其中之一。
另一方面,至少兩個描述符的每一個顯示分配區塊大小、非揮發性半導體記憶體的位址、以及該等資料轉移事件是否為讀取、編程或抹除事件。
再一方面,該參數信號的位元顯示轉移資料量、非揮發性半導體記憶體的位址以及該等資料轉移事件是否為讀取、編程或抹除事件。
又一方面,該參數信號為第一參數信號。該命令管理模組配置以基於至少兩個描述符,產生一第二參數信號。一錯誤校正碼模組配置以基於該第二參數信號,將資料區塊轉移至介面管理模組及自介面管理模組轉移。
另一方面,該介面管理模組包含多個先進先出暫存器。該錯誤校正碼模組配置以將資料區塊傳播至該等先進先出暫存器。每個先進先出暫存器的大小小於資料頁的大小。
再一方面,提供一種固態記憶體驅動器,其包括控制系統、一緩衝管理模組以及一錯誤校正碼模組。該緩衝管理模組配置以自與固態記憶體驅動器通信的主機接收主機資料區段,基於該等主機資料區段產生第一驅動器資料區段,接收第二驅動器資料區段,並將主機資料區段傳輸至主機。該錯誤校正碼模組配置以將第一驅動器資料區段從緩衝管理模組轉移至介面管理模組,並將第二驅動器資料區段從介面管理模組轉移至緩衝管理模組。
本發明的進一步可應用領域將從詳細說明、申請專利範圍和所附圖式而變得顯而易見。詳細說明及具體實例只是為說明的目的而已,並非用以限定本發明的範圍。
以下說明僅是性質說明且決非意圖限制本發明、其應用或使用。為了清楚起見,附圖中將使用相同的元件符號代表類似的元件。如同在此所使用的,A、B和C的至少其中之一的用語應被解釋為是指使用非排他性邏輯或(OR)的邏輯(A或B或C)。應理解的是,在不改變本發明的精神內可以不同順序執行方法內的步驟。
如在此所使用的,術語模組可部分指或包括特殊應用積體電路(ASIC);電子電路;組合邏輯電路;現場可編程閘陣列(FPGA);執行程式碼的處理器(共用,專用或群組);其他提供所述功能的合適元件;或一些或所有上述的結合,如系統晶片。術語模組可包括儲存處理器所執行之程式碼的記憶體(共用,專用或群組)。
如上所用,術語編碼可包括軟體、韌體及/或微程式碼,並可指程式、常式、函數,級別及/或物件。如上所用,術語共用是指可利用單一(共用)處理器執行來自多模組的一些或所有編碼。此外,自多模組的一些或所有編碼可由單一(共用)記憶體來儲存。如上述所用,術語群組是指可利用一群組的處理器組執行來自單一模組的一些或所有編碼。此外,自單一模組的一些或所有編碼可利用記憶體組來儲存。
此處描述的裝置和方法可由一個或多個處理器執行的一個或多個電腦程式來實施。該等電腦程式包括在永久可觸摸電腦可讀媒介上儲存的電腦可執行指令。電腦程式還可包括儲存的資料。永久可觸摸電腦可讀媒介的非限制實例為非揮發記憶體、磁記憶體和光記憶體。
儘管術語第一、第二、第三等在此可用於描述各種元件、元件、通道、模組及/或裝置,但是該等元件、元件、通道、模組及/或裝置不應受該等術語所限。該等術語僅用於區分一元件、元件、通道、模組及/或裝置和另一元件、元件、通道、模組及/或裝置。此處使用的術語如“第一”、“第二”和其他數字術語並不表示次序或順序,除非本發明明確說明。因此,在不脫離實例實施例的指導下,以下討論的第一元件、元件、通道、模組及/或裝置可稱為第二元件、元件、通道、模組及/或裝置。
在以下描述中,術語“非揮發性半導體記憶體(NVSM)”可指相變記憶體(PCM)、電可抹除可編程唯讀記憶體(EEPROM)、唯讀記憶體(ROM)及/或隨機存取記憶體(RAM)。一些EEPROM的實例為NAND快閃記憶體和NOR快閃記憶體。
又,在以下描述中術語“主機”指的是轉移資料至NVSM驅動器及/或自NVSM驅動器存取資料的裝置。NVSM驅動器可為快閃記憶體驅動器、通用串列匯流排(USB)驅動器、固態記憶體驅動器等。
如一些實例,主機可指的是電腦、攝影機、手提裝置、可攜式裝置、手機、印表機、個人資料助理、電子記事本、電視、顯示器、電器、監控系統等。電腦實例為桌上型電腦、筆記本電腦、電子記事本等。電器的實例為洗衣機、吹風機、冰箱等。NVSM驅動器包括NVSM且不包括旋轉磁儲存媒介,如硬碟驅動盤。監控系統的實例包括防盜監控器、煙霧檢測系統、嬰兒監控器等。
此外,本發明公開了各種系統元件,如模組、網路裝置和電路元件。公開了系統元件排列的實例且該等實例包括相鄰元件及不相鄰元件。該等相鄰元件顯示為相互直接連接。不相鄰元件顯示為相互間接連接。
因為存在本發明的多個實施,該等排列並未明確顯示所有實施。例如,所示相鄰和不相鄰元件,如第1圖、第2圖、第7圖、第14圖和第15圖相互直接或間接連接。相鄰及不相鄰元件可相互無線通信及/或可經由有線鏈路相互通信。無線通信可包括藍牙裝置及/或滿足,例如,IEEE標準802.11,802.11a,802.11b,802.11g,802.11h,802.11n,802.16和802.20。
在第1圖中,顯示了非揮發性半導體記憶體(NVSM)儲存系統10。NVSM儲存系統10包括主機12(或主機端)以及NVSM驅動器14(或NVSM端)。主機12包括主機控制模組16和主機介面18。NVSM驅動器14經由NVSM驅動介面20與主機12通信。NVSM驅動器14包括NVSM驅動介面20、接收路徑22、傳輸路徑24、介面管理控制系統26和NVSM28。NVSM驅動介面20與主機介面18通信。接收和傳輸路徑22、24在NVSM驅動介面20和NVSM28之間轉移資料。介面管理控制系統26包括NVSM控制模組27。NVSM控制模組27控制資料轉移至NVSM 28及自NVSM28轉移。
介面管理控制系統26基於資料的分配區塊(或分配單元(Aus))預定、選擇及/或確定的大小而操作。這與傳統NVSM驅動器不同,傳統NVSM驅動器基於單一固定區塊大小而操作。在傳統NVSM中,單一區塊大小等於資料頁的大小。
在本發明中,資料的分配區塊指的是由NVSM驅動器14設定的資料量(大小邊界)並用於在裝置及/或NVSM驅動器14的模組之間轉移資料。至且自NVSM 28的每個資料轉移事件包括一個或多個資料的分配區塊。資料轉移事件可為編程事件或讀取事件。分配區塊的大小可相同或不同:對於不同讀取事件;對於不同編程事件;及/或讀取事件和編程事件之間。分配區塊的大小可由NVSM控制模組27確定、設定及/或調整。以下進一步描述分配區塊、分配區塊大小和分配區塊的轉移。
主機控制模組16經由主機介面18傳輸並接收主機資料至NVSM驅動器14及自NVSM驅動器14接收。這可包括讀取,寫入(或編程)及抹除存取事件。基於自NVSM驅動器14接收的資料物件及/或請求主資料區段(HDS),主機12可產生HDS。HDS可為最小長度的資料元,其自主機12傳輸至NVSM驅動器14。HDS在介面18、20的各自埠之間傳輸。例如,介面18、20可為串列高級技術附件(SATA)介面,小型電腦系統介面(SCSI),串列SCSI(SAS),光線通道介面,通用串列匯流排(USB)介面等。
主機控制模組16還可產生存取請求信號30,如資料編程信號、資料讀取信號、資料抹除信號等。該等存取請求信號30可經由NVSM驅動介面20由NVSM控制模組27及/或NVSM驅動器14的其他模組所接收。基於存取請求信號30,NVSM控制模組27控制存取NVSM 28。NVSM驅動器14經由NVSM驅動介面20接收HDS。基於存取請求信號30,NVSM控制模組27可存取及/或請求來自NVSM 28的驅動資料區段(DDS)。
接收路徑22包括壓縮模組40、加密模組42、緩衝管理模組44、驅動資料區段(DDS)產生模組46、錯誤校正碼(ECC)模組48、介面管理模組50和NVSM 28。傳輸路徑24包括NVSM 28、介面管理模組50、ECC模組48、HDS產生模組52、緩衝管理模組44、解密模組54和解壓縮模組56。緩衝管理模組44和DDS及HDS產生模組46、52可聯合形成一單一模組。介面管理控制系統26包括NVSM控制模組27、命令管理模組60、ECC模組48和介面管理模組50。NVSM驅動器14的模組可稱為NVSM儲存系統。
NVSM驅動器介面20可自主機介面18接收單一資料流程或多個同時並行資料流程。該等資料流程可被轉移至壓縮模組40。當主機和NVSM介面18、20為如SAS介面時,多同時並行資料流程可被接收。
在可能的情況下且在由緩衝管理模組44接收之前,壓縮模組40壓縮自主機介面18接收的HDS。對與自主機介面18接收的HDS相同長度的HDS執行壓縮。壓縮模組40可使用有損及/或無損壓縮方法。在壓縮和解壓縮之後有損壓縮和無損解壓縮提供接近但不同於原始資料的資料。無損壓縮和解壓縮在壓縮和解壓縮後提供與原始相同資料的重組。無損資料壓縮包括檢測重定模式及去除冗餘。
在可能的情況下壓縮模組40壓縮自主機12接收的主資料區段(HDS)。當接收時該等HDS可為未壓縮、部分壓縮及/或全壓縮。HDS可為自主機12傳輸至NVSM驅動器14的最小長度資料元。某些HDS可能不被壓縮,例如,當使用無損壓縮且對應資料模式不包括冗餘時。
加密模組42加密壓縮的HDS。加密模組42加密自壓縮模組40接收的資料。加密可包括一個或多個公鑰及私鑰。加密還可包括一個或多個具體至NVSM驅動14或NVSM驅動器14的元件的鑰,如具體至NVSM控制模組27及/或NVSM 28的鑰。
緩衝管理模組44將HDS儲存在緩衝器70中並推動HDS前進至DDS產生模組46。緩衝器70可包括揮發性記憶體,如RAM、動態RAM(DRAM)及/或靜態RAM(SRAM)。在儲存在NVSM 28之前,緩衝管理模組44可收集並儲存一個或多個HDS。
緩衝管理模組44可:在可能的情況下將來自加密模組42的接收的DDS轉換為HDS;自緩衝管理模組44元件下游(緩衝管理模組44和NVSM 28之間)接收HDS;及/或轉移HDS至解壓縮模組56。每個DDS可大於或等於HDS的大小。解壓縮的HDS被傳輸至主機12。緩衝管理模組44可以預定順序結合並儲存壓縮的及/或加密的HDS而不管接收HDS的順序。
例如,HDS可以數字順序接收或可以不同的順序接收。按數字或預定順序相繼接收的HDS可儲存在不同的HDS暫存器72中以允許HDS的重排。因此,HDS暫存器72可用於為各個DDS提供HDS集74(顯示了HDS暫存器1-N和HDS集1-N)。隨著填充HDS暫存器及/或滿足預定DDS長度限制,HDS集可自緩衝管理模組44釋放並通過DDS產生模組46。滿足預定DDS長度限制,例如,當無更多HDS可及/或將要與當前DDS的其他HDS結合時。
基於HDS暫存器72內結合及/或儲存的HDS且基於HDS和DDS資訊,DDS產生模組46產生DDS。在儲存在NVSM 28中之前,DDS產生模組46將HDS轉換為DDS。HDS和DDS資訊可自緩衝管理模組44接收。HDS和DDS資訊可包括HDS資訊位元和DDS資訊,如DDS長度、DDS位插槽可用性等。
DDS產生模組46可產生每個DDS以具有相同的位長度。滋擾資料指的是被添加至一個或多個HDS從而產生的DDS為預定位元長度的資料。壓縮的HDS可具有不同的位長度。不同滋擾資料被添加至結合壓縮的HDS以產生等長的DDS。藉由添加滋擾資料,NVSM控制模組27阻止HDS在兩個DDS之間分裂。使用兩個或多個其他HDS代替HDS的儲存部分,附上滋擾資料。滋擾資料可包括如所有0,所有1,零狀態及/或多餘資料以最小化NVSM控制模組27的編程及/或處理。
ECC模組48和介面管理模組50可基於來自命令管理模組60的參數信號而操作。基於自NVSM控制模組27接收的指令及/或工作描述符84(統稱為描述符),命令管理模組60產生第一參數信號80和第二參數信號82。
在資料轉移事件期間,NVSM控制模組27或NVSM驅動器14的其他模組的其中之一接收存取請求信號30。NVSM控制模組27包括或存取第一非揮發性記憶體90。第一非揮發性記憶體90儲存由NVSM控制模組27執行的韌體92。在執行韌體92中,基於存取請求信號30,NVSM控制模組27產生描述符84。描述符84被儲存在第二非揮發性記憶體94中。第二非揮發性記憶體94可為命令管理模組60的一部分或分離於命令管理模組60,如圖所示。第二非揮發性記憶體94可儲存描述符84和參數資訊96用於解釋自NVSM控制模組27接收的描述符84以確定參數並產生參數信號80、82,如下所述。
在產生描述符84中,NVSM控制模組27可確定:基於存取請求信號的資料的分配區塊的大小,有關其他參數的資料的區塊大小的列表,使用應用等。資料的分配區塊的大小可稱為分配單元(AU)大小或分配區塊大小。使用應用可表示如主機的類型,NVSM驅動器的類型以及主機和NVSM驅動器的速度。NVSM控制模組27產生描述符84以表示分配區塊大小。每個描述符84包括:分配區塊大小;緩衝暫存器位置;NVSM地址;NVSM通道識別字(ID);NVSM裝置識別字(如記憶體晶片ID);資料格式;轉移資料量;操作位的類型(如讀取,編程及/或抹除位)等。
每個分配區塊大小可基於頁面,基於子頁面或基於非頁面。當分配區塊大小等於一個或多個資料頁的大小時,分配區塊大小為基於頁面。如單一資料頁可等於8千位元組(KB)。其他實例頁面大小為4KB、16KB和32KB。當資料的兩個或多個分配區塊的大小等於1資料頁的大小時,分配區塊大小為基於子頁面。當分配區塊大小不是1頁的整數倍且該分配區塊大小的整數倍不等於1資料頁的大小時,分配區塊大小是基於非頁面。
資料的分配區塊可被轉移至NVSM 28的通道100及自NVSM 28的通道100轉移。資料的一個或多個分配區塊(“資料區塊”)的轉移可稱為資料轉移事件。例如,資料轉移事件也可發生在與通道串聯及/或通信的裝置之間。實例裝置及/或模組之間的實例資料轉移事件顯示於第7圖、第14圖和第15圖中。
基於描述符84,命令管理模組60可確定:分配區塊大小,ECC校正功率(每資料區塊校正位元錯誤數);緩衝暫存器位置;NVSM地址;資料格式;轉移資料量;獨立磁片冗餘陣列(RAID)操作;讀取,編程及/或抹除位等。命令管理模組60執行描述符84及/或基於描述符84產生第一和第二參數信號80、82。
第一參數信號80可包括:ECC校正功率位;緩衝暫存器位置位;NVSM地址位;資料格式位元;轉移資料量位元;轉移資料區塊量位;獨立磁片冗餘陣列(RAID)操作位;讀取,編程及/或抹除位等。第二參數信號82可包括:NVSM地址位;分配區塊大小位;轉移資料區塊量位;讀取,編程及/或抹除位等。
ECC模組48執行錯誤校正並編碼和解碼自NVSM 28接收的DDS和資料。基於第一參數信號80,ECC模組48轉移DDS並自介面管理模組50接收DDS。基於第二參數信號82,介面管理模組50存取NVSM 28。介面管理模組50將指令信號102傳輸至NVSM 28以控制存取NVSM 28。基於及/或根據指令信號102,NVSM 28將資料信號傳輸至介面管理模組50及/或自介面管理模組50經由通道100接收資料信號。例如,指令信號102可包括迴圈型信號CT,時序選通信號DQx和狀態暫存器位元信號SR[6],該等實例顯示在第4圖至第6圖以及第8圖至第13圖中。
可連接ECC模組48及/或其他ECC模組:在壓縮模組40和加密模組42之間以編碼壓縮的HDS;在加密模組42和緩衝管理模組44之間以編碼加密的HDS;在緩衝管理模組44和DDS產生模組46之間;及/或如圖所示在DDS產生模組46和NVSM 28之間。然後DDS被儲存在NVSM 28中。
當寫資料至NVSM 28且自NVSM 28讀取資料時,ECC模組48可使用一個或多個ECC方法阻止錯誤。可產生校檢位並在校檢位元被儲存在NVSM 28中之前被添加至DDS及/或校檢位元可與DDS分開儲存在NVSM 28中。
介面管理模組50可將DDS儲存在實體區塊位址(PBA)處NVSM 28中。當存取NVSM 28中DDS的儲存位置時,DDS的PBA可被儲存在一個或多個位置上並通過介面管理模組50獲得。例如,PBA可被儲存在第一非揮發性記憶體90中及/或NVSM 28中。第一非揮發性記憶體90或NVSM 28可儲存PBA的映射表104,其可基於分配區塊大小。例如,與分配區塊相關的PBA可在映射表104中被識別。這與基於資料頁大小儲存PBA不同。基於或獨立於資料頁的大小,可設定分配區塊大小。由於韌體92基於分配區塊大小儲存PBA,分配區塊大小變化不需要韌體指令變化,而是簡化分配區塊大小設定調節。映射表104可聯繫邏輯區塊位址(LBA)和PBA。通過接收和傳輸路徑22、24中任意模組可存取映射表104。
在DDS發送至ECC模組48之前,介面管理模組50可存取NVSM 28中的DDS。基於存取指令信號及/或與DDS相關的奇偶校檢資訊,ECC模組48可解碼從NVSM 28存取的DDS。存取指令信號通過NVSM控制模組27及/或命令管理模組60產生並包括第一參數信號80。存取指令信號可包括一個或多個PBA。該等存取指令信號可通過NVSM控制模組27產生並基於LBA及/或自主機12接收的存取請求信號。基於如自緩衝管理模組44接收的資料請求信號,HDS產生模組152存取或自ECC模組48接收DDS。
HDS產生模組52及/或緩衝管理模組44將接收的DDS分成HDS。基於自ECC模組48接收的解密DDS,HDS產生模組52產生一個或多個HDS。基於HDS識別資訊及/或資料請求信號,HDS產生模組52產生HDS。資料請求信號包括一個或多個LBA。解密模組54解密來自ECC模組48的解碼DDS。由加密模組42使用的鑰匙可被共用,存取及/或通過解密模組54產生。
儘管以特定順序顯示接收及傳輸路徑22、24的模組,但是該等可以不同順序排列。例如,加密模組42可位於壓縮模組40的上游。換句話說,加密模組42可連接在NVSM驅動介面20和壓縮模組40之間。作為另一個例子,解密模組54可連接在NVSM驅動介面20和解壓縮模組56之間。以下第2圖至第11圖說明NVSM儲存系統10實施的其他實例。
現在參見第2圖,介面管理控制系統26的部分120顯示包括ECC模組48、介面管理模組50和NVSM 28。ECC模組48包括編碼器122和解碼器124。編碼器122編碼DDS並將編碼的DDS以資料的分配區塊的形式發送至介面管理模組50。編碼器122可結合整數倍DDS以形成資料的分配區塊。解碼器124解碼來自介面管理模組50的資料的分配區塊以產生DDS。
例如,介面管理模組50包括第一系列FIFO暫存器126和第二系列FIFO暫存器128。第一系列FIFO暫存器126與編程事件有關並用於緩衝自ECC模組48轉移至NVSM 28的資料。第二系列FIFO暫存器128與讀取事件有關並用於緩衝自NVSM 28轉移至ECC模組48的資料。儘管對於每個編碼器122和解碼器124顯示了FIFO暫存器系列,但是介面管理模組50可包括單一系列FIFO暫存器,該單一系列FIFO暫存器可被解碼器122和解碼器124共用。例如,第一和第二FIFO暫存器126、128可包括SRAM或其他合適的記憶體裝置。
每個FIFO暫存器126、128的大小可大於或等於由NVSM控制模組27設定的分配區塊大小。每個FIFO暫存器126、128的大小可大於、等於或小於資料頁的大小,分配區塊大小可大於、等於或小於資料頁的大小。第7圖顯示了大小等於資料頁大小的FIFO暫存器的實例。第14圖顯示了大小小於資料頁大小的FIFO暫存器的實例。
介面管理模組50通過通道1001 -100N 與NVSM 28通信。每個FIFO暫存器126、128與各自通道1001 -100N 相聯繫。在資料被儲存在NVSM 28之前及/或資料被轉移至緩衝管理模組44(如第1圖所示)之前,FIFO暫存器126、128暫時儲存資料。對於每個通道1001- 100N ,NVSM 28可包括緩衝器130。FIFO暫存器126、128及/或緩衝器130可用于平衡編碼器122和NVSM 28/之間及/或解碼器124和NVSM 28之間的不同帶寬(或速度)。
ECC模組48的帶寬可不同於NVSM 28的帶寬。編碼器122和解碼器124的速度可快於每個通道1001 -100N 的速度。例如,每個編碼器122和解碼器124的速度可比每個通道1001 -100N 的速度快8-16倍。例如,速度差可在一個或多個通道1001 -100N 中產生資料流程“瓶頸”或延遲,這可能是由於介面管理模組50和NVSM 28的操作。FIFO暫存器126、128和緩衝器130幫助平衡速度差。編碼器122的速度可設定在最大操作速度維持通道1001 -100N 的操作。解碼器124的速度可設定以阻止第二組FIFO暫存器128的填充並在最大操作速度保持通道1001 -100N 的輸出。
在以下第3圖至第6圖和第8圖至第13圖中,顯示了多個時序圖。時序圖包括多個指令信號,其可自第1圖的介面管理模組50傳輸至NVSM 28。指令信號102包括迴圈型信號CT、時序選通信號DQx和狀態暫存器位元信號SR[6]。迴圈型信號CT識別時序選通信號DQx中提供的指令的類型。時序選通信號DQx包括如由迴圈型信號CT識別的命令指令CMD、NVSM位址指令ADDR、讀取指令DOUT、編程指令DIN。時序選通信號DQx識別命令、位址和被讀取或編程的資料。命令的實例為讀取命令的開始(如00h、06h),讀取命令的結束(如30h、32h、EOh),編程命令的開始(如80h)以及編程命令的結束(如10h)。位址的實例為列位址(如C1、C2)和行地址(如R1、R2、R3)。
狀態暫存器位元信號SR[6]顯示迴圈型信號CT和時序閃控信號DQx的指令集之間的等待時間。指令集可為開始(或啟動)指令集、讀取指令集或編程指令集。啟動指令集用於發信號至NVSM 28;即將執行讀取操作或編程操作;轉移資料量及/或分配區塊的數量;分配區塊的地址等。讀取指令集指的是當資料自NVSM 28轉移(或負載)至介面管理模組50或ECC模組48時。編程指令集指的是當資料自介面管理模組50或ECC模組48轉移至NVSM 28時。
等待期包括觸發準備期tWB、讀取準備期tR、就緒讀取期tRR、觸發負載期tADL、編程準備期tPROG、平面繁忙期tPBSY、改變列設置期tCCS等。在讀取準備期tR和編程準備期tPROG期間,NVSM 28準備資料轉移事件。每個資料轉移事件具有一單一讀取準備期或一單一編程準備期。
又,在以下第3圖至第6圖和第8圖至第13圖中,顯示了多個指令集。該等指令集被提供作為迴圈型和時序選通信號CT、DQx的一部分。每個指令集包括由一個或多個上述等待期分離的指令組。該等指令顯示為六角形區塊。每個指令集可包括任何數量的指令。
又,在以下第3圖至第6圖和第8圖至第13圖中,多個描述符被識別。描述符的箭頭不一定指描述符的時序。提供該等描述符的箭頭以識別基於每個描述符而產生的指令。對於每個描述符,產生一個或多個指令集。例如,在第5圖中多個頁描述符1-3 顯示有各自箭頭和對應指令。頁描述符1-3 可通過NVSM控制模組27產生並在產生第5圖所示的指令之前被傳輸至命令管理模組60。
第3圖至第6圖和第8圖至第13圖的描述符可為頁描述符或分配區塊描述符。頁描述符指的是用於觸發及/或轉移一個或多個資料頁的描述符。分配區塊描述符指的是用於觸發及/或轉移一個或多個資料的分配區塊的描述符。該等頁描述符和分配區塊描述符可為觸發描述符、讀取描述符或編程描述符。觸發描述符可用於初始化資料轉移事件(讀取或編程事件)。例如,觸發描述符可識別命令類型(讀取或編程)、NVSM 28及/或緩衝管理模組44內的目標位址、以及轉移資料多少(如頁數及/或分配區塊數)。
讀取描述符用於讀取來自NVSM 28的資料。編程描述符用於編程資料至NVSM 28。例如,讀取描述符和編程描述符可識別轉移資料多少以及資料頁內資料的位置。一描述符可同時為觸發描述符和讀取描述符。見,例如,第8圖的第一描述符(AU Descriptor1 )。一描述符或是同時為觸發描述符和編程描述符。見,例如,第11圖的第一描述符(AU Descriptor1 )。
現在參見第1圖和第3圖,顯示了說明頁面轉移的單頁讀取事件的時序圖。該時序圖包括基於具有箭頭的單頁描述符148所產生的指令信號CT(145)、DQx(146)和SR[6](147)。指令信號145-147為指令信號102的實例。如圖所示,每個迴圈型和時序選通信號145、146包括兩個指令集150、152。第一指令集150為觸發指令集。第二指令集152為讀取指令集。每個指令集150、152包括指令(顯示為六角形區塊)。
頁描述符可由NVSM控制模組27產生。基於頁描述符,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,介面管理模組50產生指令信號145、146和147。在讀取準備期tR期間,基於指令信號的第一指令集,NVSM 28準備資料轉移事件。
在讀取準備期tR之後,基於指令信號145、146和147,NVSM 28經由通道100的其中之一將資料頁轉移至介面管理模組30。該讀取事件轉移的資料量(或資料區塊的大小)可等於1資料頁的大小。或者,轉移的資料庫的大小可小於1資料頁。轉移的資料量可等於資料的分配區塊的大小。分配區塊的大小可設定為如上所述。當轉移資料的分配區塊時,分配區塊描述符可用作頁描述符148的替代。分配區塊描述符指的是用於觸發及/或轉移一個或多個資料的分配區塊的描述符。
現在參見第1圖和第4圖,顯示了說明頁面轉移的單頁編程事件的時序圖。該時序圖包括基於具有箭頭的單頁描述符160所產生的指令信號CT(155)、DQx(156)和SR[6](157)。指令信號155-157為指令信號102的實例。如圖所示,每個信號155和156包括兩個指令集162、164。第一指令集162為觸發指令集。第二指令集164為編程指令集。
第4圖的頁描述符可由NVSM控制模組27產生。可產生頁描述符以同時初始化(或觸發)資料的轉移並執行該資料的轉移。基於頁描述符160,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,NVSM 28產生指令信號155-157。在觸發-至-負載期tADL期間,基於第一指令集162,NVSM 28準備資料轉移事件。
ECC模組48將資料頁轉移至介面管理模組50。該資料頁可被儲存在介面管理模組50的FIFO暫存器中。介面管理模組50經由通道100的其中之一將資料頁轉移至NVSM 28。在觸發-至-負載期tADL之後且編程準備期tPROG之前,該資料被轉移至通道。
該編程事件轉移的資料量(或資料區塊的大小)可等於1資料頁的大小,如上所述或可小於1資料頁。轉移的資料量可等於分配區塊的大小。資料的分配區塊的大小可設定為如上所述。當轉移資料的分配區塊時,分配區塊描述符可用作頁描述符的替換。
現在參見第1圖和第5圖,顯示了利用多個頁描述符說明多頁(或多平面)讀取事件的時序圖。該時序圖包括基於具有箭頭的多個頁描述符Page Descriptor1-3 170、172、174所產生的指令信號CT(165)、DQx(166)和SR[6](167)。如圖所示,每個信號155和156包括六個指令集176、178、180、182、184、186。指令信號165-167為指令信號102的實例。第一和第二指令集176、178為多頁讀取事件的觸發指令集。第三和第五指令集180、184為每頁的觸發指令。第四和第六指令集182、186為讀取指令集。
如圖所示,該等六個指令集176-186用於轉移2資料頁。對於附加頁可增加附加指令集。在該實例中,每個信號的觸發指令集的數量T等於轉移的頁數P的兩倍(或T=2*P)。每個信號的讀取指令集的數量R等於轉移的頁數P(或R=P)。又,頁描述符數D等於頁數加一(或D=P+1)。
該等頁描述符Page Descriptor1-3 可由NVSM控制模組27產生。基於該等頁描述符Page Descriptor1-3 ,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,NVSM 28產生指令信號165-167。基於第一和第二指令集176、178,NVSM 28準備用於轉移資料頁的資料轉移事件。
然後,在讀取準備期tR之後,基於該等指令信號(如指令集180-186),NVSM 28準備並經由一個或多個通道100將每個資料頁轉移至介面管理模組50。每對讀取指令集182、186(CT信號的1讀取指令和DQx信號的1讀取指令)轉移的資料量(或資料區塊的大小)可等於1資料頁的大小。或者,轉移的資料區塊的大小小於1資料頁。轉移的資料量可等於資料的分配區塊的大小。數據的分配區塊的大小可設定為如上所述。當轉移資料的分配區塊時,分配區塊描述符可用作頁描述符Page Descriptor1-3 的替換。該實例顯示在第10圖中。
現在參見第1圖和第6圖,顯示了利用多個頁描述符說明多頁編程事件的時序圖。該時序圖包括基於具有箭頭的多個頁描述符Page Descriptor1-2 190、192所產生的指令信號CT(187)、DQx(188)和SR[6](189)。指令信號187-189為指令信號102的實例。如圖所示,每個信號187和188包括四個指令集194、196、198、200。第一和第三指令集194、198為多頁讀取事件的觸發指令集。第二和第四指令集196、200為編程指令集。
如圖所示,該等四個指令集194-200用於轉移2資料頁。對於附加頁可增加附加指令集。在該實例中,每個信號的觸發指令集的數量T等於轉移的頁數P(或T=P)。每個信號的編程指令集的數量G等於轉移的頁數P(或G=P)。又,頁描述符數D等於轉移的頁數(或D=P)。
該等頁描述符Page Descriptor1-2 可由NVSM控制模組27產生。基於該等頁描述符Page Descriptor1-2 ,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,NVSM 28產生指令信號187-189。在各個觸發-至-負載期tADL1、tADL2期間,基於第一和第二指令集194、198,NVSM 28準備資料轉移事件。
ECC模組48將資料頁轉移至介面管理模組50。該資料頁可被儲存在介面管理模組50的FIFO暫存器中。介面管理模組50經由通道100的其中之一將資料頁轉移至NVSM 28。在觸發-至-負載期tADL1、tADL2之後且編程準備期tPROG之前,該等資料頁被轉移至通道。
每個編程指令196、200轉移的資料量(或資料區塊的大小)可等於1資料頁的大小,如上所述或可小於1資料頁。轉移的資料量可等於資料的分配區塊的大小。分配區塊的大小可設定為如上所述。當轉移資料的分配區塊時,分配區塊描述符可用作頁描述符Page Descriptor1-2 的替換。該實例顯示在第13圖中。
在上述第5圖和第6圖中,由於存在單讀取準備期tR和信號編程期tPROG,為多頁轉移事件最小化等待時間。
在第7圖中,介面管理控制系統的部分210顯示說明了具有頁面大小轉移的多頁編程事件。該部分210可包含在第1圖的介面管理控制系統26中。每個轉移可填充介面管理模組50的FIFO暫存器126的其中之一。每個轉移的資料頁可具有兩個相關頁描述符(未顯示),如上述第6圖所述。
每個FIFO暫存器126連接至NVSM 28的各自通道Channel0-7 。通道Channel0-7 可包括在第1圖的通道100中。儘管可改變每個FIFO暫存器126的大小以儲存大於1資料頁,但是每個FIFO暫存器126顯示為能儲存1資料頁。如果執行多頁(M-頁)轉移(如上所述),FIFO暫存器126不需要被改變大小以儲存M個資料頁,由於每個轉移的資料頁使用一個或多個頁描述符。改變FIFO暫存器126大小以儲存單資料頁而不是兩個或多個資料頁減少了分配FIFO暫存器126的記憶體並降低了資料轉移次數。如果僅使用單一描述符轉移M個資料頁,每個FIFO暫存器126將需要被改變大小以等於資料頁中資料的量,因為每個描述符與單一通道及/或單一FIFO暫存器有關。
在多頁轉移事件中,提供至介面管理模組50的資料逐頁擴散至多個通道。顯示了資料頁Data1-16 。在將第二頁發送至任意通道Channel0-7 之前,一單頁被轉移至每個通道Channel0-7 。基於通道Channel0-7 及/或裝置內部至NVSM 28的速度,該等資料頁從FIFO暫存器126被轉移至通道Channel0-7 。隨著該等資料頁被轉移至每個FIFO暫存器126,降低了在任意一個FIFO暫存器126發生資料瓶頸的可能性。例如,如果第一通道(如通道Channel0 )的轉移速度較低,在對應第一FIFO暫存器FIFO1 的瓶頸不可能發生,因為在將另一資料頁載入至第一FIFO暫存器FIFO1 之前,該等資料頁被載入至其他的FIFO暫存器FIFO2-8 中。
現在參見第1圖和第8圖,顯示了具有與轉移的分配區塊相同數量的描述符的讀取事件的時序圖。該時序圖包括基於具有箭頭的多個分配區塊描述符220、222 AU Descriptor1-2 所產生的指令信號CT(217)、DQx(218)和SR[6](219)。指令信號217-219為指令信號102的實例。如圖所示,每個信號217和218包括三個指令集224、226、228。第一指令集224為觸發指令集。第二指令集226為第一讀取指令集。第三指令集228為第二讀取指令集。
每個讀取指令集226、228與資料的分配區塊有關。第一描述符AU Descriptor1 與第一和第二指令集226、228有關。第二描述符AU Descriptor2 與第三指令集228有關。
分配區塊描述符AU Descriptor1-2 可由NVSM控制模組27產生。基於分配區塊描述符AU Descriptor1-2 ,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,介面管理模組50產生指令信號217-219。在讀取準備期tR期間,基於第一指令集224,NVSM 28準備資料轉移事件。
在讀取準備期tR之後,基於指令信號217-219,NVSM 28經由通道100的其中之一將資料的分配區塊轉移至介面管理模組50。該等資料的分配區塊可逐一區塊傳播至介面管理模組50的不同、鄰近及/或相繼的FIFO暫存器。例如,該讀取事件轉移的資料量(或資料的分配區塊的大小)可小於或等於1資料頁的大小。數據的分配區塊的大小可設定為如上所述。
現在參見第1圖和第9圖,顯示了具有比轉移的分配區塊更多的描述符的讀取事件的時序圖。該時序圖包括基於具有箭頭的多個分配區塊描述符230、232、234 AU Descriptor1-3 所產生的指令信號CT(227)、DQx(228)和SR[6](229)。指令信號227-229為指令信號102的實例。分配區塊描述符的數量AUD等於轉移的分配區塊的數量AB加1(或AUD=AB+1)。如圖所示,每個信號227和228包括三個指令集236、238、240。第一指令集236為觸發指令集。第二指令集238為第一讀取指令集。第三指令集240為第二讀取指令集。
每對讀取指令集238、240(CT信號中1讀取指令集和DQx信號中1讀取指令集)與資料的分配區塊有關。第一描述符AU Descriptor1 與第一指令集236有關。第二描述符AU Descriptor2 第二指令集238有關。第三描述符AU Descriptor3 與第三指令集240有關。
分配區塊描述符AU Descriptor1-3 可由NVSM控制模組27產生。基於分配區塊描述符AU Descriptor1-3 ,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,介面管理模組50產生指令信號227-229。在讀取準備期tR期間,基於第一指令集236,NVSM 28準備資料轉移事件。
在讀取準備期tR之後,基於指令信號227-229,NVSM 28經由通道100的其中之一將資料的分配區塊轉移至介面管理模組50。例如,該讀取事件轉移的資料量(或資料的分配區塊的大小)可小於或等於1資料頁的大小。數據的分配區塊的大小可設定為如上所述。
第8圖的實施使用了比第9圖的實施更少的描述符。更少描述符的使用可減少在介面管理控制系統26的模組之間產生並轉移的信號的數量。更少描述符的使用還可減小映射表大小和NVSM控制模組27的操作。藉由提供指令集的增加資料轉移控制及更小分配區塊的管理,通過第8圖的實施更多描述符的使用可增加韌體設計靈活性。
現在參見第1圖和第10圖,顯示了具有多個指令集的多分配區塊讀取事件的時序圖。第10圖的實施與第5圖的實施相似,除了產生分配區塊描述符以轉移資料的分配區塊來代替產生頁描述符以轉移資料頁。該時序圖包括基於具有箭頭的多個分配區塊描述符250、252、254 AU Descriptor1-3 所產生的指令信號CT(247)、DQx(248)和SR[6](249)。指令信號247-249為指令信號102的實例。
如圖所示,每個信號247和248包括六個指令集256、258、260、262、264、266。第一和第二指令集256、258為多頁讀取事件的觸發指令集。第三和第五指令集260、264為每頁的觸發指令。第四和第六指令集262、266為讀取指令集。如圖所示,該等六個指令集256-266用於轉移2資料頁。對於附加頁可增加附加指令集。在該實例中,每個信號的觸發指令集的數量T等於轉移的頁數P的兩倍(或T=2*P)。每個信號的讀取指令集的數量R等於轉移的頁數P(或R=P)。又,頁描述符數D等於頁數減一(或D=P-1)。
該等分配區塊描述符AU Descriptor1-3 可由NVSM控制模組27產生。基於該等分配區塊描述符AU Descriptor1-3 ,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,NVSM 28產生指令信號247-249。基於第一和第二指令集256、258,NVSM 28準備用於轉移資料的分配區塊的資料轉移事件。
然後,在讀取準備期tR之後,基於該等指令信號247-249(如指令集260、264),NVSM 28準備並經由一個或多個通道將每個資料的分配區塊轉移至介面管理模組50。每對讀取指令集262、266(CT信號的1讀取指令和DQx信號的1讀取指令)轉移的資料量(或資料區塊的大小)可小於或等於1資料頁的大小。
現在參見第1圖和第11圖,顯示了具有與轉移的分配區塊相同數量的描述符的編程事件的時序圖。該時序圖包括基於具有箭頭的多個分配區塊描述符270、272 AU Descriptor1-2 所產生的指令信號CT(267)、DQx(268)和SR[6](269)。指令信號267-269為指令信號102的實例。如圖所示,每個信號267和268包括三個指令集274、276、278。第一指令集274為觸發指令集。第二指令集276為第一編程指令集。第三指令集278為第二編程指令集。
該等分配區塊描述符AU Descriptor1-2 可由NVSM控制模組27產生。基於該等分配區塊描述符AU Descriptor1-2 ,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,NVSM 28產生指令信號267-269。在觸發-至-負載期tADL期間,基於第一指令集274,NVSM 28準備資料轉移事件。
ECC模組48將資料的分配區塊轉移至介面管理模組50。該資料的分配區塊可被儲存在介面管理模組50的FIFO暫存器中。介面管理模組50經由通道100的其中之一將資料的分配區塊轉移至NVSM 28。在觸發-至-負載期tADL之後且編程準備期tPROG之前,該等資料被轉移至通道。該編程事件轉移的資料量(資料的分配區塊的組合大小)可小於或等於1資料頁的大小。
現在參見第1圖和第12圖,顯示了具有比轉移的分配區塊更多的描述符的編程事件的時序圖。該時序圖包括基於具有箭頭的多個分配區塊描述符280、282、284 AU Descriptor1-3 所產生的指令信號CT(277)、DQx(278)和SR[6](279)。指令信號277-279為指令信號102的實例。分配區塊描述符的數量AUD等於轉移的分配區塊的數量AB加1(或AUD=AB+1)。如圖所示,每個信號277和278包括三個指令集286、288、290。第一指令集286為觸發指令集。第二指令集288為第一編程指令集。第三指令集290為第二編程指令集。
該等分配區塊描述符AU Descriptor1-3 可由NVSM控制模組27產生。基於該等分配區塊描述符AU Descriptor1-3 ,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,NVSM 28產生指令信號277-279。在觸發-至-負載期tADL期間,基於第一指令集286,NVSM 28準備資料轉移事件。
ECC模組48將資料的分配區塊轉移至介面管理模組50。該資料的分配區塊可被儲存在介面管理模組50的FIFO暫存器中。介面管理模組50經由通道100的其中之一將資料的分配區塊轉移至NVSM 28。在觸發-至-負載期tADL之後且編程準備期tPROG之前,該等資料被轉移至通道。該編程事件轉移的資料量(資料的分配區塊的組合大小)可小於或等於1資料頁的大小。
現在參見第1圖和第13圖,顯示了具有多個指令集的多分配區塊讀取事件的時序圖。第13圖的實施與第6圖的實施相似,除了產生分配區塊描述符以轉移資料的分配區塊來代替產生頁描述符以轉移資料頁。此外,每個轉移的資料的分配區塊產生兩個頁描述符來代替每個轉移的資料頁產生單頁描述符。
第13圖的時序圖包括基於具有箭頭的多個分配區塊描述符300、302、304、306 AU Descriptor1-4 所產生的指令信號CT(297)、DQx(298)和SR[6](299)。指令信號297-299為指令信號102的實例。如圖所示,每個信號297和298包括六個指令集308、310、312、316、318。第一和第四指令集308、314為多分配區塊讀取事件的觸發指令集。第二和第五指令集310、316為第一和第三資料的分配區塊的編程指令集。第三和第六指令集312、318為轉移第二和第四資料的分配區塊的編程指令集。對於附加資料的分配區塊可增加附加觸發和編程指令集。
在該實例中,每個信號的觸發指令集的數量T等於轉移的資料的分配區塊的數量AB的兩倍(或T=2*AB)。每個信號的編程指令集的數量G等於轉移的資料的分配區塊的數量(或G=AB)。每個觸發指令集的分配區塊的數量可通過NVSM控制模組27而增加。
該等分配區塊描述符AU Descriptor1-4 可由NVSM控制模組27產生。基於該等分配區塊描述符AU Descriptor1-4 ,命令管理模組60產生第一和第二參數信號80、82。基於第二參數信號82,NVSM 28產生指令信號297-299。在各個觸發-至-負載期tADL1、tADL2期間,基於第一和第四指令集308、314,NVSM 28準備資料轉移事件。
ECC模組48將資料的分配區塊轉移至介面管理模組50。第一和第二資料的分配區塊可被儲存在介面管理模組50的第一FIFO暫存器中。第三和第四資料的分配區塊可被儲存在介面管理模組50的第二FIFO暫存器中。介面管理模組50經由兩個通道100將資料的分配區塊轉移至NVSM 28。在觸發-至-負載期tADL1、tADL2之後且編程準備期tPROG之前,該等資料的分配區塊被轉移至通道。或者,第一、第二、第三和第四資料區塊可被轉移至第一和第二FIFO暫存器的其中之一並經由一通道100轉移至NVSM 28。
每對編程指令集(第一和第二編程指令集310、312或第三和第四編程指令集316、318)轉移的資料量(或資料的分配區塊的大小)可小於或等於1資料頁的大小。在所示的實例中,如果對於每對觸發指令集(CT信號的1觸發指令集和DQx信號的1觸發指令集)轉移1資料頁,然後兩個分配區塊的大型等於資料頁的大小。藉由減小分配區塊大小可增加每資料頁轉移的分配區塊的數量。
在第14圖中,介面管理控制系統的部分330顯示說明了基於編程事件具有分配區塊大小轉移的分配區塊。該部分330可包含在第1圖的介面管理控制系統26中。每個轉移的資料的分配區塊可填充介面管理模組50的FIFO暫存器126’的其中之一。例如,每個轉移的資料的分配區塊可具有兩個或三個相關分配區塊描述符(未顯示),如上述第11圖和第12圖所述。
每個FIFO暫存器126’連接至NVSM 28的通道Channel0-7 的其中之一。儘管可改變FIFO暫存器126’的大小以儲存大於1資料的分配區塊,但是FIFO暫存器126’顯示能儲存1資料的分配區塊。
每個FIFO暫存器126’的大小可基於資料的分配區塊的大小並獨立於資料頁的大小。分配區塊的任意數量可等於一資料頁的大小。減小資料的分配區塊和FIFO暫存器126’的大小可進一步增加資料轉移速度、提高並行資料轉移效率並阻止資料瓶頸。
在多分配區塊轉移事件中,提供至介面管理模組50的資料逐區塊擴散至多個通道。顯示了資料分配區塊Data1-32 。在將第二分配區塊發送至任意通道之前,一單一資料的分配區塊被轉移至每個通道。基於通道及/或裝置內部至NVSM 28的速度,該等資料的分配區塊從FIFO暫存器126’被轉移至該等通道。隨著該等資料的分配區塊被轉移至每個FIFO暫存器126’,降低了在任意一個FIFO暫存器126’發生資料瓶頸的可能性。
現在參見第1圖和第15圖,顯示了介面管理控制系統的部分340。該部分340可包含在第1圖的介面管理控制系統26中,代替第2圖的部分120,並且該部分340包括ECC模組48’、介面管理模組50’和NVSM 28。與第2圖的實施不同,ECC模組48’包括多個編碼器342和多個解碼器344,並且介面管理模組50’不包括FIFO暫存器。每個編碼器342可以近似與NVSM 28的通道100相同的速度轉移資料。
在編程事件期間,DDS產生模組46可將資料的分配區塊傳播至編碼器342,類似於如第2圖和第8圖至第14圖的實施所述的資料的分配區塊至FIFO暫存器的傳播。藉由介面管理模組50’不包含FIFO暫存器,第15圖的實施進一步減少了用於轉移資料至及自NVSM 28的記憶體的量。由於不包含FIFO暫存器,該實施可支援任意的頁面大小或分配區塊大小。這增加了韌體92的發展靈活性。該實施還提高了並行資料轉移效率。
如第14圖和第15圖中所述,具有尺寸小於頁面大小的FIFO暫存器及/或FIFO暫存器的消除的使用減小了硬體/記憶體需求。
NVSM儲存系統10及/或NVSM驅動器14可利用各種方法而操作,第16圖的方法提供了一實例的分配區塊方法。在第16圖中,顯示了操作NVSM儲存系統和NVSM驅動器的方法。儘管以下任務主要描述關於第1圖至第15圖的實施,但是該等任務可容易修改以應用本發明的其他實施。可反復執行該等任務。該方法開始於步驟350。
在步驟352中,NVSM驅動器介面20自主機介面18接收存取請求信號,請求執行讀取、編程及/或抹除事件。
在步驟354中,基於該等存取請求信號,NVSM控制模組27產生頁及/或分配區塊描述符。可產生該等頁及/或分配區塊描述符以執行一個或多個資料轉移事件。每個資料轉移事件可為讀取事件或編程事件並僅包括一讀取準備期或一編程準備期。每個資料轉移事件,轉移的資料頁及/或轉移的資料的分配區塊產生的描述符的數量可由NVSM控制模組27所確定。
每個資料轉移事件包括兩個或多個描述符。每個轉移事件資料頁的數量及/或資料的分配區塊的數量也由NVSM控制模組27所確定並表示為產生的描述符。每個資料轉移事件可轉移一個或多個資料頁及/或一個或多個資料的分配區塊。可預定並固定頁面大小或由NVSM控制模組27設定頁面大小。
在步驟356中,如上所述基於在步驟354產生的頁及/或分配區塊描述符,命令管理模組60產生第一參數信號80和第二參數信號82。
在步驟358中,基於第一參數信號80和第二參數信號82,ECC模組(如ECC模組48、48’的其中之一)和介面管理模組(如介面管理模組50、50’的其中之一)確定即將執行讀取事件或編程事件。當執行讀取事件時執行步驟360。當執行編程事件時執行步驟370。
在步驟360中,介面管理模組產生指令信號102以命令NVSM 28將資料區塊經由通道100自NVSM 28轉移至介面管理模組。基於第二參數信號82產生指令信號102。
在步驟362中,基於該等指令信號的指令集,NVSM 28準備並轉移資料頁及/或資料的分配區塊至一個或多個通道100。該等指令集可顯示在如第3圖、第5圖、第8圖、第9圖及/或第10圖中。該等資料頁及/或資料的分配區塊可通過介面管理模組的FIFO暫存器接收。
在步驟364中,基於參數信號80、82,該等資料頁及/或資料的分配區塊可從介面管理模組轉移至ECC模組。該等資料頁及/或資料的分配區塊可被轉移至一個或多個ECC模組的解碼器,如第2圖、第7圖、第14圖和第15圖中所示。
在步驟366中,該等資料頁及/或資料的分配區塊經由如HDS產生模組52、緩衝管理模組44、解密模組54和解壓縮模組56被轉移至NVSM驅動器介面20。主機12可自NVSM驅動器介面20接收該等資料頁及/或資料的分配區塊。在執行步驟366之後,該方法可返回至步驟352或在步驟380中結束,如圖所示。
在步驟370中,該等資料頁及/或資料的分配區塊可通過NVSM驅動器介面20而接收。在步驟372中,該等資料頁及/或資料的分配區塊經由如壓縮模組40、加密模組42、緩衝管理模組44和DDS產生模組46傳播至ECC模組。
在步驟374中,基於第一參數信號80,ECC模組將該等資料頁及/或資料的分配區塊轉移至介面管理模組。該等資料頁及/或資料的分配區塊可自ECC模組的編碼器轉移並傳播至一個或多個介面管理模組的FIFO暫存器,如第2圖、第7圖或第14圖所示。或者,該等資料頁及/或資料的分配區塊從ECC模組的多個編碼器轉移至介面管理模組,如第15圖所示。
在步驟376中,基於第二參數信號82,介面管理模組產生指令信號102以轉移該等資料頁及/或資料的分配區塊至NVSM 28。指令信號102包括指令集。該等指令集顯示於如第4圖、第6圖、第11圖、第12圖及/或第13圖。
在步驟378中,NVSM 28經由通道100接收該等資料頁及/或資料的分配區塊。在執行步驟378之後,該方法可返回至步驟352或在步驟380結束,如圖所示。
上述任務可為示例性實例;在重疊時段或依據本申請以不同順序期間,可順序地、同步地、同時地、連續地執行該等任務。例如,當執行步驟378時可執行步驟376。
此處所述的實施使用每頁多個描述符(如上定義)及/或轉移至及/或自NVSM轉移的每個分配區塊多個描述符。藉由產生並使用多個描述符,相對於每個轉移僅使用單一描述,提高了韌體靈活性。基於所選分配區塊大小執行資料轉移允許讀取和編程事件可獨立於頁面大小而執行並允許NVSM驅動器供給NVSM的任意頁面大小。小於該頁面大小的分配區塊比NVSM控制模組的韌體更易於處理,更易於編碼和解碼且更易於主機處理。相對於讀取資料頁,自NVSM讀取分配區塊減小了讀取延遲。
又,分配區塊基轉移允許NVSM驅動器的介面管理模組的FIFO大小獨立於頁面大小。又,每個轉移事件將資料的分配區塊傳播至多個NVSM的通道提高了轉移效率。該資料可傳播至多個通道而不無需等待通道的即將載入至FIFO的資料的額外區塊,其已接收資料區塊。這進一步減小了轉移延遲。
本發明的廣泛講授可以各種形式而實施。因此,當該公開包括特定實例時,本發明的真實範圍不應受限,因為對於附圖、說明書及所附申請專利範圍的研究,其他修飾將是顯而易見的。
本申請要求2010年7月7日提出的美國臨時申請第61/362,251號的權益,通過引用將其全部結合到上述申請的公開中。
10...非揮發性半導體記憶體(NVSM)儲存系統
12...主機
14...NVSM驅動器
16...主機控制模組
18...主機介面
20...NVSM驅動介面
22...接收路徑
24...傳輸路徑
26...介面管理控制系統
27...NVSM控制模組
28...NVSM
30...存取請求信號
40...壓縮模組
42...加密模組
44...緩衝管理模組
46...驅動資料區段(DDS)產生模組
48...錯誤校正碼(ECC)模組
50...介面管理模組
52...HDS產生模組
54...解密模組
56...解壓縮模組
60...命令管理模組
70...緩衝器
72...HDS暫存器
74...HDS集
80...第一參數信號
82...第二參數信號
84...描述符
90...第一非揮發性記憶體
92...韌體
94...第二非揮發性記憶體
96...參數資訊
100...通道
1001 -100N ...通道
102...指令信號
104...映射表
120...介面管理控制系統的部分
122...編碼器
124...解碼器
126...第一系列FIFO暫存器
128...第二系列FIFO暫存器
130...緩衝器
145、146、147...指令信號
148...頁描述符
150...第一指令集
152...第二指令集
155、156、157...指令信號
160...頁描述符
162...第一指令集
164...第二指令集
165、166、167...指令信號
170、172、174...頁描述符
176...第一指令集
178...第二指令集
180...第三指令集
182...第四指令集
184...第五指令集
186...第六指令集
187、188、189...指令信號
190、192...頁描述符
194...第一指令集
196...第二指令集
198...第三指令集
200...第四指令集
210...介面管理控制系統的部分
217、218、219...指令信號
220、222...分配區塊描述符
224...第一指令集
226...第二指令集
227、228、229...指令信號
230、232、234...分配區塊描述符
236...第一指令集
238...第二指令集
240...第三指令集
247、248、249...指令信號
250、252、254...分配區塊描述符
256...第一指令集
258...第二指令集
260...第三指令集
262...第四指令集
264...第五指令集
266...第六指令集
267、268、269...指令信號
270、272...分配區塊描述符
274...第一指令集
276...第二指令集
277、278、279...指令信號
280、282、284...分配區塊描述符
286...第一指令集
288...第二指令集
290...第三指令集
297、298、299...指令信號
300、302、304、306...分配區塊描述符
308...第一指令集
310...第二指令集
312...第三指令集
314...第四指令集
316...第五指令集
318...第六指令集
330...介面管理控制系統的部分
126’...FIFO暫存器
340...介面管理控制系統的部分
342...編碼器
344...解碼器
48’...ECC模組
50’...介面管理模組
350~380...步驟
本發明將從詳細說明及所附圖式而變得被更加充分了解,其中:
第1圖為根據本發明包括介面管理控制系統之NVSM儲存系統的功能方區塊圖;
第2圖為根據本發明介面管理控制系統的一部分的功能方區塊圖;
第3圖為根據本發明說明一頁轉移的單頁讀取事件的時序圖;
第4圖為根據本發明說明一頁轉移的單頁編程事件的時序圖;
第5圖為根據本發明利用多個描述符說明多頁讀取事件的時序圖;
第6圖為根據本發明利用多個描述符說明多頁編程操作的時序圖;
第7圖為根據本發明說明具有頁面大小轉移的多頁編程事件之介面管理控制系統的一部分的功能方區塊圖;
第8圖為根據本發明說明具有與轉移的分配區塊相同數量之描述符的讀取事件的時序圖;
第9圖為根據本發明說明具有比轉移的分配區塊更多描述符之讀取事件的時序圖;
第10圖為根據本發明說明具有多個指令集之多分配區塊讀取事件的時序圖;
第11圖為根據本發明說明具有與轉移的分配區塊相同數量之描述符的編程事件的時序圖;
第12圖為根據本發明說明具有比轉移的分配區塊更多描述符之編程事件的時序圖;
第13圖為根據本發明說明具有多個指令集之多分配區塊讀取事件的時序圖;
第14圖為根據本發明說明具有分配區塊大小轉移的分配區塊編程事件之介面管理控制系統的一部分的功能方區塊圖;
第15圖為根據本發明包括多個編碼器和解碼器的介面管理控制系統之一部分的功能方區塊圖;以及
第16圖為根據本發明說明操作NVSM儲存系統和NVSM驅動器的方法。
10‧‧‧非揮發性半導體記憶體(NVSM)儲存系統
12‧‧‧主機
14‧‧‧NVSM驅動器
16‧‧‧主機控制模組
18‧‧‧主機介面
20‧‧‧NVSM驅動介面
22‧‧‧接收路徑
24‧‧‧傳輸路徑
26‧‧‧介面管理控制系統
27‧‧‧NVSM控制模組
28‧‧‧NVSM
30‧‧‧存取請求信號
40‧‧‧壓縮模組
42‧‧‧加密模組
44‧‧‧緩衝管理模組
46‧‧‧驅動資料區段(DDS)產生模組
48‧‧‧錯誤校正碼(ECC)模組
50‧‧‧介面管理模組
52‧‧‧HDS產生模組
54‧‧‧解密模組
56‧‧‧解壓縮模組
60‧‧‧命令管理模組
70‧‧‧緩衝器
72‧‧‧HDS暫存器
74‧‧‧HDS集
80‧‧‧第一參數信號
82‧‧‧第二參數信號
84‧‧‧描述符
90‧‧‧第一非揮發性記憶體
92‧‧‧韌體
94‧‧‧第二非揮發性記憶體
96‧‧‧參數資訊
100‧‧‧通道
102‧‧‧指令信號
104‧‧‧映射表

Claims (21)

  1. 一種用於控制非揮發性半導體記憶體之存取的控制系統,該控制系統包括:基於複數個描述符,控制(i)一介面管理模組和(ii)該非揮發性半導體記憶體之間的第一資料區塊的資料轉移事件,其中:該複數個描述符之每一描述符包括各自的指令集;該等指令集之每一指令集包括該第一資料區塊的位址和顯示(i)在該資料轉移事件期間要被轉移的資料量或(ii)該資料轉移事件是否為讀取事件或編程事件,基於該複數個描述符其中一或多個描述符,將該非揮發性半導體記憶體準備用於該資料轉移事件,以及該介面管理模組和該非揮發性半導體記憶體配置以在一固態記憶體驅動器內操作;一命令管理模組,配置以基於該複數個描述符產生一參數信號;以及該介面管理模組,配置以(i)基於該參數信號產生指令信號並(ii)根據該複數個描述符,將該等指令信號傳輸至該非揮發性半導體記憶體以使該非揮發性半導體記憶體執行該資料轉移事件,其中該等指令信號包括該複數個描述符。
  2. 依據申請專利範圍第1項所述的控制系統,其中:該第一資料區塊的大小等於分配區塊大小;該分配區塊大小小於或等於資料頁的大小;該介面管理模組配置以基於來自於主機的存取請求信號而選擇該分配區塊大小;該主機與該固態記憶體驅動器通信;以及該分配區塊大小小於資料頁的大小。
  3. 依據申請專利範圍第1項所述的控制系統,其中:該資料轉移事件包括轉移資料頁,該轉移資料頁包括該第一資料區塊與第二資料區塊;以及 基於該複數個描述符的各自之一者,轉移該第一資料區塊與該第二資料區塊。
  4. 依據申請專利範圍第1項所述的控制系統,其中該資料轉移事件包括轉移複數個資料頁。
  5. 依據申請專利範圍第1項所述的控制系統,其中該複數個描述符的數量等於至少在該資料轉移事件期間轉移的資料區塊的數量加一。
  6. 依據申請專利範圍第1項所述的控制系統,其中:該介面管理模組配置以為該資料轉移事件產生該等指令集,用以啟動該第一資料區塊的轉移;以及該複數個描述符的數量等於為該資料轉移事件所產生的指令集的數量。
  7. 依據申請專利範圍第6項所述的控制系統,其中:該介面管理模組配置以在該資料轉移事件準備期之前,產生該等指令集;以及在該準備期之後,該介面管理模組配置以產生讀取指令集或編程指令集;以及其中該資料轉移事件包括(i)該等指令集的其中之一以及(ii)該等讀取指令集或該等編程指令集。
  8. 依據申請專利範圍第1項所述的控制系統,其中該複數個描述符的數量為在該資料轉移事件中所轉移的資料區塊數量的二倍。
  9. 依據申請專利範圍第1項所述的控制系統,其中該複數個描述符的每一個顯示分配區塊大小、非揮發性半導體記憶體的位址、以及該資料轉移事件是否為讀取事件、或編程事件。
  10. 依據申請專利範圍第1項所述的控制系統,其中該參數信號的位元顯示 在該資料轉移事件期間要被轉移的該資料量、非揮發性半導體記憶體的位址以及該資料轉移事件是否為讀取事件、或編程事件。
  11. 依據申請專利範圍第1項所述的控制系統,進一步包含一錯誤校正碼模組,配置以基於第二參數信號,將該第一資料區塊轉移至該介面管理模組或將該第一資料區塊自該介面管理模組轉移過來,其中該命令管理模組配置以基於該複數個描述符,產生該第二參數信號;以及該第二參數信號的位元顯示緩衝暫存器位置、非揮發性半導體記憶體的位址、在該資料轉移事件期間要被轉移的該資料量以及該資料轉移事件是否為讀取事件、或編程事件。
  12. 依據申請專利範圍第1項所述的控制系統,進一步包含一錯誤校正碼模組,配置以基於第二參數信號,將該第一資料區塊轉移至該介面管理模組或將該第一資料區塊自該介面管理模組轉移過來,其中該命令管理模組配置以基於該複數個描述符,產生該第二參數信號;以及該介面管理模組包含複數個先進先出暫存器;該錯誤校正碼模組配置以將該第一資料區塊和該第二資料區塊傳播至該複數個先進先出暫存器,其中該資料轉移事件包括將該第二資料區塊轉移;以及該複數個先進先出暫存器的每一個的大小小於資料頁的大小。
  13. 依據申請專利範圍第1項所述的控制系統,其中該複數個描述符包括:第一描述符,包括第一指令集,以及第二描述符,包括第二指令集;該第一描述符係一命令描述符,並且藉由該第一指令集觸發該資料轉移事件,其中該非揮發性半導體記憶體係基於該第一描述符來準備,用於該資料轉移事件;以及該第二描述符係一工作描述符,並且顯示是否執行該資料轉移事件,其中該第二描述符在該第一描述符之後被傳送至該介面管理模組。
  14. 依據申請專利範圍第1項所述的控制系統,其中該複數個描述符包括:第一描述符,包括第一指令集和第二指令集;第二描述符,包括第三指令集和第四指令集;以及第三描述符,其中,該第一描述符(i)顯示該第一資料區塊和第二資料區塊之轉移,以及(ii)觸發對應於該第二描述符與該第三描述符之資料轉移事件,該二描述符在該第一描述符之後被傳送至該介面管理模組,該二描述符顯示該第一資料區塊之轉移,該第三描述符(i)顯示轉移該第二資料區塊,以及(ii)包括第五指令集和第六指令集,以及該第三描述符在該第二描述符之後被傳送至該介面管理模組。
  15. 依據申請專利範圍第1項所述的控制系統,其中該第一資料區塊之該位址為該非揮發性半導體記憶體之位址。
  16. 依據申請專利範圍第1項所述的控制系統,其中該等指令集之其中之一包括在該資料轉移事件期間要被轉移之資料區塊的大小;該資料區塊包括第一資料區塊;以及該等指令集之其中之一包括在該資料轉移事件期間要被轉移的資料量、該非揮發性半導體記憶體之通道的識別符、在該非揮發性半導體記憶體中之裝置的識別符,以及該資料區塊之格式。
  17. 依據申請專利範圍第1項所述的控制系統,其中該複數個描述符包括第一描述符和第二描述符;該第一描述符識別該非揮發性半導體記憶體之列與行;以及該第二描述符識別該非揮發性半導體記憶體之該列與該行。
  18. 一種固態記憶體驅動器,包括:依據申請專利範圍第1項的控制系統;一緩衝管理模組,配置以接收來自一主機而與該固態記憶體驅動器通信的第一主機資料區段,基於該等第一主機資料區段產生第一驅動器資料區段,接收第二驅動器資料區段,並將第二主機資料區段傳輸至該主機,其中該介面管理模組配置以接收來自該非揮發性半導體記憶體之該等第二驅動器資料區段;以及一錯誤校正碼模組,配置以將該等第一驅動器資料區段從該緩衝管理模組轉移至該介面管理模組並將該等第二驅動器資料區段從該介面管理模組轉移至該緩衝管理模組。
  19. 一種控制非揮發性半導體記憶體之存取的方法,該方法包括:基於複數個描述符,控制(i)一介面管理模組和(ii)該非揮發性半導體記憶體之間的第一資料區塊的資料轉移事件,其中:該複數個描述符之每一描述符包括各自的指令集;該等指令集之每一指令集包括該第一資料區塊的位址和顯示(i)在該資料轉移事件期間要被轉移的資料量或(ii)該資料轉移事件是否為讀取事件或編程事件,將該非揮發性半導體記憶體準備用於該資料轉移事件,以及在一固態記憶體驅動器內操作該介面管理模組和該非揮發性半導體記憶體;基於該複數個描述符,產生一參數信號;基於該參數信號,藉由該介面管理模組產生指令信號;以及根據該複數個描述符,將該等指令信號傳輸至該非揮發性半導體記憶體以使該非揮發性半導體記憶體執行該資料轉移事件,其中該等指令信號包括該複數個描述符。
  20. 依據申請專利範圍第19項所述的方法,進一步包括:為該資料轉移事件產生觸發指令集以啟動該第一資料區塊的轉移,其中該複數個描述符的數量等於為該資料轉移事件所產生的指令集的數量; 在該資料轉移事件準備期之前,產生該等指令集;以及在該準備期之後,產生讀取指令集或編程指令集,其中該資料轉移事件包括(i)該等指令集的其中之一以及(ii)該等讀取指令集或該等編程指令集。
  21. 依據申請專利範圍第19項所述的方法,該方法進一步包括:將該第一資料區塊和第二資料區塊傳播至(i)該複數個先進先出暫存器或(ii)該非揮發性半導體記憶體之複數個通道,其中該介面管理模組包括該複數個先進先出暫存器,以及其中該複數個先進先出暫存器的每一個的大小小於資料頁的大小;以及在將總共兩個資料區塊轉移至任一該等通道之前,先將該第一資料區塊和該第二資料區塊轉移至該複數個通道之各自通道。
TW100123864A 2010-07-07 2011-07-06 用於非揮發性半導體記憶體之介面管理控制系統及方法 TWI506638B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36225110P 2010-07-07 2010-07-07
US13/166,340 US8868852B2 (en) 2010-07-07 2011-06-22 Interface management control systems and methods for non-volatile semiconductor memory

Publications (2)

Publication Number Publication Date
TW201209836A TW201209836A (en) 2012-03-01
TWI506638B true TWI506638B (zh) 2015-11-01

Family

ID=45439399

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100123864A TWI506638B (zh) 2010-07-07 2011-07-06 用於非揮發性半導體記憶體之介面管理控制系統及方法

Country Status (5)

Country Link
US (2) US8868852B2 (zh)
KR (1) KR101837111B1 (zh)
CN (1) CN103052948B (zh)
TW (1) TWI506638B (zh)
WO (1) WO2012006062A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135168B2 (en) 2010-07-07 2015-09-15 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
US9141538B2 (en) 2010-07-07 2015-09-22 Marvell World Trade Ltd. Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
US8868852B2 (en) 2010-07-07 2014-10-21 Marvell World Trade Ltd. Interface management control systems and methods for non-volatile semiconductor memory
US20150095551A1 (en) * 2013-09-30 2015-04-02 Micron Technology, Inc. Volatile memory architecutre in non-volatile memory devices and related controllers
KR20160111222A (ko) 2015-03-16 2016-09-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템, 그것을 포함하는 컴퓨팅 시스템
KR102609473B1 (ko) * 2016-06-17 2023-12-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US20180032249A1 (en) * 2016-07-26 2018-02-01 Microsoft Technology Licensing, Llc Hardware to make remote storage access appear as local in a virtualized environment
TWI767122B (zh) * 2018-05-25 2022-06-11 宏達國際電子股份有限公司 模型建構方法、系統及非揮發性電腦可讀取記錄媒體
US11308017B2 (en) * 2019-05-31 2022-04-19 Micron Technology, Inc. Reconfigurable channel interfaces for memory devices
US10861508B1 (en) * 2019-11-11 2020-12-08 Sandisk Technologies Llc Transmitting DBI over strobe in nonvolatile memory
CN112817534B (zh) * 2021-02-02 2023-07-04 深圳忆联信息系统有限公司 提高ssd读写性能的方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649139A (en) * 1991-03-22 1997-07-15 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US20070011396A1 (en) * 2005-06-30 2007-01-11 Utstarcom, Inc. Method and apparatus for bandwidth efficient and bounded latency packet buffering
US7313649B2 (en) * 2004-04-28 2007-12-25 Matsushita Electric Industrial Co., Ltd. Flash memory and program verify method for flash memory
US7406576B2 (en) * 2005-08-10 2008-07-29 Seiko Epson Corporation Semiconductor memory device
US7409492B2 (en) * 2006-03-29 2008-08-05 Hitachi, Ltd. Storage system using flash memory modules logically grouped for wear-leveling and RAID
US20090161429A1 (en) * 2007-12-21 2009-06-25 Atmel Corporation Dynamic column redundancy replacement

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611278A (en) * 1983-04-01 1986-09-09 Honeywell Information Systems Inc. Wraparound buffer for repetitive decimal numeric operations
JP2509297B2 (ja) 1987-08-31 1996-06-19 沖電気工業株式会社 自己訂正機能付半導体記憶装置及びマイクロコンピュ―タ
US5475860A (en) 1992-06-15 1995-12-12 Stratus Computer, Inc. Input/output control system and method for direct memory transfer according to location addresses provided by the source unit and destination addresses provided by the destination unit
JPH09212411A (ja) * 1996-02-06 1997-08-15 Tokyo Electron Ltd メモリシステム
US7877542B2 (en) * 2000-01-06 2011-01-25 Super Talent Electronics, Inc. High integration of intelligent non-volatile memory device
US7953931B2 (en) * 1999-08-04 2011-05-31 Super Talent Electronics, Inc. High endurance non-volatile memory devices
JP2001051904A (ja) * 1999-08-11 2001-02-23 Hitachi Ltd 不揮発性半導体メモリを用いた外部記憶装置
JP4842417B2 (ja) * 1999-12-16 2011-12-21 ソニー株式会社 記録装置
US20080320209A1 (en) * 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
EP1124179B1 (en) * 2000-02-09 2007-10-17 Texas Instruments Incorporated An apparatus for signal synchronization between two clock domains
JP2001331377A (ja) 2000-05-22 2001-11-30 Hitachi Ltd 再生エラーの処理方法及びこれを用いたディスク装置
JP3574078B2 (ja) * 2001-03-16 2004-10-06 東京エレクトロンデバイス株式会社 記憶装置と記憶装置制御方法
US7617515B1 (en) * 2001-05-24 2009-11-10 Vixs Systems, Inc. Method and apparatus for managing resources in a multimedia system
US7155560B2 (en) * 2001-06-27 2006-12-26 Intel Corporation Method and apparatus for storing data in flash memory
US6895408B1 (en) 2002-03-19 2005-05-17 Oracle International Corporation Method and apparatus to facilitate interaction management between loosely coupled applications
CN100378656C (zh) * 2002-04-30 2008-04-02 Nxp股份有限公司 具有非易失性存储器的集成电路以及用于从所述存储器中取数据的方法
US6795872B2 (en) * 2002-05-09 2004-09-21 Renesas Technology America, Inc. Maintaining at least partial functionality of a device as defined by a hardware configuration at a USB bus enumeration while the device memory is programmed
TWI220959B (en) * 2003-06-05 2004-09-11 Carry Computer Eng Co Ltd Storage device with optimized compression management mechanism
US7237141B2 (en) 2003-06-19 2007-06-26 Lsi Corporation Method for recovering data from a redundant storage object
KR100475125B1 (ko) * 2003-06-21 2005-03-14 삼성전자주식회사 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법
KR100546348B1 (ko) * 2003-07-23 2006-01-26 삼성전자주식회사 플래시 메모리 시스템 및 그 데이터 저장 방법
KR100608592B1 (ko) * 2004-01-27 2006-08-03 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
JP4456490B2 (ja) 2005-01-14 2010-04-28 富士通株式会社 Dma装置
JP4416694B2 (ja) * 2005-05-12 2010-02-17 株式会社ソニー・コンピュータエンタテインメント データ転送調停装置およびデータ転送調停方法
US7546392B2 (en) * 2005-05-13 2009-06-09 Texas Instruments Incorporated Data transfer with single channel controller controlling plural transfer controllers
JP2007066012A (ja) * 2005-08-31 2007-03-15 Toshiba Corp 映像描画装置、方法およびプログラム
US7954037B2 (en) 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US7600090B2 (en) * 2005-11-28 2009-10-06 Atmel Corporation Microcontroller based flash memory digital controller system
JP2007200457A (ja) * 2006-01-26 2007-08-09 Renesas Technology Corp 不揮発性半導体記憶装置
US8074022B2 (en) * 2006-09-28 2011-12-06 Virident Systems, Inc. Programmable heterogeneous memory controllers for main memory with different memory modules
KR100869675B1 (ko) * 2007-02-05 2008-11-21 지인정보기술 주식회사 디스크립터 배열을 이용한 플래시 메모리 제어 시스템 및방법
US7716448B2 (en) * 2007-02-28 2010-05-11 Red Hat, Inc. Page oriented memory management
US20080222365A1 (en) * 2007-03-08 2008-09-11 Staktek Group L.P. Managed Memory System
CN100511193C (zh) * 2007-03-28 2009-07-08 华为技术有限公司 一种外部存储器控制器时序配置的装置及方法
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US8046542B2 (en) * 2007-11-21 2011-10-25 Micron Technology, Inc. Fault-tolerant non-volatile integrated circuit memory
US7934052B2 (en) * 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
JP4672742B2 (ja) * 2008-02-27 2011-04-20 株式会社東芝 メモリコントローラおよびメモリシステム
KR101553532B1 (ko) * 2008-04-17 2015-09-16 삼성전자주식회사 스토리지 장치
US8195909B2 (en) 2009-10-05 2012-06-05 Seagate Technology Llc Data management in a data storage system
US9141538B2 (en) 2010-07-07 2015-09-22 Marvell World Trade Ltd. Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
US9135168B2 (en) 2010-07-07 2015-09-15 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
US8868852B2 (en) 2010-07-07 2014-10-21 Marvell World Trade Ltd. Interface management control systems and methods for non-volatile semiconductor memory
WO2012087971A2 (en) 2010-12-20 2012-06-28 Marvell World Trade Ltd. Descriptor scheduler
TWI446160B (zh) 2011-07-21 2014-07-21 Silicon Motion Inc 快閃記憶體控制器及資料讀取方法
WO2014144043A1 (en) 2013-03-15 2014-09-18 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649139A (en) * 1991-03-22 1997-07-15 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US7313649B2 (en) * 2004-04-28 2007-12-25 Matsushita Electric Industrial Co., Ltd. Flash memory and program verify method for flash memory
US20070011396A1 (en) * 2005-06-30 2007-01-11 Utstarcom, Inc. Method and apparatus for bandwidth efficient and bounded latency packet buffering
US7406576B2 (en) * 2005-08-10 2008-07-29 Seiko Epson Corporation Semiconductor memory device
US7409492B2 (en) * 2006-03-29 2008-08-05 Hitachi, Ltd. Storage system using flash memory modules logically grouped for wear-leveling and RAID
US20090161429A1 (en) * 2007-12-21 2009-06-25 Atmel Corporation Dynamic column redundancy replacement

Also Published As

Publication number Publication date
CN103052948A (zh) 2013-04-17
KR101837111B1 (ko) 2018-04-19
WO2012006062A1 (en) 2012-01-12
US20120011298A1 (en) 2012-01-12
US9183141B2 (en) 2015-11-10
US20150039817A1 (en) 2015-02-05
TW201209836A (en) 2012-03-01
US8868852B2 (en) 2014-10-21
CN103052948B (zh) 2016-08-17
KR20140007317A (ko) 2014-01-17

Similar Documents

Publication Publication Date Title
TWI506638B (zh) 用於非揮發性半導體記憶體之介面管理控制系統及方法
US9141538B2 (en) Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
US8180931B2 (en) USB-attached-SCSI flash-memory system with additional command, status, and control pipes to a smart-storage switch
USRE46201E1 (en) Method and controller for performing a sequence of commands
JP6163532B2 (ja) メモリシステムコントローラを含む装置
US20230139330A1 (en) Storage device for a blockchain network based on proof of space and system including the same
US8443263B2 (en) Method and controller for performing a copy-back operation
CN105229592B (zh) 用于生成用以由于错误而重新访问存储驱动器的非易失性半导体存储器的描述符的装置和方法
KR20120098505A (ko) 비휘발성 메모리를 갖는 시스템에 대한 효율적인 버퍼링
US20180314467A1 (en) Storage device, computing system including the storage device, and method of operating the storage device
TWI418991B (zh) 針對智慧型儲存交換器所設計的快閃記憶體系統
US9135168B2 (en) Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
JP2021500693A (ja) 不揮発性ストレージデバイスに高速にアクセスするためのシステムおよび方法
US11681638B2 (en) Method of synchronizing time between host device and storage device and system performing the same
US20180364946A1 (en) Data storage device
TWI787110B (zh) 寫入資料到閃存記憶體的方法及裝置
KR102547251B1 (ko) 비휘발성 메모리 장치를 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법
US20230161667A1 (en) Controller controlling non-volatile memory device, storage device including the same, and operating method thereof

Legal Events

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