TWI439866B - 記憶體系統及其操作方法 - Google Patents

記憶體系統及其操作方法 Download PDF

Info

Publication number
TWI439866B
TWI439866B TW094127024A TW94127024A TWI439866B TW I439866 B TWI439866 B TW I439866B TW 094127024 A TW094127024 A TW 094127024A TW 94127024 A TW94127024 A TW 94127024A TW I439866 B TWI439866 B TW I439866B
Authority
TW
Taiwan
Prior art keywords
data
node
nodes
memory
command
Prior art date
Application number
TW094127024A
Other languages
English (en)
Other versions
TW200627174A (en
Inventor
Alan Welsh Sinclair
Original Assignee
Sandisk Technologies Inc
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 Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW200627174A publication Critical patent/TW200627174A/zh
Application granted granted Critical
Publication of TWI439866B publication Critical patent/TWI439866B/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

記憶體系統及其操作方法
本發明一般係關於匯流排結構及其於電子系統中之操作,以在此類系統之組件間進行通信,更明確地說,係關於環狀匯流排為此目的於(具體而言)快閃記憶體系統中之利用。
如今有許多商業上成功的可再程式化非揮發性記憶體產品,尤其是以小形狀因數卡為形式,其採用形成於一或多個積體電路晶片上的快閃EEPROM(電可抹除可程式化唯讀記憶體)單元之陣列。一記憶體控制器(其通常但不一定位於單獨的積體電路晶片上)與一主機(該卡以可移除方式連接到該主機上)連接並控制該卡內記憶體陣列的操作。此類控制器通常包括一微處理器、某種非揮發性唯讀記憶體(ROM)、一揮發性隨機存取記憶體(RAM)以及一或多個專用電路,例如,在程式化與讀取資料期間當資料通過該控制器時,從資料計算誤差校正碼(ECC)的專用電路。
一些使用快閃記憶體的市售卡為CompactFlashT M (CF)卡、多媒體卡(MultiMedia card;MMC)、安全數位(Secure Digital;SD)卡、小型SD卡、智慧媒體卡、xD圖像卡、快閃記憶卡及記憶棒卡。主機包括個人電腦、筆記型電腦、個人數位助理(personal digital assistant;PDA)、各種資料通信裝置、數位相機、蜂巢式電話、可攜式聲頻播放器、汽車聲音系統及同樣類型的設備。許多主機具有一或多個插槽以接收一或多種商業記憶卡類型,及/或可透過通用串列匯流排(Universal Serial Bus;USB)插座等等連接至讀卡機。亦可用USB快閃驅動器,其直接插入主機USB插座以連接主機與驅動器內記憶體。除記憶卡及快閃驅動器實施方案實施外,可將快閃記憶體系統嵌入各種類型之主機系統。此等及額外快閃記憶體產品可從本專利申請案之受讓人SanDisk Corporation公司獲得。
主要有兩種一般記憶體單元陣列架構可應用到商業中,即NOR與NAND。在典型的NOR陣列中,記憶體單元係連接於鄰近的位元線來源與汲極擴散體之間,該等擴散體沿行方向延伸,並且控制閘極係連接至沿單元列延伸的字線。一記憶體單元包括至少一儲存元件,其位於該來源與汲極之間的單元通道區段之至少一部分之上。儲存元件上已程式化的電荷位準因而控制該等單元的操作特徵,於是可藉由向已定址的記憶體單元施加適當的電壓而讀取該等單元。美國專利第5,070,032、5,095,344、5,313,421、5,315,541、5,343,063、5,661,053及6,222,762號中提供此類單元之範例、其於記憶體系統內之利用以及製造其之方法。
NAND陣列利用兩個以上記憶體單元(例如16或32個)之串聯串,其連同一或多個選擇電晶體連接在個別位元線與一參考電位之間,以形成單元行。字元線延伸橫跨大量此等行內的單元。一行內的個別單元係在程式化期間藉由使該串內的其餘單元硬開啟,使流過一串的電流取決於該已定址單元中所儲存的電荷之位準,而加以讀取與驗證。美國專利第5,570,315、5,774,397、6,046,935、6,522,580號以及美國專利申請公開案第2003/014278號中可找到NAND架構陣列之範例及其作為記憶體系統之部分的操作。
如前述參考專利所說明的當前快閃EEPROM陣列之電荷儲存元件最常見係導電漂浮閘極。可用於快閃EEPROM系統的替代類型記憶體單元利用非導電介電材料替代導電漂浮閘極來以非揮發性方式儲存電荷。採用介電儲存元件的數個特定單元結構與陣列係說明於Harari等人的美國專利申請公開案第2003/0109093中。
如同在大多數積體電路應用中一樣,快閃記憶體單元陣列中亦存在縮小用於實施某些積體電路功能所需的矽基板面積之壓力。一直需要增加給定面積之矽基板中可儲存的數位資料量,以便增加給定尺寸記憶卡及其它類型封裝的儲存容量,或同時增加容量及縮小尺寸。一種用於增加資料儲存密度的方式係每記憶體單元及/或每一儲存單位或元件儲存一個以上的資料位元。此係藉由將儲存元件電荷位準電壓範圍之視窗分成兩個以上的狀態而完成。使用四個此類狀態允許每個單元儲存兩位元資料,八個狀態允許每個儲存元件儲存三位元資料,等等。美國專利第5,043,940及5,172,338號中說明使用漂浮閘極之多狀態快閃EEPROM結構及其操作,使用介電漂浮閘極之結構在前述美國申請公開案第2003/0109093號中予以說明。由於各種原因多狀態記憶體單元陣列的選定部分亦可以美國專利第5,930,167及6,456,528號內所述之方式採用兩種狀態(二進制)進行操作。
再程式化前抹除快閃記憶體單元。典型快閃陣列的記憶體單元係分成一起予以抹除之離散單元區塊。就是說,區塊係抹除單位,即可同時抹除的最小數目之單元。每個區塊通常儲存一或多個頁面的資料,該頁面係程式化與讀取的最小單位,儘管一個以上的頁面可在不同的記憶體單元子陣列或平面中平行地加以程式化或讀取。每個頁面通常儲存一或多個區段的資料,區段的尺寸係由主機系統定義。遵循磁碟驅動器而建立之一標準,一範例區段包括512個使用者資料位元組,還加上關於使用者資料及/或該等使用者資料儲存區塊的管理負擔之特定數目的位元組。此類記憶體通常配置為在每個區塊內具有16、32或更多頁面,並且每個頁面儲存一或多個主機區段的資料。
為了增加將使用者資料程式化入記憶體陣列中以及從其讀取使用者資料期間的平行度,通常將陣列分成子陣列,常稱為平面,其包含其自己的資料暫存器與其他電路,以允許平行操作,以便將多個區段的資料同時程式化到數個或所有平面中的每一個平面或從數個或所有平面中的每一個平面同時讀取多個區段的資料。單一積體電路上的陣列可在實體上分成多個平面,或每個平面可由單獨的一或多個積體電路晶片所形成。美國專利第5,798,968及5,890,192號中說明此一記憶體實施方案之範例。
為了進一步有效地管理記憶體,可將區塊連結在一起,以形成虛擬的區塊或元區塊。就是說,每一元區塊係定義為包括來自數個或全部平面之每一平面的一區塊。美國專利申請公開案第2002/0099904號中說明元區塊之利用。藉由主機邏輯區塊位址將元區塊識別為用於程式化及讀取資料之目的地。同樣,一元區塊的所有區塊係一起被抹除。
採用此類較大區塊及/或元區塊之記憶體系統內的控制器執行主機賦予該控制器的許多功能,以便維持有效操作。執行重複資料整理(「廢料收集」),以便有效利用記憶體之儲存容量。當執行廢料收集時,該控制器通常暫停其對記憶體執行資料傳輸的主要功能,從而可能對系統性能產生不利影響。美國專利第6,266,273號內揭示對記憶體陣列晶片本身資料的某種有限複製。
典型快閃記憶體系統包括一或多個積體電路晶片,其各包含記憶體單元陣列及相關聯周邊電路系統,以及另一積體電路晶片,其包含控制器。對於某些應用,在單一晶片上包括控制器及記憶體陣列。任一情形中,於所有記憶體系統組件可連接的共同雙向系統匯流排上,在控制器與一或多個快閃記憶體單元陣列、子陣列、平面或積體電路晶片間進行資料、地址、命令及狀態資訊通信。
快閃記憶體系統之操作速度受限於此類匯流排之利用。由於單一匯流排較長,系統操作頻率受限於雙程延遲及匯流排內固有的較大電容負載。僅在控制器與記憶體晶片之一間的匯流排上可進行通信。當匯流排忙於在系統之特定位置間發送資料之一單位時,系統之其他組件不可使用用於資料傳輸之匯流排。通常不會直接在記憶體單元之分離單位間(即,分離陣列、子陣列、平面或晶片間)傳輸資料。相反,此類資料傳輸通常包括在共同匯流排上傳遞資料至緩衝記憶體內用於暫時儲存之控制器,其係傳輸之部分。
因此,在本文所述的對傳統匯流排之改良中,記憶體系統的控制器及所有記憶體單元陣列、子陣列、平面及記憶體系統之積體電路晶片在一迴路或環中透過個別匯流排介面電路(節點)彼此連接。該環狀匯流排之節點間片斷單獨加以驅動,從而大大減小每一驅動片斷之電容數量,因此增加了允許匯流排操作頻率。可直接在記憶體單元陣列、子陣列、平面及晶片間以及其中任一項與控制器間進行資料通信。但通信資料不必首先通過控制器。匯流排較佳形成一封閉迴路,以及資料、命令及狀態資訊繞該迴路以單一方向加以傳輸。資料較佳完全環繞該環傳輸至其始發節點,於該點可選擇性檢查傳輸後的資料有效性。本文所述之環狀匯流排可替代先前記憶體系統中使用的傳統匯流排,例如以上先前技術中所說明的匯流排。
較佳實施方案中,單一主節點,通常為系統控制器之主節點,控制藉由環狀匯流排連接的所有其他節點之操作。藉由隨附的節點位址將控制器所發出之特定命令定制到一或多個節點,導致僅定址節點才對命令起作用。總體命令,例如初始化及組態命令,由所有節點接受。在各節點中環繞該匯流排傳輸資料前,將節點設置成應付特定傳輸。例如,若從一個記憶體單位(例如晶片、子陣列或平面)傳輸資料至另一個記憶體單位,將資料從來源單位讀取至與其節點連接的暫存器,並將目的地節點配置成接收資料。隨後傳輸命令則使預計傳輸發生於來源與已藉由命令調節的目的地節點間。此系統及操作之優點為在記憶體單位間以及記憶體及控制器節點單位間直接進行此類資料傳輸的能力。
環狀匯流排操作中可包括的另一特徵為分時多工。就是說,在指派時槽或訊框內環繞匯流排傳輸資料。因此同時可傳輸多個資料訊框。時槽數目較佳的係加以動態調整,以等於同時傳輸之資料的訊框數目。資料訊框不必具有環繞該環的相同來源或目的地節點。連接匯流排節點的記憶體系統組件之資料頻寬要求因此不必與匯流排同樣高,因為資料係以其個別訊框速率對特定組件或自特定組件進行傳輸,該訊框速率係環狀匯流排之資料傳輸速率的一小部分。特定範例中,用於設置資料傳輸節點的命令係不用分時多工而環繞匯流排加以發送,但採用期望附著節點的地址。預計資料傳輸接著使用多個時槽而發生。狀態資訊亦可使用時槽之一環繞匯流排進行通信。
作為另一特徵,從記憶體讀取之資料的完整性可藉由將資料經過通常由控制器提供的誤差校正功能而加以容易地檢查,最方便的係藉由專用於執行誤差校正碼(error correction code;ECC)的電路。若完全環繞該環傳輸資料,較佳的係其始終經過控制器節點,不論將來源及目的地節點相對於控制器定位於何處。啟動資料傳輸的節點亦可採用其放置於匯流排上的資料選擇性地驗證通過環繞匯流排後接收的資料,以便確定資料未被傳輸毀損。
作為另一特徵,控制器的各種功能及組件亦可透過節點單獨連接至系統環狀匯流排,包括處理器、緩衝記憶體及ECC電路。節點對節點命令及資料傳輸的靈活性及平行度則得以提高。在未涉及記憶體系統其他組件時,出於有效操作原因,控制器組件中的直接命令資料傳輸亦可包括傳統控制器匯流排。
為提供與現有傳統控制器之向後兼容性,記憶體單元陣列積體電路晶片可具有用於連接傳統匯流排之介面,透過該介面,在利用調適成使用環狀匯流排的控制器時,上述環狀匯流排亦可連接。此雙重模式匯流排介面使快閃記憶體晶片可用於具有任一類型控制器的記憶體系統中。
在積體電路記憶體晶片之一實施方案中,一或多個記憶體資料節點係以串聯方式連接於外部輸入與輸出匯流排接點間。然後藉由將匯流排接點相連接以將其連接成一封閉迴路,以串聯方式連接一或多個記憶體晶片與控制器晶片。多記憶體晶片與一晶片(其連接至另一記憶體晶片之匯流排輸入)的匯流排輸出連接。為能夠利用單一印刷電路板(PCB)方便地製造具有不同數目之記憶體晶片的記憶卡,個別記憶體晶片可具有兩組匯流排輸出觸點,一組用於串聯連接下一記憶體晶片,另一組用於連接返回控制器晶片之匯流排路徑。接著將附著於PCB之每一記憶體晶片的匯流排返回輸出觸點連接至PCB上的一單組導體,其依次向用於一至某最大數目中任何數目之記憶體晶片的控制器提供返回匯流排路徑。然後在該等記憶體晶片系列之最後一個晶片內致動返回匯流排輸出觸點,以連接PCB上的返迴路徑導體,同時停用所有其他記憶體晶片之返回匯流排輸出觸點。相反,其他記憶體晶片具有與另一記憶體晶片之匯流排輸入連接的其他輸出,以形成記憶體晶片與環狀匯流排的串聯連接。
本發明之額外方面、優點及特徵包括於以下關於其範例之說明中,此說明應結合附圖。本發明之各方面可實施於需要高頻匯流排以在組件間傳輸資料的各種類型之記憶體系統內,本文所說明的單一類型快閃記憶體系統實施方案係用於例示本發明。另外,本發明之許多方面及特徵可採用相似優點實施於使用內部匯流排之其他類型電子系統中。
本文所引用的全部專利、專利申請案、論文及其他公告案之全部內容皆出於各種目的而以引用的方式併入本文中。
傳統匯流排系統之背景說明
參考圖1,說明具有傳統匯流排之典型快閃記憶體系統,以便為本發明之各種方面及特徵的隨後說明提供一背景。通常將系統控制器實施於單一積體電路晶片11上,其與系統匯流排13上的一或多個積體電路記憶體晶片平行地連接,圖1內顯示一此類單一記憶體晶片15。所說明的特定匯流排13包括用於載送資料的一分離組導體17、用於記憶體地址的一組19以及用於控制及狀態信號的一組21。或者,一單一組導體可在此等三個功能間進行分時。
典型控制器晶片11具有其自身內部傳統匯流排23,其透過介面電路25與系統匯流排13連接。通常與匯流排連接的主要功能係處理器27(例如微處理器或微控制器)、包含初始化(「啟動」)系統之代碼的唯讀記憶體(ROM)29、主要用於緩衝在記憶體與主機間傳輸之資料的隨機存取記憶體(RAM)31、針對通過記憶體與主機間控制器之資料計算並檢查誤差校正碼(「ECC」)的電路33。控制器匯流排23透過電路35與主機系統進行介接,在記憶卡內包含圖1之系統的情形中,其透過卡的外部接點37來完成。藉由控制器11之其他組件的每一組件連接時脈39並加以使用。
記憶體晶片15以及與系統匯流排13的其他任何連接的任何其他組件通常包含記憶體單元陣列,其係組織成多子陣列或平面,為簡單起見圖示兩個此類平面41及43,但更典型實施為四或八個此類平面。或者,記憶體晶片15可包括未分割成平面的記憶體單元陣列。不過當已進行分割時,每一平面具有其自身行控制電路45及47,該等電路可獨立於彼此進行操作。電路45及47從系統匯流排13之位址部分19接收其個別記憶體單元陣列之位址,並將其解碼以及定址一或多個特定個別位元線49及51。平面41及43具有對位址匯流排19上接收之位址作出回應透過列控制電路55加以定址的共同字元線53。記憶體單元陣列41及43之NAND架構目前較佳。來源電壓控制電路57及59亦與個別平面連接,p井電壓控制電路61及63同樣如此。
透過與系統匯流排13之資料部分17連接的個別資料輸入/輸出電路65及67將資料傳輸入及傳送出平面41及43。透過經由個別行控制電路45及47連接至各平面的線路69及71,電路65及67可用於將資料程式化至記憶體單元內以及從其個別平面之記憶體單元讀取資料。
儘管控制器11控制記憶體晶片15之操作以程式化資料、讀取資料、抹除以及參予各種內務處理事務,每一記憶體晶片亦包含某控制電路,其執行來自控制器11之命令,以執行此類功能。介面電路73與系統匯流排13之控制及狀態部分21連接。將來自控制器之命令提供給狀態機75,其接著提供其他電路之特定控制,以便執行此等命令。控制線77至81連接狀態機75與圖1內所示的此等其他電路。在線路83上將來自狀態機75的狀態資訊傳遞至介面73,以便在匯流排部分21上傳送至控制器11。
從圖1之記憶體系統可看出控制器晶片11與記憶體晶片15之各種部分間的通信取決於與控制器及記憶體晶片平行連接之單一系統匯流排13上的通信限制。
示範性環狀匯流排具體實施例之詳細說明
圖2至9內說明使用環狀匯流排代替上述傳統匯流排15之記憶體系統的第一具體實施例。先參考圖2,控制器積體電路晶片101及單一記憶體晶片103形成記憶體系統,但也可包括額外記憶體晶片。所說明之記憶體晶片103具有記憶體單元之四個平面105至108,但亦可使用更少、甚至一或四個以上的記憶體平面。行控制電路110至113與個別平面105至108連接。透過選擇兩個資料暫存器A或B之一的個別多工電路115至118將資料程式化至記憶體平面105至108內並從其中讀出。資料程式化期間,將儲存於特定平面之暫存器A或B(藉由其多工器加以選擇)內的資料程式化至該平面內。同樣,資料讀取期間,將從一平面讀取之資料寫入暫存器A或B之一(藉由其多工器加以選擇)。此等兩個暫存器之利用並非必需的,可代替使用單一暫存器,但其在記憶體系統操作中增加了靈活性及平行度程度。命令及控制電路121提供與狀態機75及圖1之系統的各個控制電路類似的功能。
在圖2之範例中,每一記憶體陣列平面105至108透過環狀匯流排介面節點123至126之個別一節點對從平面讀出或需要程式化至平面內的資料進行通信。每一平面之資料暫存器A或B兩者皆與該平面之節點連接。藉由環狀匯流排介面節點127接收來自控制器101之命令並透過相同節點將狀態信號傳送回至控制器。節點127與記憶體積體電路晶片103之控制電路121連接。若該系統內包括額外記憶體晶片(圖2內未顯示),此特定範例中每一晶片將具有其自身命令介面節點。
同樣地,控制器晶片101包括與控制器130連接的環狀匯流排節點128。圖2之控制器130可與圖1之控制器11相似,除了節點介面128(圖2)取代記憶體介面25。
節點123至128在一迴路內相連接,以便在其中傳輸資料、位址、命令及狀態資訊。該迴路藉由環狀匯流排加以形成,該匯流排具有載送資料之一線路133以及載送來自控制器130之命令的另一線路135。或者,可使用兩或多個資料線及/或環狀匯流排內可包括兩或多個命令線,以便增加資訊傳輸頻寬,但此會造成更複雜的匯流排節點電路及操作。匯流排內可包括另一線路137,以載送時脈信號至節點。或者,若資料線133及命令線135上的資訊採用自定時格式,可省略時脈線。
操作圖2之系統,以在環狀匯流排上以管線方式傳輸資料及命令,其中較佳在每一節點引入一或數個時脈週期之延遲。資料線133、命令線135及時脈線137在積體電路晶片101及103上以及該等線路間遵循相同路徑,並在每一節點對三條線路內之信號引入相同延遲。資訊僅在相鄰節點間沿匯流排之片斷進行點對點傳輸,而非存在於整個匯流排上,如傳統匯流排之方式,因此使環狀匯流排之極高頻操作成為可能。匯流排上之信號可完全為數位式,其振幅由可用電源供應電壓來設定。不過,較高操作頻率及減小之功率消耗可藉由代替使用適當高速發信技術,例如低電壓擺動發信、完全差動發信、偽差動發信、雙倍資料速率或電流模式驅動器之利用。
較佳的係命令僅發自控制器節點128,使得該節點成為環狀匯流排上的單一主節點。從命令線135上的控制器節點128進行命令代碼通信,以便由一或多個其他節點123至127加以執行。但命令執行僅針對一單一節點時,同時在資料線133上發送該節點之對應識別碼。目標節點則僅為接受執行用命令的節點。
在資料線133上傳輸的資料可發自節點123至128(來源節點)之任一節點,並被引導至任何一或多個其他節點(目的地節點)。此類資料傳輸前,為其配置來源及目的地節點。接著繞環狀匯流排進行資料傳輸。所傳輸之資料較佳的係環繞整個環狀匯流排進行傳播並返回始發節點。此確保配置成執行此功能的任何其他節點可讀取被傳輸資料,例如利用ECC檢查資料有效性的節點。此也使始發節點檢查環繞環狀匯流排之傳輸期間發生的接收資料誤差成為可能,例如藉由比較原始發送資料或使用冗餘同位位元。
在圖2之系統的一特定操作(大多數情形下較佳)中,採用分時多工,在資料線133上按訊框或時槽環繞環狀匯流排發送資料。此使得兩或多個不同通道之資料可繞環狀匯流排進行同時傳輸,例如不同資料區段,其可具有不同來源及/或目的地節點。選擇用於每次資料傳輸之時槽數目,以容納同時發生的資料傳輸之數目。使個別節點之特定功能可採用更少頻寬來操作的同時,此方法充分使用環狀匯流排之頻寬,以及與個別節點連接的記憶體資料程式化及寫入電路。
參考圖3A之時序圖,同時說明三個通道0至2的時間多工資料傳輸。在命令線135上發送作為標記的單一週期「尖波」,以指示開始於資料線133上的訊框包含有效資料。最常見係在作為尖波之相同時脈週期中開始的資料線133上,藉由作為插入時間訊框之資料來源的任一節點將尖波插入命令線135。因此環狀匯流排之資料線133及命令線135應以相同方式發送並同步地進行操作。資料時槽之時序及定義以下述方式加以控制,其不使用尖波來執行。
將圖3A之範例中的資料訊框A、B及C分別發送至通道0、1及2內。兩個週期中通道1不載送有效資料,該時間後初始資料訊框B可用於環狀匯流排上的傳輸。當在記憶體與主機系統間傳輸資料時,依此方式在任何記憶體訊框節點123至127間傳輸一通道之資料,從而不必經過控制器130而在記憶體晶片103內的平面間,或在一或多個平面與控制器節點128間傳輸資料。
圖3B及3C之時序圖於概念上說明分時多工之兩個特定實施方案,其用於環繞具有D節點數目之環狀匯流排傳輸資料。每一時間訊框之持續時間(長度)為A時脈週期。雖然以下說明的特定範例之資料匯流排時槽為四個時脈週期,數目A可少至一個並高至8、16、32或更多個。將通過節點之資料的延遲指示為B時脈週期。通常將參數A及B之各參數設計於記憶體系統內,因此不會在系統操作期間被改變。使用數目C之時槽。
在圖3B內說明的環狀匯流排操作中,通道(時槽)之數目C等於匯流排上節點之數目D。訊框長度A亦等於節點間之匯流排延遲B,兩者皆以時脈週期數目加以測量。每一節點儲存通過其之位元數目,其通常藉由具有B個儲存暫存器級而等於延遲B。此等參數之利用使資料可得以同時傳輸至匯流排上的每個資料節點。所有時槽中,每一資料位元位置具有環繞匯流排的一儲存暫存器。此使得C個配置資料時槽透過各節點連續循環。因此可存在用於典型資料傳輸操作的最大數目之通道。事實上,由於每一控制節點包括通常未接收或發送資料的一通道,所以產生一或多個額外通道。其可用於將狀態資訊傳送回至控制器。對於系統內的每一記憶體晶片,通常使用一通道來傳送狀態資訊。
然而,儘管以圖3B之方式可方便地實施分時多工,幾乎不需要此最大數目之資料通道。較佳的係根據任何特定資料傳輸操作之需要使用最少時槽C,以便最大限度地利用資料匯流排頻寬。圖3C之時序圖說明具有動態選定通道數目C的匯流排之操作,該數目可等於給定資料傳輸所需數目,但該操作不必包含圖3B所示之操作中可出現的許多空時槽。
圖3C中,所說明之情形中使用少於匯流排上節點數目D的通道數目C。此範例中,來自節點之資料訊框順序以同時具有相同通道識別項的至少兩個時槽環繞環狀匯流排進行循環。例如,若匯流排上具有D=12個節點,且多工操作已動態地指定C=6個通道之資料需要同時加以傳輸,每一通道環繞匯流排出現兩次。由於D/C係整數,此方式較為簡捷,此範例中,該整數等於2。但圖3C內顯示更頻繁的情形,其中D/C非整數。此情形中,插入一或多個未使用時槽,未使用時槽表示為「零槽」。插入若干零槽,以便節點數目D減零槽數目再除以時槽數目C時等於一整數。即,(D-[零槽])/C等於一整數。
圖3C內指定在資料匯流排上傳輸的所有C資料訊框(時槽)之一序列,以形成一「週期」。重複整數N個週期,以便環繞匯流排形成一時槽群組,此範例中N小於資料所通過之匯流排上的節點數目D。為使時槽序列等於節點數目D,附加一零槽,以有效地將該群組延伸N個週期加零槽。在圖3C之範例中,N=D-1,且藉由在圖示處插入零槽完成該遺失1之補償。另一情形中,N=D-2,插入(例如)兩個零槽。此使得完全環繞該匯流排移動資料群組一次所需之時脈週期總數等於環繞該環之一位元儲存位置的總數。針對給定資料傳輸操作選擇數量N及C,以最小化環繞該環循環之未使用零槽的數目,因為其利用在某種程度上減小了匯流排之資料傳輸頻寬。必要時,零槽無相關聯資料通道,並且環繞該環以節點對節點方式連續循環。在該零槽內以節點對節點方式傳遞具有「不相關」值的零資料。
圖4內顯示圖2之每一資料節點123至126的示範性電路實施方案。環狀匯流排之資料線133上的一位元資料信號由暫存器級151接收,並透過串聯的連續暫存器152、154及156加以偏移。所說明的四個暫存器級匹配四個時脈週期之時槽長度A。最後級156及第一級151之輸出皆作為輸入連接至切換電路153。此使得電路153可採用一或四個延遲週期進行操作。切換電路153之輸出透過驅動器155連接回至資料線133。當切換電路153具有來自與其輸出驅動器155連接的暫存器156之輸入時(最常見組態),於四個時脈週期後將一資料節點之暫存器151所接收的一位元資料放置回至資料線133上,以便在環狀匯流排之另一片斷上傳送至下一資料節點。同樣地,當切換電路153具有來自與其輸出驅動器155連接的暫存器151之輸入時,延遲為一個時脈週期。在藉由來自暫存器A或B之一的節點將資料放置於資料線上的時槽期間,切換電路153不具有與其輸出連接的任一此等資料匯流排輸入。
若資料匯流排使用兩個或更多平行資料線,而非所說明之單一線路,為每一線路提供分離暫存器級,且切換電路153將其一同加以切換。例如,若資料匯流排包含四個線路,資料節點包括每一線路內之單一暫存器級。此一情形中,每一節點傳輸穿過其之一時槽的四位元之總延遲係單一時脈週期,而非四個週期。儘管此方法有利地增加了匯流排頻寬,但電路系統及系統操作更為複雜。
命令線135對資料節點之輸入同樣連接至另一系列之四個暫存器157、158、160及162。命令係與資料線133上的資料同步地在命令線135上選路,即施加相同的延遲。最後暫存器162之輸出及第一暫存器級158之輸出皆與切換電路153連接,與資料暫存器路徑相同。可藉由切換電路153將任一此等輸入連接至驅動器159,以便採用一或四個時脈週期之延遲將命令資訊放置於環狀匯流排之下一片斷上。當節點需要將尖波放置於命令線135上時,此指示有效資料藉由此時出現之時槽內的節點得以放置於資料匯流排133上,此等輸入不會與驅動器159連接。若資料匯流排包含兩個或更多線路,命令匯流排較佳的係簡單地加以構造,包括利用平行暫存器,以便兩個匯流排同步地進行操作。
時脈信號線137直接與驅動器161連接,並為資料及命令暫存器級提供計時,以及為資料節點之剩餘電路提供時脈信號。
解碼器163於暫存器157之輸出接收來自命令線135之控制器命令,並於暫存器151之輸出接收資料線133上的相關聯資料。解碼器之功能包括命令執行,以將其節點配置成在隨後資料傳輸中接收或發送資料。與資料線133上供應的命令相關聯之資料可包括命令所指向之節點識別號碼、需要發送或接收資料之通道號碼、是否使用暫存器A或B、傳輸資料長度以及其他組態資訊。
暫存器165包含在記憶體系統之啟動或其他初始化操作後儲存於其中的唯一節點識別號碼。此步驟較佳由系統控制器發出的總體初始化命令來完成。識別號碼在操作期間用作節點指向的控制器發出之命令位址。儘管環狀匯流排之所有節點都會接收命令,該命令係在具有命令指向之節點識別號碼的匯流排上加以發送。因此僅採用其識別號碼定址的一或多個節點作出回應而儲存並執行該命令。
另一暫存器167包含時間多工資料匯流排之通道的號碼,特定節點在該匯流排上進行通信。此通道號碼通常在對資料匯流排133上節點的每次資料傳輸前作為節點組態之部分被重新寫入。資料傳輸期間,儲存之通道號碼用於識別用於該節點之指派通道的時槽之出現,以便發送或接收資料。將當前傳送操作中傳輸的資料之長度儲存於另一暫存器168中,該資料對於暫存器A或B之指定用於暫存器170內的傳輸。藉由在命令線135上環繞匯流排傳送之命令(其包括儲存於暫存器165內之節點識別號碼),透過解碼器163將暫存器167、168及170之參數載入其中。
圖4之切換電路153透過個別資料線169及171之一在資料匯流排線133與暫存器A及B(如圖2內所示)之一間建立連接。控制電路將節點配置成於暫存器A或B之一與資料線133間傳輸資料。當從用於節點之記憶體平面內儲存的匯流排傳輸資料時,電路153於暫存器151或暫存器156(由線路182上的解碼控制信號加以選擇)之輸出處引導來自匯流排線133之資料至線路177上控制信號所選擇的暫存器A及B之一。然而,當在指派給節點之時槽期間沿相反方向從暫存器A或B之選定者傳輸資料至資料匯流排線133時,切換電路153將選定暫存器之輸出連接至驅動器155,同時斷開暫存器151與驅動器155間的資料匯流排線133之片斷。其他期間,連接切換電路153,以使資料通過節點而不對該等資料執行任何操作,除了賦予一或四個延遲時脈週期外。當節點未在其資料暫存器A或B之一與資料匯流排133間傳輸資料時,在暫存器151或暫存器156與驅動器155間保持資料匯流排線133之通過連接。
切換電路153於適當時間實施此等連接的控制源自控制線路175至179及182上解碼器163發出的信號,以及其他控制線路180上通道計數器181的輸出。採用線路183至186上的四個信號藉由解碼器163控制計數器181。線路183載送初始化信號,其在採用節點的資料傳輸操作之開始重設計數器181。線路185載送用於當前資料傳輸之通道數目的資料,其藉由控制器進行通信,作為用於資料傳輸之節點的設置操作之部分。同時將匯流排環上節點數目D供應至線路186上之計數器181,並在電路184上進行週期數目N(見圖3C)之通信。計數器181計數至最高通道數目,接著重設為最低通道數目,暫停,再次開始計數,依此類推。將當前計數,即當前通道數目,輸入線路180上的切換電路153。電路153比較該數目與指派給節點的通道數目,其係從來自暫存器167之控制線路175上的解碼器予以提供。當此等數目相同時,電路153切換節點以從或向資料匯流排133接收或發送資料,直至傳輸完成,此操作取決於來自暫存器168的控制線路176上提供之資料傳輸長度。
線路177上之控制信號指定採用節點的暫存器A還是暫存器B來傳輸資料。線路178及179載送切換電路153之信號,以便(1)從資料匯流排線133接收資料,該情形中資料匯流排通過節點,藉由控制線路177識別之暫存器與該資料匯流排連接,(2)在指派給節點之時槽期間從識別暫存器發送資料至匯流排線133,該時槽中匯流排線133不通過該節點,或(3)使資料匯流排線133通過該節點,而不與暫存器A或B連接。
參考圖4說明的資料介面節點控制匯流排133與暫存器A及B間的資料傳輸。從記憶體單元陣列平面讀取用於傳輸至匯流排133上的資料至暫存器A或B內,或從暫存器A或B將從匯流排133獲得之資料程式化至記憶體單元陣列內,皆透過命令環狀匯流排介面節點127(圖2)加以控制。圖5內給出命令節點電路之一範例,此處藉由相同但具有附加符號(')的參考數字識別與圖4內相同的元件。暫存器193在被解碼器197發出的線路195內之控制信號致動後,儲存從命令匯流排135接收之命令資料。同樣,暫存器199在被解碼器發出的線路201內之信號致動後,儲存從資料匯流排133接收之資料。暫存器199主要利用係在用於讀取或程式化之被存取記憶體單元陣列內儲存位址。
在個別線路203及205上輸出暫存器193及199內之資料,該等線路與狀態信號線路207一起連接信號路徑209上的記憶體陣列控制電路121(圖2)。線路203載送之原則命令係在線路205內位址所指定之位置,對一或多個記憶體平面105至108執行資料程式化及讀取,並對暫存器A或B之一進行出入傳送的命令。線路203上載送之命令代碼係由記憶體晶片103內之命令及控制電路121(圖2)的協定指定之命令代碼。此協定不必與用於環狀匯流排內的命令代碼之協定相同。例如,環狀匯流排命令代碼可具有不同於記憶體單元陣列內所使用之命令代碼的長度。此情形中,可將譯碼機(未顯示)併入命令暫存器193之輸出(圖5)。用於將一個協定轉換至另一協定的映射資訊可藉由系統組態命令得以載入該譯碼機。狀態線207從控制電路121透過切換電路211提供狀態信號至時間多工通道之一內的資料匯流排線133,時間多工通道係在設置用於節點間資料傳輸的記憶體系統時予以指定。
圖5之切換電路211在功能上比圖4之切換電路153簡單。根據線路214內之控制信號的選擇,通過暫存器151'或暫存器156'間的資料線133,除在時槽期間(將來自線路207之狀態資訊放置於線路133上)的所有時間中,始終通過驅動器155'。根據通道計數器181'及線路175'內的指派通道數目,用與圖4之切換電路153以及線路213上之控制信號相同的方式,藉由切換電路211決定已配置時槽之發生。在資料傳輸前後,在節點間資料傳輸期間將狀態資訊放置於匯流排133上,同時從系統控制器接收命令及位址並傳輸至暫存器193及199內,可更早地從快閃記憶體讀出資料並傳輸入暫存器A及B之一或兩者,以便傳輸至另一節點,或稍後程式化至已從另一節點傳輸至此等暫存器內的快閃記憶體資料。
圖6A至6I顯示操作圖2至5之記憶體系統的一組命令,全部藉由控制器130透過其環狀匯流排128節點(圖2)發出。為方便起見,顯示個別匯流排線135(CMND)及133(DATA)上命令及資料透過環狀匯流排之三個節點的傳輸,其以時間順序發生。當然,記憶體系統可能具有遠多於三個的環狀匯流排節點,其中圖6A至6I內所示的圖案被擴大,以顯示每一節點處的信號、延遲一個時脈週期的一節點之信號與前一節點之信號。應注意此特定範例中,在先於每一命令之時脈週期中的命令線上傳送尖波,並且還對資料線上傳送之資料標記開頭部分。除所說明之單一週期尖波外,每一命令前的尖波可佔據多個時脈週期,並可定義為致動隨後命令所需的唯一代碼。此會提供對發送命令錯誤偵測的更大免疫力。
圖6A、6B及6C之命令係由環狀匯流排上每一節點執行的組態命令。藉由圖6A或6B之替代命令,在每一節點之暫存器165及165'(圖4及5)內儲存唯一代碼識別(ID)號碼。圖6A中,在命令匯流排線135上傳送組ID命令,其開頭部分用尖波加以標記。唯一代碼識別號碼(ID)接著沿資料線133前進,其開頭部分用命令線上的尖波加以標記。藉由作為節點切換電路153或211(圖4及5)之部分的電路遞增於控制器節點後匯流排上第一節點接收的該ID號碼,然後按環繞環狀匯流排之順序將遞增號碼發送至下一節點。
圖6B中,藉由控制器電路130(圖2)而非藉由先前節點之遞增電路決定環狀匯流排之連續節點所使用的ID號碼序列。此可提供對節點指派ID號碼的更大靈活性。控制器130不僅發送用於環狀匯流排上第一相鄰節點的單一ID號碼,也發送ID號碼字串,每一ID號碼用於匯流排上的一節點。每一節點剝去其接收的第一ID號碼,並將剩餘部分重新發送至按環狀匯流排上順序的下一節點。
圖6C內說明重設通道命令,控制器在命令匯流排線135上傳送藉由系統上每一節點接收並執行的命令。當節點接收此命令時,重設其指派之通道號碼暫存器167及167'(圖4及5)。
將圖6D、6E及6F之三個命令引導至環狀匯流排系統上的識別命令節點並由其接收,例如命令節點127(圖2及5)。圖6D之位址輸入命令識別需要存取的快閃記憶體位址。其在命令線135上環繞匯流排加以傳送,同時在資料線133上傳送將要接收該命令的一命令節點之ID號碼。節點ID後為記憶體單元陣列之位址,隨後步驟中將在該記憶體單元陣列處執行某操作。具有暫存器165'內ID匹配控制器所傳送ID之一節點接著將此位址載入其位址暫存器199(圖5)。相同ID及位址環繞匯流排進行節點對節點傳遞,但僅具有匹配ID之一命令節點致動自身以接受並儲存該位址。
圖6E內顯示一組相關命令,其在已藉由圖6D之一或多個位址輸入命令定址的快閃記憶體之部分上進行操作。在命令線135上傳送一唯一代碼,其用於圖6E內所列出的命令之一,同時在資料線133上引導傳送該命令之一命令節點的ID。然後將命令載入識別命令節點之該命令暫存器193(圖5),並立即加以執行。圖6E之讀取模式命令使處於該位址或圖6D之命令於先前所載入的位址之快閃記憶體內的資料可從快閃記憶體被讀出,並傳輸入一暫存器內,以備環狀匯流排所傳輸之資料使用。同樣,在圖6D之位址命令先前供應的位址處,圖6E之多區塊程式命令可用於將來自暫存器之資料平行地程式化為快閃記憶體中的兩或多個平面。若在需要執行圖6E之命令之一的記憶體系統內存在一個以上之命令節點,圖6D及6E之命令彼此分離地予以傳送。
若讀取、程式化或其他操作期間需要藉由命令節點傳送狀態信號,圖6F之狀態讀取命令用於設置命令節點以執行此步驟。在命令線135上傳送該唯一命令,同時在資料線133上傳送需要採用該命令進行設置的一命令節點之ID。需要傳送狀態資訊的通道號碼在資料線上跟隨該節點ID。接著將此通道號碼載入指派通道號碼暫存器167'(圖5)。
圖6G顯示用於對隨後資料命令作出回應,調節資料節點以在環狀匯流排之資料線133與暫存器A或B之一間傳輸資料的相關輸入及輸出命令。藉由控制器將輸入或輸出命令放置於命令匯流排線135上,然後係期望節點之ID、需要在其上傳輸資料之通道號碼(時槽)、需要採用以傳輸資料之暫存器A或B以及資料傳輸之長度。接著將傳送之通道號碼載入資料節點之暫存器167(圖4)內,選定暫存器A或B及資料傳輸之長度暫時儲存於解碼器163內,並藉由個別解碼器輸出177及176加以提供。
一旦將所有涉及資料節點配置成藉由每次接收並執行圖6G之一命令而發生資料傳輸,圖6H之資料啟用命令使傳輸得以發生。藉由匯流排之命令線135上的控制器傳送資料啟用命令,並在資料線133上傳送執行傳輸所必需的組態參數。此等參數包括用於資料傳輸之通道(時槽)數目C,一時槽群組內的週期數目N以及環狀匯流排上節點數目D,接著係圖3C之時序圖所說明的成群通道傳輸。將此等參數儲存於資料節點(圖4)內,並在資料傳輸期間提供給線路184、185及186上的通道計數器181。接著按命令之引導,在由該命令指定的每一節點之唯一通道上,對已接收圖6G之輸入或輸出命令的每一節點之暫存器A或B執行資料傳輸入或傳輸出操作。
圖6H之資料啟用命令使被傳輸資料可在其指派時間多工通道中環繞環狀匯流排循環。根據通道寬度,即分配給每一通道之時間長度,可在每一資料通道內傳輸有限數量之資料。圖6H中,為便於說明,顯示個別通道(資料訊框)為四個時脈週期長度,從而載送四位元的資料,但實務中可遠大於四個。根據圖3C所示的成群通道週期技術,每一資料節點可在先前發送之訊框完成環繞環狀匯流排之電路並返回該節點前發送另一訊框之資料。此過程繼續至從節點傳輸的全部資料依此方式得以發送。
在資料啟用命令之執行中,於傳輸資料的同時且控制器發送另一命令節點或環狀匯流排上的資料節點命令前,需要首先暫停傳輸。圖6I內顯示執行此暫停的資料關閉命令。當資料傳輸期間來源資料節點接收到資料關閉命令時,該節點暫停資料傳輸,直至隨後接收到資料啟用命令。然而,被傳輸資料之目的地節點繼續接收任何相關資料,因為資料關閉命令後可能存在其他通道上的有效資料。配置成僅允許資料通道的此等節點繼續執行此步驟。用資料關閉命令暫停資料傳輸之一原因為能夠增加通道,將額外節點配置成發送或接收資料等等,其可使用輸入及/或輸出命令在資料關閉命令後以及隨後資料啟用命令恢復重新配置資料傳輸前加以完成。將用於重新配置資料傳輸之新參數指定為隨後資料啟用命令之部分。
圖6I之資料關閉命令與所有其他命令不同的係其不具有相關聯命令代碼。該命令僅在先前命令為資料啟用命令時予以使用。資料關閉命令係作為任何通道上的命令線上之延伸尖波藉由控制器加以發信。資料線載送適用於該通道之資料,其與資料關閉命令相關聯。
圖7內概述利用以上已說明之命令在節點間傳輸資料的總體程序。需要傳輸的快閃記憶體平面內之資料首先被移動至暫存器內,此範例中係一或多個平面之各平面的暫存器A或B之一。第一步驟221使快閃記憶體位址依順序被傳送至個別命令節點,其各與一或多個記憶體平面相關聯。接著係步驟222,其中從各平面之已定址位置讀取資料並傳送至其相關聯暫存器A或B之一。
此等資料來源節點亦被配置成針對需要配置的每一節點利用圖6G之輸出命令來傳輸該等資料,如步驟223所示。步驟224中,將資料目的地節點配置成針對需要配置的每一節點利用輸入命令來接收此等資料。步驟223及224可與步驟222同時執行。可在啟動步驟222後發出狀態讀取命令(圖6F),以便接收確認信息,確認環繞匯流排的節點間資料傳輸前得以啟動前,已完成節點內步驟222的傳輸。
完成步驟223及224以設置用於資料傳輸之來源及目的地節點後,以及在確認步驟222已完成的步驟中,若已完成,則在步驟225中發出圖6H之資料啟用命令。此使得資料可在環狀匯流排上從來源節點之暫存器被移動至目的地節點之暫存器。來源及目的地節點暫存器包括控制器節點128之暫存器(圖2),其用於透過控制器130從主機接收資料或傳送資料至主機。
接下來,將儲存於目的地節點之暫存器內的資料程式化為快閃記憶體。步驟226中,藉由圖6D之位址輸入命令將命令節點所控制之快閃記憶體內的位址傳送至命令節點。若存在多個命令節點,則針對每一命令節點分離地執行此步驟。接著傳送圖6E之程式化命令之一,以採用盡可能最大之平行度執行從暫存器至快閃記憶體的程式化操作。藉由此等技術,可按以下任一或兩種方式移動資料:(1)穿過控制器內暫存器的主機與快閃記憶體內的位置間,(2)僅在快閃記憶體內的位置間。
步驟226之開始不必等待步驟225之完成,而是可與步驟225同時地加以執行。同時操作對控制節點操作及資料節點操作,或者對分離暫存器上的兩個資料節點操作皆可能。
圖8及9內提供利用圖6A至6I之命令傳輸資料的說明,其中圖8示意性顯示圖2至5之記憶體系統,其具有該範例中使用的特定期望資料來源及目的地,圖9依順序列出用於完成期望傳輸的命令。從控制器緩衝器RAM傳輸主機系統已寫入其的資料區段19、20及21(需要被寫入快閃記憶體),記憶體系統透過控制器與主機系統連接。將此等資料區段分別傳輸至記憶體平面A、B及C內。同時,將平面C內資料區段R6傳輸至平面D。
圖8及9之範例亦顯示尚未予以論述的結束命令(圖6E)之利用。此處其用作命令#10(圖9),以終止由命令#4啟動的狀態讀取操作。同樣,根據命令#9及#14使用兩次資料關閉命令,以停止個別資料啟用命令#8及#13的執行。資料關閉命令#9之動機係暫停資料傳輸,以便配置用於區段R6之傳輸的來源及目的地節點,其藉由個別輸出及輸入命令#11及#12完成。快閃記憶體讀取命令#3佔用較長時間使此步驟很有必要,其間可藉由控制器發出命令#4至#8。接著在通道0內發出另一資料啟用命令#13,其將區段R6附加於被傳輸資料,同時恢復通道1、2及3上的資料區段19、20及21之傳輸。完成資料區段19、20及21之傳輸後(應發生於隨後開始的資料區段R6之傳輸完成前),發出另一資料關閉命令#14,以便隨後資料啟用命令#15可減小用於完成區段R6之傳輸的通道數目。僅須指定任何發生之資料傳輸所需的最大通道數目,從而避免對記憶體性能有不利影響的無資料時槽。
同時應注意圖8及9內所說明的示範性資料傳輸同時在單一環狀匯流排上執行特定操作,此係上述架構及命令結構的特徵。例如,作為使用分時多工操作的結果,對資料啟用命令#8作出回應而同時傳輸三個區段19、20及21之資料,每一區段具有不同來源及目的地節點。對資料啟用命令#13作出回應,環繞匯流排一起傳輸四個資料區段19、20、21及R6。同樣,命令#4期間,在資料區段19、20及21之傳輸於通道1、2及3上發生的同時,於通道0上執行狀態讀取命令。另外,如上所述,在執行快閃記憶體讀取命令#3的同時,執行命令#4至#7及命令#8之部分。此外,可藉由控制器之ECC電路系統在繞環狀匯流排傳輸的資料通過控制器節點時對資料進行檢查,此步驟與資料傳輸同時進行。
對圖2之記憶體系統架構可作出許多變更,同時仍採用該等命令並且按上述方式操作該系統。除具有四個記憶體平面之記憶體晶片外,記憶體晶片可具有單一未分割記憶體單元陣列,如圖10所示。圖中顯示兩個記憶體晶片231及233與環狀匯流排內之控制器晶片101連接。記憶體晶片231及233之各記憶體晶片包括如先前所述藉由環內匯流排連接的單一命令節點及單一資料節點。特定系統中可使用兩個以上的記憶體晶片。
圖11內顯示另一可能的變更,其中兩個記憶體晶片235及237之各記憶體晶片也與環狀匯流排上的控制器晶片101連接,但每一記憶體晶片分別包括單一組合式命令及資料節點239及241。節點239及241單獨地具有組合為一個電路的圖4及5之分離節點電路系統。此方案之優點為藉由例如消除切換電路、命令解碼器、通道計數器、各種儲存暫存器等重複組件,可減少節點電路系統。
為提供與傳統控制器(其採用記憶體晶片在單一平行匯流排上進行通信)向後兼容的記憶體積體電路晶片,記憶體晶片可包括傳統匯流排介面以及環狀匯流排節點及外部連接。此一記憶體晶片如圖12所示。其包含四個環狀匯流排節點245至248,各與四個多工器251至254之一的一輸入連接。每一多工器251至254之另一輸入透過共同匯流排257與傳統匯流排介面電路259連接,傳統匯流排介面電路259提供終止於記憶體晶片之外部連接觸點的傳統匯流排261。此等匯流排觸點則與系統控制器連接,並選擇性地與其他記憶體晶片連接。與圖1之控制器11類似的傳統控制器263或與圖2之控制器101類似的具環狀匯流排節點之控制器265,可與此等匯流排觸點連接。
給定晶片之多工器251至254較佳的係在安裝於記憶體系統內時予以永久性設定,以便將記憶體陣列之部分與其命令及控制電路(圖12內未顯示)單獨地連接至個別環狀匯流排節點245至248,或平行地連接至較傳統之匯流排257。可附加記憶體晶片之外部接針,其用於將多工器251至254設定為連接晶片與任一類型之控制器263或265,此處係依據記憶體系統內所使用的控制器。晶片之環狀匯流排的輸入267與傳統匯流排介面261之一組輸入線路連接,此情形中係一組三條線路。環狀匯流排之輸出269與傳統匯流排介面267之另一組三個不同導體連接。因此,當控制器265用於記憶體系統內時,其與傳統外部匯流排之此等兩組線路連接,因為該匯流排未按傳統方式加以使用。所以不需要為了應付與任一類型控制器之連接而增加記憶體晶片之外部觸點的數目。
利用記憶體晶片之額外外部接針來設定多工器251至254的替代方案係利用未用作環狀匯流排之輸入或輸出線路的傳統匯流排257之接針。可將此等接針永久性設定為預定義狀態組合,以便將多工器251至254設定成選擇環狀匯流排節點245至248。可將狀態組合選擇為在傳統匯流排257之正常操作中不會出現的非法組合。
在圖2、10及11所示的系統範例中,控制器130與圖1之現有控制器11極為相似,除了一環狀匯流排節點介面已替代記憶體介面25外。但並非透過單一匯流排節點介面存取控制器之許多組件及功能之各組件及功能,該等組件及功能可藉由單獨具有其自身之節點而環繞環狀匯流排進行分配。圖13內顯示此特徵之一範例。指示數個環狀匯流排節點275至279,以在任一許多可能組態中代表單一積體電路晶片上或分離晶片上的一或多個記憶體陣列之命令及資料節點,包括先前已例示並說明的組態。圖13之系統的不同處在於採用複數個此類節點取代單一控制器節點,該複數個節點單獨與少於全部控制器電路及功能的控制器電路及功能連接。此特定範例中,包括七個控制器環狀匯流排節點281至287。其單獨地與非揮發性記憶體快取記憶體289、揮發性記憶體快取記憶體291、ECC電路293、揮發性資料緩衝記憶體295(主要用於記憶體與主機間傳輸之資料的暫時儲存)、揮發性記憶體297分別連接,以儲存藉由處理器299及主機介面電路301執行的韌體代碼。利用額外控制器節點可增加其他功能,或可省略圖13內顯示的一或多個控制器功能,或者可將特定組件及功能組合,以便透過單一共享匯流排節點連接至環狀匯流排。
為使控制器操作內部命令及資料的傳輸不會加重環狀匯流排之負擔,需要包括分離平行控制器匯流排303,其允許處理器299與特定其他控制器功能(如圖13所示)間的直接通信。額外非揮發性記憶體305亦可與控制器匯流排303連接,以便儲存在系統初始化期間使用的啟動代碼,從而使處理器299可將韌體從系統之快閃記憶體載入記憶體297。其使得特定控制器組件與環狀匯流排之連接主要用於該等裝置之一與記憶體節點275至279所連接的快閃記憶體組件間傳輸資料或命令時。先前提及的一範例通過繞該匯流排進行傳輸的資料之ECC電路293,特別係從快閃記憶體讀取之資料,以驗證其有效性。較佳的係接著藉由處理器299校正在用於校正之ECC演算法的能力內由ECC電路系統293偵測到之誤差。其他範例包括環狀匯流排與緩衝記憶體295以及快取記憶體289及291的直接連接。需要使記憶體晶片容易地與控制器本身連接或亦連接至一、兩或更多其他記憶體晶片。在記憶卡之製造中,控制器及一或多個記憶體晶片以實體方式附著於較小印刷電路板(PCB),其同時提供用於互連晶片與記憶卡外部接點的電性導體。因此較簡捷地為PCB提供包括從一至某有限數目的可變數目記憶體晶片之能力,以便當PCB上使用傳統平行匯流排時,能夠製造具有不同儲存容量之記憶卡。但當一或多個記憶體晶片與環狀匯流排連接時,在PCB上將記憶體晶片與控制器晶片連接在一起的環狀匯流排部分需要能夠容納一可變數目之串聯連接晶片。由於該等串聯晶片內的最後記憶體晶片之輸出連接回至控制器,需要某種採用不同數目之記憶體晶片容易地執行此方案的方式。
圖14內說明用於執行此方案之一此類技術。控制器晶片311及兩個記憶體晶片313及315在單一PCB上連接在一起,作為記憶卡之部分。控制器311包括至少一個匯流排節點,記憶體晶片之個記憶體晶片包括多個匯流排節點。記憶體晶片313具有與控制器晶片311之匯流排輸出連接的匯流排輸入317,以及與第二記憶體晶片315之匯流排輸入連接的第一輸出319。第二輸出321亦被提供於記憶體晶片313上,並連接至於PCB上晶片間包括的匯流排之部分323,以便將串聯記憶體晶片內最後記憶體晶片之輸出返回至控制器晶片311之匯流排輸入。但由於記憶體晶片313並非串聯記憶體晶片內的最後記憶體晶片,在晶片上停用其返回輸出321,同時輸出319保持可操作狀態。第二記憶體晶片315同樣具有兩個匯流排輸出325及327,因為所有記憶體晶片以最容易方式變得相同,而返回輸出327因為晶片315係串聯晶片內之最後晶片而保持致動狀態。其與PCB匯流排返回部分323之連接則完成該環。然後在晶片315上停用晶片315之第二輸出325,其不需要連接至任何裝置。
儘管圖14之配置使可變數目之晶片可按串聯方式較容易地連接,PCB上匯流排部分323之長度在許多情形中具有遠遠高於晶片上匯流排片斷的電容位準。由於此可限制整個環狀匯流排之操作頻率,進一步需要以可最小化此效應之方式提供返回匯流排路徑。藉由在記憶體晶片331及333本身上形成大部分返迴路徑,以及藉由將返迴路徑分為單獨加以驅動的更短片斷,在圖15之卡系統內完成此設計。因此將環狀匯流排之任何片斷的最大電容保持在一較低位準。
以記憶體晶片331為例,其具有環狀匯流排輸入335及輸出337,以便連接至串聯記憶體晶片內的下一記憶體晶片,若該裝置存在(如存在於圖15內的記憶體晶片)。將用於返回控制器之第二輸出339保持在記憶體晶片內。返迴路徑之部分341係包括在記憶體晶片內,而非PCB上。返迴路徑341與包括一時脈週期延遲的級343連接,以解耦其輸入及輸出匯流排片斷,並連接至驅動器,以驅動返回輸出345,其與上述節點相似。例如,當記憶體晶片非串聯記憶體晶片內之最後一項時,即晶片331不在圖15內,為順序排在下一位的記憶體晶片提供返回匯流排輸入347,以連接其返回匯流排輸出。
在圖15之二記憶體晶片範例中,第一晶片331之輸出337可用於連接串聯記憶體晶片內的下一記憶體晶片333之輸入,同時停用其返回輸出339。由於第二記憶體晶片333之返回輸出349係串聯晶片內之最後一項,使其變得可操作。匯流排接著沿晶片333上的返迴路徑,透過與電路343相同的暫存器及驅動器電路351到達第一晶片331之輸入347。事實上,非常需要製造可在串聯串內多個位置之任一位置加以連接的單一記憶體積體電路晶片。停用最後記憶體晶片333之第二輸出353並保持斷開狀態。當然,最後晶片333之返回匯流排輸入355未連接任何裝置。
雖然已經針對本發明之範例性具體實施例來說明本發明之各方面,但是應瞭解,本發明有權在隨附申請專利範圍的完整範疇內受到保護。
0...通道
1...通道
2...通道
11...單一積體電路晶片
13...系統匯流排
15...記憶體晶片
17...導體
19...導體
21...導體
23...匯流排
25...介面電路
27...處理器
29...唯讀記憶體
31...隨機存取記憶體
33...電路
35...電路
37...外部接點
39...時脈
45...電路
47...電路
49...位元線
51...位元線
53...字元線
55...列控制電路
57...來源電壓控制電路
59...來源電壓控制電路
61...p井電壓控制電路
63...p井電壓控制電路
65...個別輸入電路
67...個別輸出電路
69...線路
71...線路
73...介面電路
75...狀態機
77...控制線
81...控制線
83...線路
101...控制器積體電路晶片
103...單一記憶體晶片
110...行控制電路
113...行控制電路
115...多工電路
118...多工電路
121...命令及控制電路
123...環狀匯流排介面節點
126...環狀匯流排介面節點
127...環狀匯流排介面節點
128...環狀匯流排節點
130...控制器
133...線路
135...線路
137...線路
151...暫存器
151'...暫存器
152...暫存器
153...切換電路
154...暫存器
155...驅動器
155'...驅動器
156...暫存器
156'...暫存器
157...暫存器
158...暫存器
160...暫存器
162...暫存器
163...解碼器
165...暫存器
165'...暫存器
167...暫存器
167'...暫存器
169...資料線
170...暫存器
171...資料線
175...控制線路
175'...線路
177...線路
178...線路
179...控制線路
180...控制線路
181...通道計數器
181'...通道計數器
182...線路
183...線路
184...電路
185...線路
186...線路
193...暫存器
195...線路
197...解碼器
199...暫存器
201...線路
203...線路
205...線路
207...狀態信號線路
209...信號路徑
211...電路
213...線路
214...線路
231...記憶體晶片
233...記憶體晶片
235...記憶體晶片
237...記憶體晶片
239...節點
241...節點
245...環狀匯流排節點
248...環狀匯流排節點
251...多工器
254...多工器
257...共同匯流排
259...傳統匯流排介面電路
261...傳統匯流排
263...控制器
265...控制器
275...環狀匯流排節點
279...環狀匯流排節點
281...控制器環狀匯流排節點
287...控制器環狀匯流排節點
289...非揮發性記憶體快取記憶體
291...揮發性記憶體快取記憶體
293...ECC電路
295...揮發性資料緩衝記憶體
297...揮發性記憶體
299...處理器
301...主機介面電路
303...控制器匯流排
305...非揮發性記憶體
311...控制器晶片
313...記憶體晶片
315...記憶體晶片
331...記憶體晶片
333...記憶體晶片
351...暫存器及驅動器電路
A...資料暫存器
B...資料暫存器
圖1係採用一傳統匯流排架構之典型現有快閃記憶體系統之示意性方塊圖;圖2係採用一環狀匯流排架構之快閃記憶體系統的第一具體實施例之示意性方塊圖;圖3A、3B及3C係時序圖,其說明圖2之系統的環狀匯流排分時多工操作的不同方面;圖4係圖2之系統的環狀匯流排資料介面區塊之示意性電路圖;圖5係圖2之系統的環狀匯流排命令介面區塊之示意性電路圖;圖6A至6I顯示八個不同命令以及一替代方案,同時說明其於圖2之環狀匯流排系統內的利用;圖7係流程圖,其說明圖2之環狀匯流排系統使用圖6A至6I之命令的操作;圖8說明圖2之系統的特定資料傳輸之範例;圖9列出圖6A至6I內識別的一命令序列,其用於執行圖8內說明的示範性資料傳輸;圖10係採用一環狀匯流排架構之快閃記憶體系統的第二具體實施例之示意性方塊圖;圖11係採用一環狀匯流排架構之快閃記憶體系統的第三具體實施例之示意性方塊圖;圖12係採用一環狀匯流排架構之快閃記憶體系統的第四具體實施例之示意性方塊圖;圖13係採用一環狀匯流排架構之快閃記憶體系統的第五具體實施例之示意性方塊圖;圖14係採用一環狀匯流排架構之快閃記憶體系統的第六具體實施例之示意性方塊圖;以及圖15係採用一環狀匯流排架構之快閃記憶體系統的第七具體實施例之示意性方塊圖。
101...控制器積體電路晶片
103...單一記憶體晶片
110...行控制電路
113...行控制電路
115...多工電路
118...多工電路
121...命令及控制電路
123...環狀匯流排介面節點
126...環狀匯流排介面節點
127...環狀匯流排介面節點
128...環狀匯流排節點
130...控制器
133...線路
135...線路
137...線路
209...信號路徑
A...資料暫存器
B...資料暫存器

Claims (32)

  1. 一種操作一記憶體系統之方法,該系統包含複數個可再程式化非揮發性記憶體單元,其各包括一資料通信節點,該方法係藉由傳輸資料於將該等節點及一控制器連接在一起的一環狀匯流排,該方法包含:沿環繞該環狀匯流排之一給定方向將包括多個組態命令之命令從該控制器傳遞至該等節點,以便將至少兩個記憶體單元之節點建立為需要傳輸之資料的多個來源,以及將至少另兩個記憶體單元之節點建立為需要傳輸之資料的多個目的地,將需要傳輸之資料從至少兩個來源記憶體單元之多個來源節點讀取至該等至少兩個來源記憶體單元所提供之暫時資料儲存器內,之後僅沿環繞該環狀匯流排之該給定方向在至少兩個連續時槽內從位於該等至少兩個來源記憶體單元之該暫時資料儲存器傳輸該讀取資料,之後從與該等至少兩個連續時槽不同之多個時槽將已傳輸資料寫入至少兩個目的地記憶體單元所提供之暫時資料儲存器內,以及之後將該已傳輸資料從位於該等至少兩個目的地記憶體單元之該暫時資料儲存器寫入該等至少兩個目的地記憶體單元,該等至少兩個連續時槽定義C個連續時槽之一週期,及用於傳輸讀取資料之N個時槽,N及C為正整數,其中 傳輸該讀取資料另外包括插入一或多個未使用之時槽,俾使N等於該環狀匯流排上之節點之總數減去未使用之時槽的數目,並調整N及C以減少任何未使用之時槽之數目。
  2. 如請求項1之方法,其中環繞該環狀匯流排傳遞命令包括透過連接至該環狀匯流排內之一控制器節點從該控制器傳遞命令。
  3. 如請求項2之方法,其另外包含透過該控制器及該控制器節點內包括的緩衝記憶體向及從一主機傳輸資料。
  4. 如請求項1之方法,其另外包含透過連接至該環狀匯流排內之另一節點向及從一主機傳輸資料。
  5. 如請求項1之方法,其中環繞該環狀匯流排傳遞命令不包括連續時槽之該利用。
  6. 如請求項1之方法,其中環繞該環狀匯流排傳輸該讀取資料包括完全環繞該環從該等來源節點傳輸該讀取資料,並將其傳輸回至該等來源節點。
  7. 如請求項6之方法,其另外包含完全環繞該環傳輸後,在該等來源節點驗證該讀取資料之有效性,其中驗證該讀取資料之有效性包含在該等來源節點處將被完全環繞該環傳輸後之讀取資料與置放於該環狀匯流排上之讀取資料比較。
  8. 如請求項1之方法,該等組態命令包括節點識別資訊,其用於識別來源節點或目的地節點,其中該環狀匯流排將該等節點、複數個命令節點及該控制器連接在一起, 該讀取係藉由發佈儲存於該複數個命令節點之讀取命令而執行,該等命令節點之每一者係與一或多個記憶體平面之一對應組相關聯,其中識別一或多個記憶體平面之每一組之該來源節點之該節點識別資訊係儲存於對應的命令節點。
  9. 如請求項6之方法,其另外包含採用一誤差校正方案在該環狀匯流排上的一位置檢查環繞該環狀匯流排之所有讀取資料。
  10. 如請求項9之方法,其中採用一誤差校正方案檢查該讀取資料發生於該控制器內。
  11. 如請求項9之方法,其中採用一誤差校正方案檢查該讀取資料包括透過誤差校正電路傳遞環繞該環狀匯流排之所有讀取資料,該誤差校正電路透過除該等來源節點及該等目的地節點外的一節點與該環狀匯流排連接。
  12. 如請求項1之方法,其中環繞該環狀匯流排傳遞以將該等節點之至少一個節點建立為需要傳輸之資料的一來源,以及將該等節點之至少另一節點建立為需要傳輸之資料的一目的地之該等命令僅採用該控制器發出。
  13. 如請求項1之方法,其另外包含在環繞該環狀匯流排傳輸該讀取資料前,環繞該環狀匯流排從該控制器傳送命令及資料,以配置該複數個節點。
  14. 如請求項1之方法,其中環繞該環狀匯流排傳輸該讀取資料包括在與該傳輸讀取資料同步的一系統時脈來源之一或多個週期的該等複數個節點之個別節點處施加一延 遲。
  15. 如請求項1之方法,其中環繞該環狀匯流排傳遞命令包括在該環狀匯流排之至少一第一導體上執行此操作,以及環繞該環狀匯流排傳輸該讀取資料包括在不同於該第一導體之該環狀匯流排的至少一第二導體上執行此操作。
  16. 如請求項1之方法,其中環繞該環狀匯流排傳遞命令包括(1)藉由接收該等命令之該等複數個節點的至少另一節點將該等節點之該至少一節點建立為一資料來源,然後將該等節點之該至少一節點配置為一資料來源,以及(2)藉由接收該等命令之該等複數個節點的至少另一節點將該等節點之該至少一節點建立為一資料目的地,然後將該等節點之該至少一節點配置為一資料目的地。
  17. 如請求項1之方法,其中將該傳輸資料寫入與該至少一個目的地節點連接的該記憶體包括將該傳輸資料寫入與該至少一個目的地節點連接的可再程式化非揮發性記憶體單元之至少一第一單位。
  18. 如請求項17之方法,其中記憶體單元之該第一單位包括少於一單一積體電路晶片上之全部該等記憶體單元的個別第一及第二平面。
  19. 如請求項17之方法,其中記憶體單元之該第一單位包括個別第一及第二積體電路晶片上之一整個記憶體單元陣列。
  20. 如請求項2之方法,其另外包含在與該複數個節點的不 同於該控制器節點、該等來源節點、及該等目的地節點之另一節點連接的一緩衝器記憶體內暫時儲存該讀取資料。
  21. 如請求項1之方法,其中讀取資料至暫時資料儲存器內包括將該讀取資料傳輸至提供於該等來源節點的至少兩個資料暫存器之一中。
  22. 如請求項1之方法,其中寫入資料至暫時資料儲存器內包括將該傳輸資料寫入提供於至少一個目的地節點的至少兩個資料暫存器之一。
  23. 如請求項1之方法,其另外包含從與該複數個節點之一連接的記憶體讀取一第二組資料至位於該等複數個節點之該一個節點的暫時資料儲存器之一部分內,以及從該環狀匯流排寫入一第三組資料至位於該等複數個節點之該一個節點的暫時資料儲存器之另一部分。
  24. 一種記憶體系統,其包含:複數個可再程式化非揮發性記憶體單位,其各包括一資料通信節點,一主機資料輸入/輸出電路,其具有另一資料通信節點,至少一命令節點,一環狀匯流排,其將該等個別資料通信節點及該至少一命令節點一起連接於一環內,以及一控制器,其包括可操作成與該環狀匯流排連接之一微控制器,以使得多個通道之資料在一數目之時間多工資料訊框上沿一單一方向從完全環繞該環狀匯流排的一 或多個該等資料通信節點同時傳輸,該等訊框係調適成包括該多個通道的被傳輸資料之數目,該控制器透過該環狀匯流排發送多個組態命令至該等通信節點之已選擇節點,以將該等節點建立成來源節點或目的地節點,並發送傳輸命令以將資料自該來源節點傳輸至該目的地節點,該等組態命令包括節點識別資訊,其用以識別欲被建立成來源節點或目的地節點之節點,其中該節點識別資訊及傳輸命令係先儲存於該至少一命令節點處,接著被執行以致使來源節點或目的地節點之建立及資料之傳輸;且其中傳輸該資料包括自至少兩個連續時槽內之該等來源節點環繞該環狀匯流排以傳輸資料,該等至少兩個連續時槽定義C個連續時槽之一週期,及用於傳輸讀取資料之N個時槽,N及C為正整數,其中傳輸該資料另外包括插入一或多個未使用之時槽,俾使N等於該環狀匯流排上之節點之總數減去未使用之時槽的數目,並調整N及C以減少任何未使用之時槽之數目。
  25. 如請求項24之記憶體系統,該系統包含複數個命令節點,其中該環狀匯流排將該等節點、複數個命令節點及一控制器一起連接,該等命令節點之每一者係與一或多個記憶體平面之一對應組相關聯,其中識別一或多個記憶體平面之每一組之該等來源節點之該節點識別資訊係儲存於對應的命令節點。
  26. 如請求項24之記憶體系統,其中該至少一個記憶體單位 之至少該資料通信節點包括至少兩個暫存器,其係加以連接以同時儲存在該記憶體子系統與該環狀匯流排間傳輸的至少兩片資料。
  27. 如請求項24之記憶體系統,其中該控制器包括該主機資料輸入/輸出電路,且該控制器係透過該另一資料通信節點與該環狀匯流排連接。
  28. 如請求項24之記憶體系統,其中該控制器透過一命令信號節點與該環狀匯流排連接。
  29. 如請求項24之記憶體系統,其中該複數個記憶體單位包括一單一積體電路晶片上之兩或多個記憶體平面。
  30. 如請求項24之記憶體系統,其中將該複數個記憶體單位形成於個別分離積體電路晶片上。
  31. 如請求項24之記憶體系統,其另外包含一誤差校正電路,該誤差校正電路可操作成與該環狀匯流排連接,以致動該等多個通道之資料可在環繞該環狀匯流排進行傳遞時通過該電路並檢查誤差。
  32. 如請求項31之記憶體系統,其中該控制器包括該誤差校正電路。
TW094127024A 2004-08-09 2005-08-09 記憶體系統及其操作方法 TWI439866B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/915,039 US8375146B2 (en) 2004-08-09 2004-08-09 Ring bus structure and its use in flash memory systems

Publications (2)

Publication Number Publication Date
TW200627174A TW200627174A (en) 2006-08-01
TWI439866B true TWI439866B (zh) 2014-06-01

Family

ID=35695695

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094127024A TWI439866B (zh) 2004-08-09 2005-08-09 記憶體系統及其操作方法

Country Status (7)

Country Link
US (1) US8375146B2 (zh)
EP (1) EP1787208B1 (zh)
JP (1) JP5192233B2 (zh)
KR (1) KR20070060080A (zh)
CN (1) CN101036132B (zh)
TW (1) TWI439866B (zh)
WO (1) WO2006017725A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI759703B (zh) * 2020-03-20 2022-04-01 群聯電子股份有限公司 電路布局結構與記憶體儲存裝置

Families Citing this family (283)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373561B2 (en) * 2002-10-29 2008-05-13 Broadcom Corporation Integrated packet bit error rate tester for 10G SERDES
US7490283B2 (en) * 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US9104315B2 (en) * 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7293212B2 (en) * 2005-03-22 2007-11-06 Arm Limted Memory self-test via a ring bus in a data processing apparatus
US7389459B2 (en) * 2005-03-22 2008-06-17 Arm Limited Provision of debug via a separate ring bus in a data processing apparatus
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7457910B2 (en) * 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
WO2007036050A1 (en) 2005-09-30 2007-04-05 Mosaid Technologies Incorporated Memory with output control
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system
US20070143378A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with adaptive file handling in a directly mapped file storage system
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20070143566A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with data alignment in a directly mapped file storage system
CN102063931B (zh) * 2006-03-31 2014-07-30 莫塞德技术公司 闪烁存储器系统控制方案
EP2016590B1 (en) 2006-05-05 2011-10-26 SanDisk Corporation Non-volatile memory with background data latch caching during read operations and methods therefor
TWI427637B (zh) * 2006-05-05 2014-02-21 Sandisk Technologies Inc 在程式執行期間具有背景資料鎖存快取的非揮發性記憶體及方法
US7849256B2 (en) * 2006-07-11 2010-12-07 Advanced Micro Devices, Inc. Memory controller with ring bus for interconnecting memory clients to memory devices
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8407395B2 (en) * 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
EP2487794A3 (en) * 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
JP2010501915A (ja) * 2006-08-22 2010-01-21 モサイド・テクノロジーズ・インコーポレーテッド メモリ用モジュールコマンド構造およびメモリシステム
KR101476515B1 (ko) * 2006-08-22 2014-12-24 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 스케일러블 메모리 시스템
US7734861B2 (en) 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
US7606966B2 (en) * 2006-09-08 2009-10-20 Sandisk Corporation Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US20080130667A1 (en) * 2006-11-30 2008-06-05 International Business Machines Corporation Distributed arbitration mechanism for ring networks
US8010709B2 (en) * 2006-12-06 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US8433874B2 (en) * 2006-12-06 2013-04-30 Mosaid Technologies Incorporated Address assignment and type recognition of serially interconnected memory devices of mixed type
JP5683813B2 (ja) * 2006-12-06 2015-03-11 コンバーサント・インテレクチュアル・プロパティ・マネジメント・インコーポレイテッドConversant Intellectual Property Management Inc. 混合されたタイプのメモリデバイスを動作させるシステムおよび方法
US7925854B2 (en) * 2006-12-06 2011-04-12 Mosaid Technologies Incorporated System and method of operating memory devices of mixed type
US7818464B2 (en) * 2006-12-06 2010-10-19 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US8271758B2 (en) 2006-12-06 2012-09-18 Mosaid Technologies Incorporated Apparatus and method for producing IDS for interconnected devices of mixed type
US7627718B2 (en) * 2006-12-13 2009-12-01 Intel Corporation Frozen ring cache
US8984249B2 (en) * 2006-12-20 2015-03-17 Novachips Canada Inc. ID generation apparatus and method for serially interconnected devices
US8046522B2 (en) * 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US8122202B2 (en) * 2007-02-16 2012-02-21 Peter Gillingham Reduced pin count interface
WO2008101316A1 (en) 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
US7796462B2 (en) 2007-02-22 2010-09-14 Mosaid Technologies Incorporated Data flow control in multiple independent port
US8429352B2 (en) * 2007-06-08 2013-04-23 Sandisk Technologies Inc. Method and system for memory block flushing
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
US8825939B2 (en) * 2007-12-12 2014-09-02 Conversant Intellectual Property Management Inc. Semiconductor memory device suitable for interconnection in a ring topology
US8594110B2 (en) 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
US8131913B2 (en) * 2008-02-04 2012-03-06 Mosaid Technologies Incorporated Selective broadcasting of data in series connected devices
US7430584B1 (en) * 2008-03-12 2008-09-30 Gene Fein Data forwarding storage
US7636760B1 (en) * 2008-09-29 2009-12-22 Gene Fein Selective data forwarding storage
US7673009B2 (en) * 2008-07-10 2010-03-02 Gene Fein Media delivery in data forwarding storage network
US7631051B1 (en) * 2008-09-29 2009-12-08 Gene Fein Geolocation assisted data forwarding storage
US7636761B1 (en) * 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US7599997B1 (en) * 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7636759B1 (en) * 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US7636758B1 (en) * 2008-07-10 2009-12-22 Gene Fein Advertisement forwarding storage and retrieval network
US8458285B2 (en) * 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US7877456B2 (en) * 2008-04-08 2011-01-25 Post Dahl Co. Limited Liability Company Data file forwarding storage and search
US7809873B2 (en) 2008-04-11 2010-10-05 Sandisk Il Ltd. Direct data transfer between slave devices
US8386585B2 (en) * 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
US7668926B2 (en) * 2008-04-25 2010-02-23 Gene Fein Real-time communications over data forwarding framework
US7668927B2 (en) * 2008-05-07 2010-02-23 Gene Fein Deletion in data file forwarding framework
US8452844B2 (en) * 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
KR101431760B1 (ko) 2008-06-25 2014-08-20 삼성전자주식회사 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
US8139390B2 (en) * 2008-07-08 2012-03-20 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US7636763B1 (en) * 2008-09-29 2009-12-22 Gene Fein Mixed network architecture in data forwarding storage
US8352635B2 (en) * 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
US7636762B1 (en) * 2008-09-29 2009-12-22 Gene Fein Disassembly/reassembly in data forwarding storage
US8478823B2 (en) * 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US7685248B1 (en) * 2008-09-29 2010-03-23 Gene Fein User interface in data forwarding network
US8161313B2 (en) * 2008-09-30 2012-04-17 Mosaid Technologies Incorporated Serial-connected memory system with duty cycle correction
US8181056B2 (en) * 2008-09-30 2012-05-15 Mosaid Technologies Incorporated Serial-connected memory system with output delay adjustment
US8549209B2 (en) 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US8880970B2 (en) * 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
KR101687038B1 (ko) * 2008-12-18 2016-12-15 노바칩스 캐나다 인크. 에러 검출 방법 및 하나 이상의 메모리 장치를 포함하는 시스템
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory
US8132045B2 (en) * 2009-06-16 2012-03-06 SanDisk Technologies, Inc. Program failure handling in nonvolatile memory
US8521980B2 (en) * 2009-07-16 2013-08-27 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US8582382B2 (en) * 2010-03-23 2013-11-12 Mosaid Technologies Incorporated Memory system having a plurality of serially connected devices
US8843692B2 (en) 2010-04-27 2014-09-23 Conversant Intellectual Property Management Inc. System of interconnected nonvolatile memories having automatic status packet
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
US8645588B2 (en) * 2010-11-01 2014-02-04 Advanced Micro Devices, Inc. Pipelined serial ring bus
KR101841622B1 (ko) * 2010-11-04 2018-05-04 삼성전자주식회사 온-다이 터미네이션 회로를 가지는 불휘발성 메모리 장치 및 그것의 제어 방법
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
CN102346726A (zh) * 2011-09-20 2012-02-08 四川卫士通信息安全平台技术有限公司 板载多芯片高速环形互联方法
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
KR20140006344A (ko) * 2012-07-04 2014-01-16 에스케이하이닉스 주식회사 메모리 시스템 및 그것에 포함된 메모리 장치의 동작 방법
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
WO2014120215A1 (en) 2013-01-31 2014-08-07 Hewlett-Packard Development Company, L.P. Adaptive granularity row-buffer cache
JP2014179141A (ja) * 2013-03-14 2014-09-25 Toshiba Corp 半導体記憶装置
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9691452B2 (en) 2014-08-15 2017-06-27 Micron Technology, Inc. Apparatuses and methods for concurrently accessing different memory planes of a memory
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
CN106068644B (zh) * 2014-09-26 2019-03-01 奥林巴斯株式会社 传送系统和处理装置
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US9910594B2 (en) * 2015-11-05 2018-03-06 Micron Technology, Inc. Apparatuses and methods for concurrently accessing multiple memory planes of a memory during a memory access operation
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US9760297B2 (en) * 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
JP6178909B1 (ja) * 2016-09-15 2017-08-09 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10860552B2 (en) * 2017-03-10 2020-12-08 Schweitzer Engineering Laboratories, Inc. Distributed resource parallel-operated data sorting systems and methods
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
CN107134294B (zh) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 一种ecc信息获取方法及系统
CN107239363B (zh) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 一种ecc信息上报方法及系统
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
CN109947605A (zh) * 2017-12-21 2019-06-28 北京比特大陆科技有限公司 故障诊断方法
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
TWI738135B (zh) * 2019-04-07 2021-09-01 新唐科技股份有限公司 監控系統開機之安全裝置及其方法
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
CN112286842B (zh) * 2019-07-22 2023-07-04 苏州库瀚信息科技有限公司 用于存储器控制器与存储器设备互连的总线
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
CN114064527A (zh) * 2020-07-30 2022-02-18 苏州库瀚信息科技有限公司 无单一失败点的存储装置
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
CN113722770A (zh) * 2021-08-18 2021-11-30 上海励驰半导体有限公司 基于分级的数据完整性的端到端的保护方法及系统
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3190530A (en) 1961-05-10 1965-06-22 Illinois Tool Works Thin wall container with thickened rim structure
US4034036A (en) 1975-10-31 1977-07-05 Consupak, Inc. Parison control in longitudinal stretch
US4406004A (en) * 1980-11-05 1983-09-20 Anaconda-Ericsson, Inc. Ring scheduling apparatus for a digital multiplexed telecommunication system
US4527270A (en) * 1983-05-04 1985-07-02 Allen-Bradley Company Communications network with stations that detect and automatically bypass faults
JPS60141049A (ja) 1983-12-28 1985-07-26 Hitachi Ltd ル−プネツトワ−ク制御方式
US5072424A (en) 1985-07-12 1991-12-10 Anamartic Limited Wafer-scale integrated circuit memory
GB8606695D0 (en) 1986-03-18 1986-04-23 Sinclair Res Ltd Random chip addressing algorithm for wsi
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
JPH03179952A (ja) 1989-12-08 1991-08-05 Nec Corp 時分割多重ループ型バスシステム
JPH03262234A (ja) 1990-03-13 1991-11-21 Nec Corp パケット交換装置の転送制御方式
US5255371A (en) * 1990-04-02 1993-10-19 Unisys Corporation Apparatus for interfacing a real-time communication link to an asynchronous digital computer system by utilizing grouped data transfer commands
GB2244826A (en) 1990-06-08 1991-12-11 Anamartic Ltd Linking circuit modules
JPH04156741A (ja) 1990-10-19 1992-05-29 Nec Corp ループ・バス転送方式
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5444695A (en) * 1993-01-11 1995-08-22 Forte Networks, Inc. Token ring local area network testing apparatus providing station history information
US5689678A (en) * 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5414762A (en) * 1994-01-18 1995-05-09 Q.Sys International, Inc. Telephony controller with functionality command converter
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
DE4423372A1 (de) 1994-07-04 1996-01-11 Ruppert Hans Peter Verfahren und Vorrichtung zum Anformen von Flanschen an Rohre aus teilkristallinen Thermoplasten
US5570425A (en) * 1994-11-07 1996-10-29 Digisonix, Inc. Transducer daisy chain
JPH11510929A (ja) 1995-08-11 1999-09-21 シーメンス ニクスドルフ インフオルマチオーンスジステーメ アクチエンゲゼルシヤフト 周辺記憶装置を接続するための装置
US6459425B1 (en) * 1997-08-25 2002-10-01 Richard A. Holub System for automatic color calibration
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JP3455040B2 (ja) 1996-12-16 2003-10-06 株式会社日立製作所 ソースクロック同期式メモリシステムおよびメモリユニット
US5908468A (en) 1997-10-24 1999-06-01 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing a multiple traffic circle topology
US6237791B1 (en) 1997-04-09 2001-05-29 Dtl Technology Limited Partnership Wide mouth hot fill container
US6611537B1 (en) * 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
US6115756A (en) 1997-06-27 2000-09-05 Sun Microsystems, Inc. Electro-optically connected multiprocessor and multiring configuration for dynamically allocating time
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6700899B1 (en) * 1998-02-03 2004-03-02 Broadcom Corporation Bit slice arbiter
IL130796A (en) 1999-07-05 2003-07-06 Brightcom Technologies Ltd Packet processor
KR100363884B1 (ko) * 1999-12-27 2002-12-11 한국전자통신연구원 파장분할다중 기반 인터넷 프로토콜 망 구조와, 이러한 망구조에서의 패킷 송수신 시스템 및 방법
US6697373B1 (en) * 2000-01-18 2004-02-24 Mark Henrik Sandstrom Automatic method for dynamically matching the capacities of connections in a SDH/SONET network combined with fair sharing of network resources
US6640322B1 (en) 2000-03-22 2003-10-28 Sun Microsystems, Inc. Integrated circuit having distributed control and status registers and associated signal routing means
US6842769B1 (en) * 2000-05-05 2005-01-11 Interland, Inc. Automatically configured network server
US6266273B1 (en) 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6625687B1 (en) 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
JP2002164941A (ja) * 2000-11-28 2002-06-07 Toshiba Corp 半導体装置及びデータ伝送システム
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6574719B2 (en) 2001-07-12 2003-06-03 International Business Machines Corporation Method and apparatus for concurrently communicating with multiple embedded dynamic random access memory devices
US7239606B2 (en) * 2001-08-08 2007-07-03 Compunetix, Inc. Scalable configurable network of sparsely interconnected hyper-rings
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
JP2003186822A (ja) * 2001-12-19 2003-07-04 Canon Inc モジュール間通信方法および装置
US7099922B2 (en) 2002-01-23 2006-08-29 International Business Machines Corporation Method and system for simultaneous management of multiple tokens on a communication ring
US7485499B2 (en) * 2004-07-29 2009-02-03 Sandisk Corporation Customized non-volatile memory device packages
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI759703B (zh) * 2020-03-20 2022-04-01 群聯電子股份有限公司 電路布局結構與記憶體儲存裝置

Also Published As

Publication number Publication date
WO2006017725A3 (en) 2006-08-24
US8375146B2 (en) 2013-02-12
TW200627174A (en) 2006-08-01
JP5192233B2 (ja) 2013-05-08
WO2006017725A2 (en) 2006-02-16
CN101036132B (zh) 2010-05-12
EP1787208A2 (en) 2007-05-23
US20060031593A1 (en) 2006-02-09
CN101036132A (zh) 2007-09-12
EP1787208B1 (en) 2015-03-18
KR20070060080A (ko) 2007-06-12
JP2008509499A (ja) 2008-03-27

Similar Documents

Publication Publication Date Title
TWI439866B (zh) 記憶體系統及其操作方法
KR101260632B1 (ko) 출력 제어 메모리
US7409473B2 (en) Off-chip data relocation
CN102754088B (zh) 用于在非易失性存储器阵列中的同时后台和前台操作的方法和系统
CN1329924C (zh) 非易失性存储器中可靠的数据拷贝操作的新颖方法和结构
US7831794B2 (en) Memory card and host device thereof
TWI464584B (zh) 用於實施延伸以智慧型管理一大容量儲存系統之資源的系統與方法
JP5753989B2 (ja) 複数のメモリデバイスを有するシステムの状態表示
US9009436B2 (en) Flushed data alignment with physical structures
US7940575B2 (en) Memory device and method providing logic connections for data transfer
US9063849B2 (en) Different types of memory integrated in one chip by using a novel protocol
JP2008052728A (ja) フラッシュメモリシステム及びそのプログラム方法
KR20080068835A (ko) 복수 개의 독립적인 직렬 링크 메모리
EP1751772A2 (en) Configurable ready/busy control
US10095412B2 (en) Memory system and method for improving write performance in a multi-die environment
Eshghi et al. Ssd architecture and pci express interface
US20140173173A1 (en) Method, device, and system including configurable bit-per-cell capability
CN106598886B (zh) I/o总线共享存储器系统
US20230266963A1 (en) Firmware updating method, apparatus and data system
US8037231B2 (en) Memory architecture for separation of code and data in a memory device
KR20130110153A (ko) 다이 인터리브를 향상시키기 위해 프로그래밍 시퀀스를 구현하기 위한 시스템들 및 방법들
CN103098029A (zh) 后台存储器系统接口的动态优化

Legal Events

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