TWI464584B - 用於實施延伸以智慧型管理一大容量儲存系統之資源的系統與方法 - Google Patents

用於實施延伸以智慧型管理一大容量儲存系統之資源的系統與方法 Download PDF

Info

Publication number
TWI464584B
TWI464584B TW097145731A TW97145731A TWI464584B TW I464584 B TWI464584 B TW I464584B TW 097145731 A TW097145731 A TW 097145731A TW 97145731 A TW97145731 A TW 97145731A TW I464584 B TWI464584 B TW I464584B
Authority
TW
Taiwan
Prior art keywords
host
storage system
data
file
command
Prior art date
Application number
TW097145731A
Other languages
English (en)
Other versions
TW200935220A (en
Inventor
Sergey A Gorobets
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 TW200935220A publication Critical patent/TW200935220A/zh
Application granted granted Critical
Publication of TWI464584B publication Critical patent/TWI464584B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

用於實施延伸以智慧型管理一大容量儲存系統之資源的系統與方法
本申請案大體而言係關於在具有不同介面之電子系統之間的資料通信。更具體而言,本申請案係關於記憶體系統(諸如可再程式化之非揮發性半導體快閃記憶體)之操作,及記憶體所連接至或可連接至之主機裝置。
本發明參考關於快閃記憶體系統中之直接資料檔案儲存之以下美國專利申請案:
1)名為"Direct Data File Storage in Flash Memories"的第11/060,249號(公開案第2006-0184720 A1號)、名為"Direct File Data Programming and Deletion in Flash Memories"的第11/060,174號(公開案第2006-0184718 A1號)及名為"Direct Data File Storage Implementation Techniques in Flash Memories"的第11/060,248號(公開案第2006-0184719 A1號),該三個申請案全部係在2005年2月16日申請;以及相關申請案第11/342,170號(公開案第2006-0184723 A1號)及第11/342,168號(公開案第2006-0184722 A1號),該兩個申請案皆係在2006年1月26日申請;
2)2005年8月3日申請之第60/705,388號;名為"Data Consolidation and Garbage Collection in Direct Data File Storage in Flash Memories"的第11/461,997號、名為"Data Operations in Flash Memories Utilizing Direct Data File Storage"的第11/462,007號以及相關申請案第11/462,001號及第11/462,013號,該四個申請案全部係在2006年8月2日申請。
3)2005年8月3日申請之名為"Interfacing Systems Operating Through a Logical Address Space and on a Direct Data File Basis"的第11/196,869號。
4)2005年8月3日申請之名為Method and System for Dual Mode Access for Storage Devices""的第11/196,168號。
5)名為"Method of Storing Transformed Units of Data in a Memory System Having Fixed Sized Storage Blocks"的第11/250,299號及相關申請案第11/250,794號,該兩個申請案皆係在2005年10月13日申請。
6)名為"Scheduling of Reclaim Operations in Non-Volatile Memory"的第11/259,423號及相關申請案第11/259,439號,該兩個申請案皆係在2005年10月25日申請。
7)名為"Logically-Addressed File Storage Methods"的第11/302,764號及相關申請案第11/300,568號,該兩個申請案皆係在2005年12月13日申請。
8)名為"Enhanced Host Interfacing Methods"的第11/316,577號及相關申請案第11/316,578號,該兩個申請案皆係在2005年12月21日申請。
9)2005年12月21日申請之名為"Dual Mode Access for Non-Volatile Storage Devices"的第11/314,842號。
10)名為"Method and System for Accessing Non-Volatile Storage Devices"的第11/313,567號及相關申請案第11/313,633號,該兩個申請案皆係在2005年12月21日申請。
11)名為"Management of Memory Blocks that Directly Store Data Files"的第11/382,224號及相關申請案第11/382,228號,該兩個申請案皆係在2006年5月8日申請。
12)名為"Reclaiming Data Storage Capacity in Flash Memories"的第11/382,232號及相關申請案第11/382,235號,該兩個申請案皆係在2006年5月8日申請。
13)2006年5月8日申請之第60/746,742號;名為"Indexing of File Data in Reprogrammable Non-Volatile Memories that Directly Store Data Files"的第11/459,255號及相關申請案第11/459,246號,該兩個申請案皆係在2006年7月21日申請。
14)2006年5月8日申請之第60/746,740號;名為"Methods of Managing Blocks in Nonvolatile Memory"的第11/459,268號及相關申請案第11/459,260號,該兩個申請案皆係在2006年7月21日申請。
15)名為"Use of a Direct Data File System with a Continuous Logical Address Space Interface"的第11/616,242號及相關申請案第11/616,236號、第11/616,231號、第11/616,228號、第11/616,226號及第11/616,218號,該六個申請案全部係在2006年12月26日申請。
為了所有目的,以上申請案(在本文中被共同地稱為"直接資料檔案儲存申請案")及所有專利、專利申請案、論文及其他公開案、文獻及本文中隨後所參考之事物以全文引用的方式併入本文中。
本申請案亦係關於2007年6月8日申請之美國專利申請案第11/760,480號"System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium",該案以引用的方式併入本文中。
本申請案亦係關於2007年6月8日申請之美國專利申請案第11/760,469號"System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium",該案以引用的方式併入本文中。
當將資料寫入至習知之快閃資料記憶體系統時,主機通常將獨特之邏輯位址指派給記憶體系統之連續虛擬位址空間內的資料之區段、叢集或其他單位。主機將資料寫入至記憶體系統之邏輯位址空間內的位址或自記憶體系統之邏輯位址空間內的位址讀取資料。記憶體系統接著通常在邏輯位址空間與記憶體之實體區塊或元區塊之間映射資料,其中資料係儲存於對應於邏輯位址空間中之範圍的固定邏輯群組中。通常,每一固定邏輯群組係儲存於記憶體系統之一單獨的實體區塊中。記憶體系統追蹤如何將邏輯位址空間映射至實體記憶體中,但主機並未察覺到此。主機追蹤其資料檔案在邏輯位址空間內的位址,但記憶體系統在不瞭解此映射的情況下操作。
在邏輯位址空間(亦被稱為邏輯區塊位址(LBA)格式)中操作之記憶體系統的缺點為分段(fragmentaion)。由主機檔案系統寫入之資料通常可在邏輯位址空間中被分段,其中許多固定邏輯群組僅部分地由新資料予以更新。分段可由於主機檔案系統對自由空間之累積分段而發生,且有可能甚至由於主機檔案系統對個別檔案之固有分段而發生。經分段之邏輯群組將需要被全部重寫於不同實體區塊中。重寫經分段之邏輯群組之過程可涉及自該邏輯群組之先前位置複製不相關的資料。此額外負擔可導致記憶體系統之較低效能及減少之裝置壽命。
為瞭解決對改良記憶體系統效能的需要且減少分段,陳述一種用於實現延伸以智慧型管理大容量儲存系統之資源的方法。
根據一態樣,描述一種用於在主機系統與可再程式化之非揮發性大容量儲存系統之間傳送資料的方法。該方法包括大容量儲存系統自主機系統接收經啟用之延伸集合的一延伸,該延伸包括命令序列資訊、命令資訊或檔案屬性資訊中之至少一者。大容量儲存系統自主機系統接收一主機應用程式命令,該主機應用程式命令包括與命令序列資訊、命令資訊或檔案屬性資訊中之該所接收至少一者相關聯之資料的邏輯區塊位址資訊。大容量儲存系統基於經啟用之延伸集合的所接收延伸來管理大容量儲存系統之資源。
根據另一態樣,描述一種電腦可讀儲存媒體,其具有用於在主機系統與可再程式化之非揮發性大容量儲存系統之間傳送資料的可執行指令。該等指令經組態以指導一處理器執行以下動作:自主機系統接收經啟用之延伸集合的一延伸,該延伸包含命令序列資訊、命令資訊或檔案屬性資訊中之至少一者;自主機系統接收一主機應用程式命令,該主機應用程式命令包含與所接收之至少一命令序列資訊、命令資訊或檔案屬性資訊相關聯之資料的邏輯區塊位址資訊;及基於經啟用之延伸集合的所接收延伸來管理大容量儲存系統之資源。
根據又一態樣,描述用於在主機系統與可再程式化之非揮發性大容量儲存系統之間傳送資料的另一方法。該方法包括主機系統將經啟用之延伸集合的一延伸導引至大容量儲存系統,該延伸包括命令序列資訊、命令資訊或檔案屬性資訊中之至少一者。該方法另外包括主機系統將一主機應用程式命令導引至大容量儲存系統,該主機應用程式命令包含與命令序列資訊、命令資訊或檔案屬性資訊中之該至少一者相關聯之資料的邏輯區塊位址資訊。
根據另一態樣,描述另一電腦可讀儲存媒體,其具有用於在主機系統與可再程式化之非揮發性大容量儲存系統之間傳送資料的處理器可執行指令。該等指令經組態以指導一處理器執行以下動作:將經啟用之延伸集合的一延伸導引至大容量儲存系統,該延伸包含命令序列資訊、命令資訊或檔案屬性資訊中之至少一者;及將一主機應用程式命令導引至大容量儲存系統,該主機應用程式命令包含與命令序列資訊、命令資訊或檔案屬性資訊中之該至少一者相關聯的資料之邏輯區塊位址資訊。
根據又一態樣,描述一種用於管理可再程式化之非揮發性大容量儲存系統之資源的方法。該方法包括自主機系統接收經啟用之延伸集合的一延伸,該延伸包含命令序列資訊。該方法進一步包括基於包含命令序列資訊之該所接收延伸來管理大容量儲存系統之資源以不理會與未完成之先前命令序列相關聯的資料或主機應用程式命令中之至少一者。
根據另一態樣,描述一種電腦可讀儲存媒體,其具有用於管理可再程式化之非揮發性大容量儲存系統之資源的處理器可執行指令。該等指令經組態以指導一處理器執行以下動作:自主機系統接收經啟用之延伸集合的一延伸,該延伸包含命令序列資訊;及基於包含命令序列資訊之該所接收延伸來管理大容量儲存系統之資源以不理會與未完成之先前命令序列相關聯的資料或主機應用程式命令中之至少一者。
本發明之其他特徵及優點將在閱讀以下圖式、實施方式及申請專利範圍後變得顯而易見。
在圖1至圖6中展示適合用於實現本發明之態樣的快閃記憶體系統。圖1之主機系統1將資料儲存於快閃記憶體2中且自快閃記憶體2擷取資料。儘管在一些實施中,快閃記憶體可嵌入於主機內(諸如,呈安裝於個人電腦中之固態磁碟機的形式),但說明記憶體2係呈卡之形式,該卡經由機械及電連接器之配合件3及4可移除地連接至主機。然而,應瞭解下文描述之用於實現延伸以智慧型管理大容量儲存系統之資源的方法可在嵌入於主機內之快閃記憶體中實現。
當前存在許多不同的市售快閃記憶體卡,實例為緊密快閃(CF)、多媒體卡(MMC)、安全數位(SD)、迷你SD、記憶棒、智慧媒體、TransFlash卡及xD卡。儘管此等卡中之每一者根據其標準化規格而具有獨特機械及/或電介面,但每一者中所包括之快閃記憶體系統為類似的。此等卡全部可購自本申請案之受讓人SanDisk公司。SanDisk亦在其Cruzer商標下提供一系列隨身碟,該等隨身碟為小封裝中之手持式記憶體系統,其具有用於藉由插入至主機之USB插座中而與主機連接的通用串列匯流排(USB)插頭。此等記憶體卡及隨身碟中之每一者包括控制器,該等控制器與主機用介面連接且控制其內之快閃記憶體之操作。
使用此等記憶體卡及隨身碟之主機系統為很多且各種各樣的。其包括個人電腦(PC)、膝上型及其他可攜式電腦、蜂巢式電話、個人數位助理(PDA)、數位靜態相機、數位電影攝影機及可攜式音訊播放器。主機通常包括內建式插座,其用於一或多個類型之記憶體卡或隨身碟(但一些要求配接器,記憶體卡係插入至配接器中)。記憶體系統通常含有其自身的記憶體控制器及驅動程式,但亦存在一些唯記憶體系統,其替代地由記憶體所連接至之主機所執行的軟體來控制。在含有控制器之一些記憶體系統(尤其是嵌入於主機內之記憶體系統)中,記憶體、控制器及驅動程式經常形成於單一積體電路晶片上。
可認為圖1之主機系統1具有兩個主要部分(在涉及記憶體2之範圍內),其由電路與軟體之組合構成。兩個主要部分為與記憶體2用介面連接的應用程式部分5及驅動程式部分6。例如,在個人電腦中,應用程式部分5可包括執行文書處理、圖形、控制或其他風行應用程式軟體之處理器。在相機、蜂巢式電話或其他主要專用以執行功能之單一集合的主機系統中,應用程式部分5包括操作相機以取得並儲存圖像,操作蜂巢式電話以產生並接收呼叫及其類似操作的軟體。
圖1之記憶體系統2包括快閃記憶體7及電路8,其皆與卡所連接至之主機用介面連接以用於來回傳遞資料且控制記憶體7。控制器8通常在資料程式化及讀取期間在由主機1所使用之資料的邏輯位址與記憶體7之實體位址之間轉換。雖然圖1之控制器8經展示為記憶體系統2之一部分,但應瞭解,在諸如智慧媒體、xD卡或嵌入式媒體之記憶體系統中,記憶體系統2可不包括控制器8且主機系統之控制器充當記憶體系統之控制器。
參看圖2,描述可用作圖1之非揮發性記憶體2的典型快閃記憶體系統之電路。系統控制器通常在單一積體電路晶片11上實現,該單一積體電路晶片11經由系統匯流排13與一或多個積體電路記憶體晶片並聯連接,圖2中展示了單一此種記憶體晶片15。所說明之特定匯流排13包括用以載運資料的導體17之單獨集合:用於記憶體位址之集合19及用於控制及狀態信號之集合21。或者,可在此等三個功能之間時間共用導體之單一集合。
典型控制器晶片11具有其自身的內部匯流排23,其經由介面電路25與系統匯流排13用介面連接。通常連接至該匯流排之主要功能為:處理器27(諸如微處理器或微控制器)、含有用以初始化("啟動")系統之程式碼的唯讀記憶體(ROM)29、主要用以緩衝在記憶體與主機之間所傳送之資料的唯讀記憶體(RAM)31,及對通過記憶體與主機之間的控制器之資料計算且檢查一誤差校正碼(ECC)的電路33。控制器匯流排23經由電路35與主機系統用介面連接,在記憶體卡內含有圖2之系統的狀況下,其係經由卡的外部觸點37(其係連接器4之部分)來進行。時脈39與控制器11之其他組件中之每一者連接且由該每一者利用。
記憶體晶片15以及與系統匯流排13連接之任何其他晶片可含有記憶體單元之陣列,其經組織成多個子陣列或平面,為了簡單起見說明兩個此等平面41及43,但替代地可使用更多(諸如四個或八個)此等平面。或者,可不將晶片15之記憶體單元陣列劃分成平面。然而,當如此劃分時,每一平面具有其自身之行控制電路45及47,該等控制電路可彼此獨立地操作。電路45及47自系統匯流排13之位址部分19接收其各別記憶體單元陣列之位址,且將其解碼以對各別位元線49及51中之特定的一或多者定址。回應於在位址匯流排19上所接收之位址而經由列控制電路55對字線53定址。源電壓控制電路57及59亦像p井電壓控制電路61及63一樣與各別平面連接。若記憶體晶片15具有記憶體單元之單一陣列且若兩個或兩個以上此等晶片存在於系統中,則每一晶片之陣列可類似於上述多平面晶片內的一平面或子陣列而被操作。
經由與系統匯流排13之資料部分17連接的各別資料輸入/輸出電路65及67將資料傳送至平面41及43中且自平面41及43傳送出來。電路65及67提供用於經由線69及71將資料程式化至記憶體單元中並且自其各別平面之記憶體單元讀取資料,線69及71經由各別行控制電路45及47連接至該等平面。
儘管控制器11控制記憶體晶片15之操作以程式化資料、讀取資料、抹除且注意各種內務處理事件(housekeeping matter),但每一記憶體晶片亦含有一些控制電路,其執行來自控制器11之命令以執行此等功能。介面電路73連接至系統匯流排13之控制及狀態部分21。將來自控制器之命令提供至狀態機75,狀態機75接著提供對其他電路之特定控制以便執行此等命令。控制線77至81將狀態機75與此等其他電路連接,如圖2中所示。來自狀態機75之狀態資訊經由線83被傳達至介面73以用於經由匯流排部分21傳輸至控制器11。
記憶體單元陣列41及43之反及(NAND)架構當前較佳,但亦可替代地使用諸如反或(NOR)之其他架構。可藉由參考美國專利第5,570,315、5,774,397、6,046,935、6,373,746、6,456,528、6,522,580、6,771,536及6,781,877號以及美國專利申請公開案第2003/0147278號來獲得作為記憶體系統之部分之NAND快閃記憶體及其操作的實例。
由圖3之電路圖說明NAND陣列之實例,其係圖2記憶體系統之記憶體單元陣列41的一部分。提供許多全域位元線,為闡釋的簡單起見,圖3中僅展示四個此等線91至94。許多串聯連接之記憶體單元串97至104連接於此等位元線中之一者與參考電位之間。使用記憶體單元串99作為代表,複數個電荷儲存記憶體單元107至110在該串之任一末端處與選擇電晶體111及112串聯連接。當致使一串之選擇電晶體導電時,該串連接於其位元線與參考電位之間。接著同時程式化或讀取彼串內之一記憶體單元。
圖3之字線115至118個別地延伸越過許多記憶體單元串中之每一者中的一記憶體單元之電荷儲存元件,且控制閘極線119及120控制該等串之每一末端處之選擇電晶體的狀態。使得共用共同的字線115至118及控制閘極線119至120之記憶體單元串形成一起被抹除之記憶體單元的一區塊123。單元之此區塊含有最小數目個單元,該等單元可同時實體上抹除。同時程式化一列記憶體單元(沿字線115至118中之一者的記憶體單元)。通常,以一規定次序來程式化NAND陣列之列,在此種狀況下,以沿最接近於連接至接地或另一共同電位之串之末端的字線118之列開始。接下來程式化沿字線117之記憶體單元的列,以此類推,貫穿區塊123。最後程式化沿字線115之列。
第二區塊125為類似的,其記憶體單元串連接至與第一區塊123中之串相同的全域位元線,但具有字線及控制閘極線之一不同集合。字線及控制閘極線由列控制電路55驅動至其適當的操作電壓。若系統中存在一個以上平面或子陣列(諸如圖2之平面1及2),則一記憶體架構使用在該等平面或自陣列之間延伸的共同字線。或者,可存在共用共同字線之兩個以上平面或子陣列。在其他記憶體架構中,分離地驅動個別平面或子陣列之字線。
如上文所參考之NAND專利及已公開之申請案中之若干者中所描述,可操作記憶體系統以將兩個以上可偵測之電荷位準儲存於每一電荷儲存元件或區中,藉此在每一者中儲存一個以上資料位元。如美國專利申請公開案第2003/0109093號中所描述,記憶體單元之電荷儲存元件最通常為導電浮閘,但替代地可為非導電介電質電荷捕獲材料。
圖4在概念上說明快閃記憶體單元陣列7(圖1)之組織,其在下文之進一步描述中用作實例。記憶體單元之四個平面或子陣列131至134可在單一積體記憶體單元晶片上、在兩個晶片上(該等平面中之兩者在每一晶片上)或在四個單獨晶片上。特定排列對於下文之論述並不重要。當然,一系統中可存在其他數目個平面(諸如1、2、8、16或16個以上)。可將平面個別地劃分成圖4中藉由矩形所示之記憶體單元的區塊(諸如,位於各別平面131至134中之區塊137、138、139及140)。每一平面中可存在幾打或幾百個區塊。
如上文所提及,記憶體單元之區塊為抹除之單位,其為可一起實體上抹除之最小數目個記憶體單元。然而,為了增加之並行性,以較大元區塊單位來操作區塊。將來自每一平面之一區塊邏輯上連結在一起以形成元區塊。四個區塊137至140經展示以形成元區塊141。元區塊內之所有單元通常一起被抹除。用以形成元區塊之區塊不需要侷限於其各別平面內之相同的相對位置,如由區塊145至148構成之第二元區塊143中所示。儘管通常較佳使元區塊延伸越過所有平面,但為了高的系統效能,記憶體系統可以動態地形成不同平面中之任何或所有的一、二或三個區塊之元區塊的能力來操作。此允許元區塊之大小更接近地與可用於在一程式化操作中儲存之資料量匹配。
為操作目的,個別區塊又被劃分成記憶體單元之頁,如圖5中所說明。例如,區塊137至140中之每一者之記憶體單元各自被劃分成八個頁P0至P7。或者,每一區塊內可存在記憶體單元之16、32或32個以上頁。頁為一區塊內之資料程式化及讀取的單位,其含有同時經程式化或讀取之最小量的資料。在圖3之NAND架構中,一頁由沿一區塊內之一字線的記憶體單元形成。然而,為了增加記憶體系統操作並行性,可將兩個或兩個以上區塊內之此等頁邏輯上連結成元頁。圖5中說明元頁151,其由來四個區塊137至140中之每一者的一實體頁形成。元頁151(例如)包括四個區塊中之每一者中的頁P2,但元頁之頁不需要必須具有在該等區塊中之每一者內的相同的相對位置。元頁為程式化之最大單位。
儘管較佳越過所有四個平面並行地程式化且讀取最大量的資料,但為了高的系統效能,亦可操作記憶體系統以形成不同平面中之單獨區塊中之任何或所有的一、二或三個頁之元頁。此允許程式化及讀取操作與可便利地並行處理之資料量適應性地匹配且減少一元頁之部分保持未由資料程式化的機會。
由多個平面之實體頁形成的元頁(如圖5中所說明)含有沿彼等多個平面之字線列的記憶體單元。並非同時程式化一字線列中之所有單元,而是更通常將其在兩個或兩個以上交錯群組中交替地程式化,每一群組儲存一資料頁(在單一區塊中)或一資料元頁(越過多個區塊)。藉由同時將記憶體單元交替地程式化,包括資料暫存器及感應放大器的周邊電路之單位不需要為每一位元線提供,而是在鄰近位元線之間時間共用。此節約周邊電路所需的基板空間量且允許以沿列增加之密度來封裝記憶體單元。其他方面,較佳同時程式化沿一列之每一單元以便最大化可自一給定記憶體系統獲得之並行性。
參看圖3,將資料同時程式化至沿一列之每一其他記憶體單元中係藉由沿NAND串之至少一末端提供兩列選擇電晶體(未圖示)而非所示之單一列而最便利地完成。接著,一列之選擇電晶體回應於一控制信號而將一區塊內之所有其他串連接至其各別位元線,且另一列之選擇電晶體回應於另一控制信號而將介入之每一其他串連接至其各別位元線。因此,將兩個資料頁寫入至記憶體單元之每一列中。
每一邏輯頁中之資料量通常為整數的一或多個資料區段,按照慣例,每一區段含有512個位元組之資料。區段為傳送至記憶體系統及自記憶體系統所傳送之資料的最小單位。圖6展示一頁或元頁之資料之兩個區段153及155的邏輯資料頁。每一區段通常含有經儲存之512個位元組之使用者或系統資料的部分157及用於與部分157中之資料或與其中儲存該資料之實體頁或區塊有關的另一數目個位元組之附加項資料159。附加項資料之位元組的數目通常為16個位元組,其使得區段153及155中之每一者為總共528個位元組。附加項部分159可含有在程式化期間自資料部分157計算出之ECC、其邏輯位址、對區塊已被抹除且再程式化之次數的經驗計數、一或多個控制旗標、操作電壓位準及/或其類似物,加上自此附加項資料159計算出之ECC。或者,附加項資料159或其一部分可儲存於其他區塊之不同頁中。在任一狀況下,一區段表示與ECC相關聯的所儲存資料之單位。
隨著記憶體之並行性增加,元區塊之資料儲存容量增加且資料頁及元頁之大小因此亦增加。於是資料頁可含有兩個以上資料區段。在一資料頁中具有兩個區段且每元頁具有兩個資料頁的情況下,一元頁中存在四個區段。因此,每一元頁儲存2048個位元組之資料。此為高程度之並行性,且隨著列中之記憶體單元的數目增加,可更進一步增加。鑒於此原因,快閃記憶體之寬度經延伸以便增加一頁及一元頁中之資料量。
以上所識別之實體上小的可再程式化之非揮發性記憶體卡及隨身碟為市售的,其具有各種資料儲存容量。主機管理由主機所執行之應用程式軟體或韌體程式產生或使用的資料檔案。電腦輔助設計(CAD)軟體之文書處理資料檔案及繪圖檔案為由通用電腦主機(諸如PC、膝上型電腦及其類似物)中之應用程式軟體產生之資料檔案的實例。數位相機產生一用於儲存於記憶體卡上之每一圖像的資料檔案。蜂巢式電話利用來自內部記憶體卡上之檔案(諸如電話號碼簿)的資料。PDA儲存且使用若干不同檔案(諸如地址檔案、行事曆檔案及其類似物)。在任何此應用中,記憶體卡亦可含有操作主機之軟體。
在圖7中說明在主機與記憶體系統之間的共同邏輯介面。連續邏輯位址空間161足夠大以提供用於可儲存於記憶體系統中之所有資料的位址。通常將主機位址空間劃分成資料叢集的增量。在一給定主機系統中,每一叢集可經設計以含有許多資料區段,大約在4個與64個區段之間為典型的。一標準區段含有512個位元組之資料。
在圖7之實例中將三個資料檔案1、2及3展示為已產生。在主機系統上執行之應用程式將每一檔案產生為有序資料集合且藉由獨特名稱或其他參考來識別該有序資料集合。未配置給其他檔案之足夠的可用邏輯位址空間由主機藉由檔案至邏輯位址轉換160而指派至資料檔案1。將資料檔案1展示為已被指派可用邏輯位址之一相連範圍。為了特定目的亦通常配置位址之多個範圍(諸如一用於主機操作軟體之特定範圍),接著即使在主機將邏輯位址指派給資料時未利用此等位址,亦避免將該等範圍用於儲存資料。
當資料檔案2稍後由主機產生時,主機同樣藉由圖7之檔案至邏輯位址轉換160來指派邏輯位址空間161內之相連位址之兩個不同範圍。檔案不需要被指派相連邏輯位址,而是可為在已配置給其他檔案之位址範圍之間的位址片段。此實例接著展示,由主機產生之又一資料檔案3被配置主機位址空間之其他部分,該等其他部分先前並未配置給資料檔案1與2及其他資料。
主機藉由維持檔案配置表(FAT)來追蹤記憶體邏輯位址空間,在該表中維持由主機藉由轉換160而指派給各種主機檔案之邏輯位址。當儲存新檔案、刪除其他檔案、修改檔案及其類似操作時,由主機頻繁地更新FAT表。通常將FAT表儲存於主機記憶體中,並且亦將複本儲存於時常更新之非揮發性記憶體中。正如任何其他資料檔案,通常經由邏輯位址空間而在非揮發性記憶體中存取複本。當刪除主機檔案時,主機接著藉由更新FAT表而對先前配置給已刪除之檔案之邏輯位址解除配置,以展示該等邏輯位置現可用於配合其他資料檔案使用。
主機並不關心記憶體系統控制器選擇來儲存檔案之實體位置。典型主機僅瞭解其邏輯位址空間及主機已配置給其各種檔案之邏輯位址。另一方面,記憶體系統經由所描述之典型主機/卡介面而僅瞭解邏輯位址空間之已被寫入資料的部分但不瞭解配置給特定主機檔案之邏輯位址或甚至主機檔案之數目。記憶體系統控制器將由主機提供之用於資料之儲存或擷取的邏輯位址轉換成在儲存主機資料之快閃記憶體單元陣列內的獨特實體位址。方塊163表示此等邏輯至實體位址轉換之工作表,其係藉由記憶體系統控制器來維持。
記憶體系統控制器經程式化以將資料以一將系統之效能維持於高位準之方式儲存於記憶體陣列165之區塊及元區塊內。在此說明中使用四個平面或子陣列。越過由來自該等平面中之每一者之區塊形成的整個元區塊,以系統所允許之最大程度的並行性來較佳地程式化且讀取資料。通常將至少一元區塊167配置為保留區塊,其用於儲存操作韌體及由記憶體控制器使用之資料。可配置另一元區塊169或多個元區塊用於儲存主機操作軟體、主機FAT表及其類似物。大多數實體儲存空間留下以用於儲存資料檔案。然而,記憶體控制器不瞭解所接收之資料已如何由主機配置於其各種檔案物件中。記憶體控制器通常由與主機互動而瞭解的僅為:由主機寫入至特定邏輯位址之資料係儲存於如控制器之邏輯至實體位址表163所維持的相應實體位址中。
在典型記憶體系統中,除了儲存位址空間161內之資料量所必需的外,提供幾個額外區塊之儲存容量。此等額外區塊中之一或多者可經提供為冗餘區塊以用於取代在記憶體之壽命期間可能變得有缺陷之其他區塊。通常可為了各種原因改變個別元區塊內所含有之區塊的邏輯分組(logical grouping),原因包括冗餘區塊對最初指派給該元區塊之有缺陷區塊的取代。通常在經抹除之區塊集區(block pool)中維持一或多個額外區塊(諸如元區塊171)。圖7中所示之大多數剩餘元區塊用以儲存主機資料。當主機將資料寫入至記憶體系統時,控制器之功能163將由主機指派之邏輯位址轉換成經抹除之區塊集區中之一元區塊內的實體位址。接著抹除未用以儲存邏輯位址空間161內之資料的其他元區塊並將其指定為經抹除之集區區塊以便在一後續資料寫入操作期間使用。在一較佳形式中,將邏輯位址空間劃分成邏輯群組,其各自含有等於實體記憶體元區塊之儲存容量的資料量,因此允許將邏輯群組一對一映射至元區塊中。
當初始所儲存資料變得過期時,藉由新資料來頻繁地覆寫儲存於特定主機邏輯位址處之資料。作為回應,記憶體系統控制器將新資料寫入經抹除之區塊中並接著對彼等邏輯位址改變邏輯至實體位址表以識別在彼等邏輯位址處之資料所儲存至的新實體區塊。接著抹除含有在彼等邏輯位址處之初始資料的區塊並使其可用於儲存新資料。若在寫入開始時,在來自抹除區塊集區之經預先抹除之區塊中不存在足夠的儲存容量,則此抹除經常必須在可完成當前資料寫入操作之前發生。此可不利地影響系統資料程式化速度。記憶體控制器通常瞭解,僅當主機將新資料寫入至其相同邏輯位址時,主機已致使在一給定邏輯位址處之資料過期。因此,記憶體之許多區塊可暫時儲存此無效資料。
區塊及元區塊之大小增加以便高效地使用積體電路記憶體晶片之區域。此導致大部分的個別資料寫入儲存少於一元區塊之儲存容量(且在許多狀況下,甚至少於一區塊之儲存容量)的資料量。由於記憶體系統控制器通常將新資料導引至經抹除之集區元區塊,故此可導致元區塊之部分未經填充。若新資料為儲存於另一元區塊中之一些資料的更新,則亦以邏輯位址次序將來自具有與新資料元頁之邏輯位址相連之邏輯位址的其他元區塊之剩餘有效資料元頁合意地複製至新元區塊中。舊的元區塊可保持其他有效資料元頁。隨著時間的過去,此導致致使一個別元區塊之某些元頁的資料過期且無效且由寫入至一不同元區塊之具有相同邏輯位址的新資料所替換。
為了維持足夠的實體記憶體空間以將資料儲存於整個邏輯位址空間161內,將此等資料週期性地壓縮或合併(廢棄項目收集)。亦需要在實際的程度上將資料區段以與其邏輯位址相同的次序維持於元區塊內,因為此使得在相連邏輯位址中讀取資料更高效。因此通常以此額外目的而執行資料壓縮及廢棄項目收集。在美國專利第6,763,424號中描述在接收部分區塊資料更新時管理一記憶體及元區塊之使用的一些態樣。
資料壓縮通常涉及自一元區塊讀取所有有效資料元頁並將其寫入至一新區塊,在該過程中不理會具有無效資料之元頁。具有有效資料之元頁亦較佳地以與儲存於該等元頁中之資料之邏輯位址次序匹配的實體位址次序來排列。在新元區塊中所佔據之元頁的數目將少於在舊元區塊中所佔據之元頁的數目,因為未將含有無效資料之元頁複製至新元區塊。接著抹除舊區塊並使得其可用於儲存新資料。藉由合併所獲得之容量的額外元頁接著可用以儲存其他資料。
在廢棄項目收集期間,自兩個或兩個以上元區塊聚集具有相連或幾乎相連之邏輯位址之有效資料元頁並將其重寫至另一元區塊中(通常為經抹除之區塊集區中之一元區塊)。當自初始的兩個或兩個以上元區塊複製所有有效資料元頁時,可將其抹除以便將來使用。
資料合併及廢棄項目收集花費時間且可影響記憶體系統之效能,尤其是在資料合併或廢棄項目收集需要在可執行來自主機之命令之前發生時。此等操作通常由記憶體系統控制器予以排程以儘可能地在後台發生,但對執行此等操作之需要可導致控制器必須給主機一忙碌狀態信號,直至此操作完成為止。主機命令之執行可經延遲之情況的實例為,經抹除之區塊集區中不存在足夠的經預先抹除之元區塊來儲存主機希望寫入至記憶體中之所有資料,因此首先需要資料合併或廢棄項目收集以清除一或多個有效資料元區塊,接著可將其抹除。因此已使注意力指向管理記憶體之控制以便將此等中斷減到最少。許多此等技術描述於在下文中被稱為"LBA專利申請案"的以下美國專利申請案中:2003年12月30日申請之名為"Management of Non-Volatile Memory Systems Having Large Erase Blocks"的第10/749,831號;2003年12月30日申請之名為"Non-Volatile Memory and Method with Block Management System"的第10/750,155號;2004年8月13日申請之名為"Non-Volatile Memory and Method with Memory Planes Alignment"的第10/917,888號;2004年8月13日申請之第10/917,867號;2004年8月13日申請之名為"Non-Volatile Memory and Method with Phased Program Failure Handling"的第10/917,889號;2004年8月13日申請之名為"Non-Volatile Memory and Method with Control Data Management"的第10/917,725號;2005年7月27日申請之名為"Non-Volatile Memory and Method with Multi-Stream Update Tracking"的第11/192,220號;2005年7月27日申請之名為"Non-Volatile Memory and Method with Improved Indexing for Scratch Pad and Update Blocks"的第11/192,386號;及2005年7月27日申請之名為"Non-Volatile Memory and Method with Multi-Stream Updating"的第11/191,686號。
對高效地控制具有大抹除區塊之記憶體陣列之操作的一挑戰係使在給定寫入操作期間所儲存之資料區段的數目與記憶體之區塊之容量及邊界匹配且對準。一方法係用(如儲存一少於填充整個元區塊之量的資料量所必需的)少於最大數目個區塊來組態一用以儲存來自主機之新資料的元區塊。適應性元區塊之使用描述於2003年12月30日申請之名為"Adaptive Metablocks"的美國專利申請案第10/749,189號中。在資料區塊之間的邊界與元區塊之間的實體邊界之配合描述於2004年5月7日申請之專利申請案第10/841,118號及2004年12月16日申請之名為"Data Run Programming"的專利申請案第11/016,271號中。
記憶體控制器亦可使用來自(由主機儲存於非揮發性記憶體中的)FAT表之資料,來更高效地操作記憶體系統。一此種使用係瞭解何時資料已由主機藉由對其邏輯位址解除配置而識別為過期的。瞭解此情況允許記憶體控制器在其通常將藉由主機將新資料寫入至彼等邏輯位址而瞭解此之前排程含有此無效資料之區塊的抹除。此描述於2004年7月21日申請之名為"Method and Apparatus for Maintaining Data on Non-Volatile Memory Systems"的美國專利申請案第10/897,049號中。其他技術包括監測將新資料寫入至記憶體之主機樣式以便推斷給定寫入操作是否為單一檔案,或在在為多個檔案時推斷該等檔案之間的邊界位於何處。2004年12月23日申請之名為"FAT Analysis for Optimized Sequential Cluster Management"的美國專利申請案第11/022,369號描述此類型之技術的使用。
為了高效地操作記憶體系統,需要控制器儘可能多地瞭解由主機指派給其個別檔案資料之邏輯位址且控制器儘可能多地瞭解發送至記憶體系統之主機應用程式命令序列或主機應用程式命令。基於此資訊,資料檔案接著可由控制器儲存於單一元區塊或元區塊之群組內,而非在不瞭解檔案邊界時散布於大量元區塊中。結果是減少了資料合併及廢棄項目收集操作之數目及複雜性。記憶體系統之效能因此改良。但是,如上文所描述,當主機/記憶體介面包括邏輯位址空間161(圖7)時,記憶體控制器難以非常瞭解主機資料檔案結構、主機應用程式命令及/或主機應用程式命令序列。參看圖8,不同地說明如圖7中已展示之典型邏輯位址主機/記憶體介面。由主機對主機所產生之資料檔案配置邏輯位址。接著,記憶體系統看見此等邏輯位址並將其映射至實際上儲存資料之處的記憶體單元之區塊的實體位址中。
主機與記憶體系統之間的一不同類型之介面(稱為直接資料檔案介面,亦被稱為直接檔案儲存器(DFS))不使用邏輯位址空間。主機改為藉由獨特號碼或其他識別參考及檔案內之資料單位(諸如位元組)的位移位址(offset address)在邏輯上定址每一檔案。此檔案位址由主機直接給予記憶體系統控制器,該記憶體系統控制器接著保持其自身的關於每一主機檔案之資料實體上儲存於何處的表。可藉由與上文參看圖2至圖6所描述的相同記憶體系統來實施此新介面。與上文所描述之內容的主要差異為記憶體系統與主機系統進行通信之方式。
在圖9中說明可與圖7之邏輯位址介面匹敵的DFS檔案介面。圖9之檔案1、2及3中之每一者的識別及該等檔案內之資料的位移係自主機直接傳遞至記憶體控制器。此邏輯檔案位址資訊接著由記憶體控制器功能173轉譯成記憶體165之元區塊及元頁的實體位址。檔案目錄追蹤每一所儲存之資料之區段或其他單位所屬於的主機檔案。
亦由圖10說明將與圖8之邏輯位址介面匹敵的直接資料檔案介面。圖8之邏輯位址空間及主機所維持之FAT表在圖10中並不存在。實情為,藉由檔案數目及檔案內之資料之位移來向記憶體系統識別由主機產生之資料檔案。接著,記憶體系統控制器將檔案直接映射至記憶體單元陣列之實體區塊並維持主機檔案儲存於其中之記憶體區塊的目錄及索引表資訊。接著,主機不需要維持當前對於管理一邏輯位址介面所必需的檔案配置表(FAT)。
因為記憶體系統瞭解構成每一檔案之資料的位置,所以可在主機刪除檔案之後不久便抹除此等資料。此在典型邏輯位址介面的情況下為不可能的。此外,藉由用檔案物件而非使用邏輯位址來識別主機資料,記憶體系統控制器可以減少對頻繁的資料合併及收集之需要的方式儲存資料。因此顯著減少資料複製操作之頻率及所複製之資料量,藉此增加記憶體系統之資料程式化及讀取效能。
直接資料檔案儲存記憶體系統描述於以上所識別之直接資料檔案儲存申請案中。此等直接資料檔案儲存申請案之直接資料檔案介面(如圖9及圖10所說明)比上述邏輯位址空間介面(如圖7及圖8所說明)更簡單,且允許改良之記憶體系統效能。儘管直接資料檔案儲存對於許多應用可為較佳的,但主機系統當前主要經組態以配合邏輯位址空間介面而操作。因此,具有直接資料檔案介面之記憶體系統可與大多數主機不相容。因此需要提供一經組態以使用一DFS記憶體管理格式之記憶體系統,該DFS記憶體管理格式具有配合一舊版LBA介面而操作之能力。
為了在主機使用諸如以上關於DFS記憶體管理所描述之方法的方法在邏輯位址空間中操作時智慧型管理大容量儲存系統之資源,主機可在將與一或多個延伸相關聯的主機應用程式命令發送至大容量儲存系統之前或之後將該一或多個延伸發送至大容量儲存系統。該一或多個延伸向大容量儲存系統指示資訊,諸如,已發送至或將被發送至大容量儲存系統的特定主機應用程式命令、主機應用程式命令之特定序列或者與主機應用程式命令或主機應用程式命令序列相關聯的特定檔案。使用此資訊,大容量儲存系統可智慧型執行操作,該等操作藉由減少諸如資料合併操作、資料收集操作及資料複製操作之操作的頻率來高效地管理大容量儲存系統之資源,藉此增加記憶體系統之資料程式化及讀取效能。
圖11為用於在主機系統1102與可再程式化之非揮發性大容量儲存系統1104之間傳送資料的系統1100之一實施例之方塊圖,該系統實現延伸以智慧型管理大容量儲存系統1104之資源。系統1100可包括主機應用程式1106、主機檔案系統1108、LBA介面1110、固定邏輯群組1112及後端系統1114。
如下文更詳細地闡釋,為了使得大容量儲存系統1104能夠智慧型管理其資源,主機系統1102將一或多個延伸發送至大容量儲存系統1104,該一或多個延伸包括命令序列資訊、命令資訊或檔案屬性資訊中之至少一者。大容量儲存系統1104分析該一或多個延伸內之命令序列資訊、命令資訊或檔案屬性資訊中的該所接收至少一者,且基於對命令序列資訊、命令資訊或檔案屬性資訊中之該所接收至少一者的分析而高效地管理大容量儲存系統之資源以減少諸如資料合併操作、資料收集操作及資料複製操作之操作的頻率。
命令序列資訊向大容量儲存系統1104指示:主機系統1102已發送或將發送主機應用程式命令之特定序列至大容量儲存系統1104。命令資訊向大容量儲存系統1104指示:主機系統1102已發送或將發送特定主機應用程式命令至大容量儲存系統1104。檔案屬性資訊為諸如檔案名稱、資料類型、檔案之大小或檔案之邏輯區塊位址的資訊,其指示與主機系統1102已發送或將發送至大容量儲存系統1104之主機應用程式命令或主機應用程式命令序列相關聯的特定檔案。
如圖11中所示,主機檔案系統1108可繞過LBA介面1110及固定邏輯群組1112以將該一或多個延伸發送至後端系統1114。然而,在其他實施中,主機檔案系統1108不繞過LBA介面1110及固定邏輯群組1112以將該一或多個延伸發送至後端系統1114。
圖12為用於實現延伸以智慧型管理大容量儲存系統之資源之方法的一實施例之流程圖。方法1200在步驟1202中以大容量儲存系統將旗標或裝置類型識別符中之至少一者發送至主機系統而開始。在一實施中,當大容量儲存系統第一次耦接至主機系統時,大容量儲存系統將旗標或裝置類型識別符中之至少一者發送至主機系統。
主機系統在步驟1204中自大容量儲存系統接收旗標或裝置類型識別符中之至少一者,且在步驟1206中基於旗標或裝置類型識別符中之該所接收至少一者而啟用延伸之集合。在一實施中,經啟用之命令集合可為新的延伸命令集合。然而,在其他實施中,經啟用之延伸集合可附加至現有之延伸命令集合。
在步驟1208中,主機檔案系統接收主機應用程式命令或主機應用程式命令序列以導引至大容量儲存系統。在步驟1210中,主機檔案系統基於在步驟1108中所接收之主機應用程式命令或主機應用程式命令序列來確定一或多個延伸以發送至大容量儲存系統。在一實施中,每當主機檔案系統接收到主機應用程式命令或主機應用程式命令序列時,主機檔案系統將試圖將相同的該一或多個延伸發送至大容量儲存系統。然而,僅當該一或多個延伸經啟用時,主機檔案系統才能夠將該一或多個延伸發送至大容量儲存系統。
如上所述,一延伸包括命令序列資訊、命令資訊或檔案屬性資訊中之至少一者。命令序列資訊向大容量儲存系統指示主機將發送或已發送至大容量儲存系統之主機應用程式命令序列。舉例而言,命令序列資訊可用以指示主機應用程式命令序列,諸如,檔案目錄更新序列之開始、檔案目錄寫入序列之結束、原子更新序列之開始、原子更新序列之結束,或主機可發送至大容量儲存系統之任何其他類型之主機應用程式命令序列。主機應用程式命令序列可與單一檔案或多個檔案相關聯。此外,主機應用程式命令序列可與多個子序列相關聯,諸如,多個FAT/目錄寫入命令序列。在一些實施中,記憶體系統可使用命令序列資訊來識別主機未完成之命令或其他命令序列的不一致性,以使得記憶體系統可刪除或不理會與未完成之主機應用程式命令序列相關聯的不一致之資料或主機應用程式命令。
命令資訊向大容量儲存系統指示主機將發送或已發送至大容量儲存系統之特定主機應用程式命令。舉例而言,命令資訊可用於指示特定主機應用程式命令,諸如,開始檔案寫入命令、關閉檔案命令、刪除檔案命令、FAT/目錄寫入命令、元資料更新命令,或主機可發送至大容量儲存系統之任何其他類型的主機應用程式命令。
檔案屬性資訊為指示與主機已發送或將發送至大容量儲存系統之主機應用程式命令相關聯的特定檔案之資訊。檔案屬性資訊可為諸如檔案名稱、資料類型、檔案之大小、檔案之邏輯區塊位址、命令序列識別符或可向大容量儲存系統指示一特定檔案之任何其他類型的資訊之資訊。
在步驟1212中,主機檔案系統將與主機應用程式命令或主機應用程式命令序列相關聯的一或多個延伸發送至大容量儲存系統,且在步驟1214中,主機系統將主機應用程式命令或主機應用程式命令序列之一或多個命令發送至大容量儲存系統,該主機應用程式命令包括與該一或多個延伸之命令序列資訊、命令資訊或檔案資訊中之該至少一者相關聯的資料之邏輯區塊位址資訊。應瞭解,在主機將實際的主機應用程式命令或主機應用程式命令序列之一或多個命令發送至大容量儲存系統之前或之後,主機可將與主機應用程式命令或主機應用程式命令序列相關聯的該一或多個延伸發送至大容量儲存系統,只要大容量儲存系統可辨識該一或多個延伸與主機應用程式命令或主機應用程式命令序列之間的關系。
在步驟1216中,大容量儲存系統自主機接收與主機應用程式或主機應用程式序列相關聯的延伸命令,且在步驟1218中,大容量儲存系統自主機接收主機應用程式命令或主機應用程式序列之一或多個應用程式。
在步驟1220中,大容量儲存系統分析所接收之延伸以關於主機已發送或將發送至大容量儲存系統之主機應用程式命令或主機應用程式序列而確定大容量儲存系統可執行什麼操作(諸如內務處理操作)以高效地管理大容量儲存系統之資源。
舉例而言,當大容量儲存系統確定一或多個延伸指示主機已發送或將發送一與特定檔案相關聯的開始檔案寫入命令或一包括與特定檔案或多個檔案相關聯的開始檔案寫入命令之主機應用程式命令序列時,大容量儲存系統可執行一或多個操作以智慧型管理大容量儲存系統之資源,諸如,觸發大容量儲存系統內的不影響與開始檔案寫入命令之特定檔案相關聯的資料之內務處理操作;觸發大容量儲存系統中的對不與開始檔案寫入之特定檔案相關聯的更新區塊之廢棄項目收集;觸發以相連檔案之形式對與開始檔案寫入之特定檔案相關聯之資料的儲存;觸發以相連檔案之形式對與開始檔案寫入命令之特定檔案相關聯之資料的索引;及/或觸發大容量儲存系統以不理會與任何未完成之主機應用程式命令或主機應用程式命令序列相關聯的資料。為了本申請案之目的,將內務處理操作定義為包括執行當前命令或當前命令序列所不需要的任何操作。舉例而言,關於開始檔案寫入命令,內務處理操作可為執行開始寫入命令所不需要的任何操作。
當大容量儲存系統確定一或多個延伸指示主機已發送或將發送一與特定檔案相關聯的關閉檔案命令或一包括與特定檔案相關聯的關閉檔案命令之主機應用程式命令序列時,大容量儲存系統可執行一或多個操作以智慧型管理大容量儲存系統之資源,諸如,觸發大容量儲存系統內的影響與關閉檔案命令之特定檔案相關聯之資料的內務處理操作;觸發對與關閉檔案命令之特定檔案相關聯之更新區塊的廢棄項目收集;觸發以相連檔案之形式對與關閉檔案命令之特定檔案相關聯之資料的儲存;及/或觸發以相連檔案之形式對與關閉檔案命令之特定檔案相關聯之資料的索引。
當大容量儲存系統確定一或多個延伸指示主機已發送或將發送一與特定檔案相關聯的刪除檔案命令或一包括與特定檔案相關聯的刪除檔案命令之主機應用程式命令序列時,大容量儲存系統可執行一或多個操作以智慧型管理大容量儲存系統之資源,諸如,確定與刪除檔案命令之特定檔案相關聯之邏輯區段可經抹除或用空白資料寫入;及/或在確定特定檔案係以檔案形式而非邏輯檔案形式被儲存時,抹除與刪除檔案命令之特定檔案相關聯之資料。
當大容量儲存系統確定一或多個延伸指示主機已發送或將發送一FAT/目錄寫入命令或一包括FAT/目錄寫入命令之主機應用程式命令序列時,大容量儲存系統可執行一或多個操作以智慧型管理大容量儲存系統之資源,諸如,確定更新之混亂性質(Chaotic nature);確定混亂索引資料之邏輯位置;固定混亂區塊;保護混亂區塊免於歸因於非循序存取而關閉;釋放資源以提供至檔案;及/或確定與所接收之FAT/目錄寫入命令相關聯的第二應用程式命令且基於所確定之第二應用程式命令而更新檔案索引資訊。
當大容量儲存系統確定一或多個延伸指示主機已發送或將發送一元資料更新命令或一包括元資料更新命令之主機應用程式命令序列時,大容量儲存系統可執行一或多個操作以智慧型管理大容量儲存系統之資源,諸如,確定未來更新將為非循序但並不混亂的;及/或將更新區塊配置給未來廢棄項目收集操作。
在步驟1222中,大容量儲存系統基於對所接收延伸之分析而執行一或多個操作以高效地管理大容量儲存系統之資源。最後,在步驟1224中,大容量儲存系統執行在步驟1218中所接收之主機應用程式命令或主機應用程式命令序列之一或多個命令。
根據上文,已描述用於實現延伸以智慧型管理大容量儲存系統之資源的方法及設備。藉由分析指示主機已發送或將發送至大容量儲存系統之特定主機應用程式命令序列、特定主機應用程式命令或與主機應用程式命令相關聯之特定檔案的延伸,大容量儲存系統可智慧型執行操作,該等操作高效地管理大容量儲存系統之資源,以減少諸如資料合併操作、資料收集操作及資料複製操作之操作的頻率,藉此增加記憶體系統之資料程式化及讀取效能。
因此以上實施方式意欲被視為說明性而非限制性的且理解包括所有均等物之以下申請專利範圍意欲界定本發明之精神及範疇。
1...主機系統
2...快閃記憶體
3...配合件
4...配合件
5...應用程式部分
6...驅動程式部分
7...快閃記憶體
8...控制器
11...單一積體電路晶片
13...系統匯流排
15...記憶體晶片
17...導體
19...用於記憶體位址之集合
21...用於控制及狀態信號之集合
23...內部匯流排
25...介面電路
27...處理器
29...含有用以初始化("啟動")系統之程式碼的唯讀記憶體(ROM)
31...主要用於緩衝在記憶體與主機之間所傳送之資料的唯讀記憶體(RAM)
33...對通過記憶體與主機之間的控制器之資料計算且檢查一誤差校正碼(ECC)的電路
35...電路
37...外部觸點
39...時脈
41...平面
43...平面
45...行控制電路
47...行控制電路
49...位元線
51...位元線
53...字線
55...列控制電路
57...源電壓控制電路
59...源電壓控制電路
61...p井電壓控制電路
63...p井電壓控制電路
65...資料輸入/輸出電路
67...資料輸入/輸出電路
69...線
71...線
73...介面電路
75...狀態機
77至81...控制線
83...線
91至94...線
97至104...串聯連接之記憶體單元串
107至110...電荷儲存記憶體單元
111...選擇電晶體
112...選擇電晶體
115至118...字線
119...控制閘極線
120...控制閘極線
123...第一區塊
125...第二區塊
131至134...平面/子陣列
137至140...區塊
141...元區塊
143...第二元區塊
145至148...區塊
151...元頁
153...區段
155...區段
157...資料部分
159...附加項資料/附加項部分
160...檔案至邏輯位址轉換
161...邏輯位址空間
163...邏輯至實體位址表
165...記憶體陣列
167...元區塊
169...元區塊
171...元區塊
173...記憶體控制器功能
1100...系統
1102...主機系統
1104...可再程式化之非電壓大容量儲存系統/大容量儲存系統
1106...主機應用程式
1108...主機檔案系統
1110...邏輯區塊位址介面
1112...固定邏輯群組
1114...後端系統
圖1示意性說明如當前所實現之主機及經連接之非揮發性記憶體系統。
圖2為用作圖1之非揮發性記憶體之實例快閃記憶體系統的方塊圖。
圖3為可用於圖2之系統中之記憶體單元陣列的代表性電路圖。
圖4說明圖2之系統的實例實體記憶體組織。
圖5展示圖4之實體記憶體之一部分的展開圖。
圖6展示圖4及圖5之實體記憶體之一部分的進一步展開圖。
圖7說明在主機與可再程式化之記憶體系統之間的邏輯位址空間介面。
圖8以不同於圖7之方式說明在主機與可再程式化之記憶體系統之間的邏輯位址空間介面。
圖9說明在主機與可再程式化之記憶體系統之間的直接資料檔案儲存介面。
圖10以不同於圖9之方式說明在主機與可再程式化之記憶體系統之間的直接資料檔案儲存介面。
圖11為用於實現延伸以智慧型管理大容量儲存系統之資源之系統的一實施例之方塊圖。
圖12為用於實現延伸以智慧型管理大容量儲存系統之資源之方法的一實施例之流程圖。
1100...系統
1102...主機系統
1104...可再程式化之非電壓大容量儲存系統
1106...主機應用程式
1108...主機檔案系統
1110...邏輯區塊位址介面
1112...固定邏輯群組
1114...後端系統

Claims (25)

  1. 一種用於在一主機系統之一主機控制器(host controller)以及一與該主機控制器耦接之可再程式化之非揮發性大容量儲存系統之間傳送資料的方法,該方法包含:在該可再程式化之非揮發性大容量儲存系統中:將一旗標(flag)或一裝置類型識別符中之至少一者發送至該主機控制器以啟用該主機系統上之一延伸集合(a set of extensions);在接收一特定主機應用程式命令之前自該主機控制器接收一經啟用之延伸集合的一延伸,其中該延伸向該大容量儲存系統指示該主機控制器將發送該特定主機應用程式命令至該大容量儲存系統且其中該延伸包含檔案屬性資訊,該檔案屬性資訊指示一與該主機應用程式命令相關聯之一現有檔案之資料之資料類型;自該主機控制器接收與該延伸相關聯之該主機應用程式命令,該主機應用程式命令包含與所接收之該延伸之該檔案屬性資訊相關聯之該資料的邏輯區塊位址資訊;及基於該經啟用之延伸集合的該所接收延伸中所指示的該資料類型來管理該大容量儲存系統之資源。
  2. 如請求項1之方法,其中該檔案屬性資訊進一步包含一檔案名稱、一檔案之一大小或一邏輯區塊位址中之至少一者。
  3. 如請求項1之方法,其中該經啟用之延伸集合為一延伸命令集合。
  4. 如請求項1之方法,其中該所接收延伸係附加至一命令集合之一所接收命令。
  5. 如請求項1之方法,其中該所接收延伸包含一包含檔案屬性資訊之開始檔案寫入命令,且其中基於該所接收延伸中所指示的該資料類型來管理該大容量儲存系統之資源包含以下各者中之至少一者:觸發不影響與該檔案屬性資訊相關聯之資料之一內務處理(housekeeping)操作;觸發對不與該檔案屬性資訊相關聯之更新區塊之廢棄項目收集(garbage collection);觸發以一相連(contiguous)檔案之一形式對該主機應用程式命令中之資料的儲存;或觸發以一相連檔案之一形式對該主機應用程式命令中之資料之一索引。
  6. 如請求項1之方法,其中該所接收延伸包含一包含檔案屬性資訊之關閉檔案命令,且其中基於該所接收延伸中所指示的該資料類型來管理該大容量儲存系統之資源包含以下各者中之至少一者:觸發影響與該檔案屬性資訊相關聯之資料之一內務處理操作;觸發對與該檔案屬性資訊相關聯之更新區塊之廢棄項目收集; 觸發以一相連檔案之一形式對與該應用程式主機命令相關聯之資料之該儲存;或觸發以一相連檔案之一形式對與該應用程式主機命令相關聯之資料之一索引。
  7. 如請求項1之方法,其中該所接收延伸包含一檔案配置表(FAT)/目錄寫入命令,且其中基於該所接收延伸中所指示的該資料類型來管理該大容量儲存系統之資源包含以下各者中之至少一者:確定一更新之一混亂性質;確定混亂索引資料之一邏輯位置;固定一混亂區塊;保護一混亂區塊免於歸因於非循序存取而關閉;或確定與該所接收之目錄寫入命令相關聯的一第二命令且基於該所確定之第二命令來更新檔案索引資訊。
  8. 如請求項1之方法,其中該所接收延伸包含一包含檔案屬性資訊之刪除檔案命令,且其中基於該所接收延伸中所指示的該資料類型來管理該大容量儲存系統之資源包含:在確定一檔案係以檔案形式且非邏輯檔案被儲存時,抹除與該檔案屬性資訊相關聯之資料。
  9. 如請求項1之方法,其中該所接收延伸包含一元資料更新命令,且其中基於該所接收延伸中所指示的該資料類型來管理該大容量儲存系統之資源包含以下各者中之至少一者: 確定一未來更新將為非循序但並不混亂的;或將一更新區塊配置給一未來廢棄項目收集操作。
  10. 如請求項1之方法,其中該大容量儲存系統在其接收該主機應用程式命令之前接收該延伸。
  11. 如請求項1之方法,其中該經啟用之延伸集合的該等所接收延伸包含一開始邏輯區塊位址。
  12. 如請求項1之方法,其中該可再程式化之非揮發性大容量儲存系統係嵌入至該主機系統中。
  13. 如請求項1之方法,其中該可再程式化之非揮發性大容量儲存系統係全部地定位於一經組態以被可移除地與該主機系統連接之可移除式儲存裝置中。
  14. 一種儲存系統,其包含:非揮發性記憶體;及一與該非揮發性記憶體通信之控制器,該控制器經組態以:在該控制器接收一特定主機應用程式命令之前檢查來自一主機控制器之一經啟用之延伸集合的一所接收延伸,其中該延伸向該儲存系統指示該主機控制器將發送該特定主機應用程式命令至該儲存系統且該延伸包含檔案屬性資訊,該檔案屬性資訊指示一與該主機應用程式命令相關聯之一現有檔案之資料之資料類型;檢查與該延伸相關聯之該主機應用程式命令,其中該主機應用程式命令係接收自一主機系統之該主機控 制器且該主機應用程式命令包含與所接收之該延伸之該檔案屬性資訊相關聯之該資料的邏輯區塊位址資訊;及基於該經啟用之延伸集合的該所接收延伸中所指示的該資料類型來在該非揮發性記憶體中管理該儲存系統之資源。
  15. 如請求項14之儲存系統,其中該控制器進一步操作以將一旗標或一裝置類型識別符中之至少一者發送至該主機系統以啟用該主機系統上之一延伸集合。
  16. 如請求項14之儲存系統,其中該檔案屬性資訊進一步包含一檔案名稱、一檔案之一大小或一邏輯區塊位址中之至少一者。
  17. 如請求項14之儲存系統,其中該經啟用之延伸集合為一延伸命令集合。
  18. 如請求項14之儲存系統,其中該所接收延伸係附加至一命令集合之一所接收命令。
  19. 如請求項14之儲存系統,其中該儲存系統在接收該主機應用程式命令之前接收該延伸。
  20. 如請求項14之儲存系統,其中該經啟用之延伸集合的該等所接收延伸包含一開始邏輯區塊位址。
  21. 如請求項14之儲存系統,其中該儲存系統係嵌入至該主機系統中。
  22. 如請求項14之儲存系統,其中該儲存系統係一經組態以被可移除地與該主機系統連接之可移除式儲存裝置。
  23. 如請求項14之儲存系統,其中該儲存系統之該控制器係嵌入至該主機系統中。
  24. 如請求項23之儲存系統,其中該儲存系統之該非揮發性記憶體係定位於一經組態以被可移除地與該主機系統連接之可移除式儲存裝置中。
  25. 如請求項14之儲存系統,其中該儲存系統係全部地定位於一經組態以被可移除地與該主機系統連接之可移除式儲存裝置中。
TW097145731A 2007-12-21 2008-11-26 用於實施延伸以智慧型管理一大容量儲存系統之資源的系統與方法 TWI464584B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/963,479 US8880483B2 (en) 2007-12-21 2007-12-21 System and method for implementing extensions to intelligently manage resources of a mass storage system

Publications (2)

Publication Number Publication Date
TW200935220A TW200935220A (en) 2009-08-16
TWI464584B true TWI464584B (zh) 2014-12-11

Family

ID=40343558

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097145731A TWI464584B (zh) 2007-12-21 2008-11-26 用於實施延伸以智慧型管理一大容量儲存系統之資源的系統與方法

Country Status (3)

Country Link
US (1) US8880483B2 (zh)
TW (1) TWI464584B (zh)
WO (1) WO2009085408A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429318B1 (en) * 2007-08-30 2013-04-23 Virident Systems, Inc. Methods for early write termination into non-volatile memory with metadata write operations
US8516172B1 (en) * 2007-08-30 2013-08-20 Virident Systems, Inc. Methods for early write termination and power failure with non-volatile memory
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8438325B2 (en) * 2008-10-09 2013-05-07 Cadence Design Systems, Inc. Method and apparatus for improving small write performance in a non-volatile memory
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
TWI426528B (zh) * 2009-09-30 2014-02-11 Phison Electronics Corp 用於快閃記憶體的區塊管理方法、控制器與儲存系統
US8380949B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Managing write operations to an extent of tracks migrated between storage devices
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9164804B2 (en) * 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
US9355022B2 (en) * 2012-12-07 2016-05-31 Sandisk Technologies Inc. Systems and methods for intelligent flash management
US10235176B2 (en) 2015-12-17 2019-03-19 The Charles Stark Draper Laboratory, Inc. Techniques for metadata processing
US10936713B2 (en) 2015-12-17 2021-03-02 The Charles Stark Draper Laboratory, Inc. Techniques for metadata processing
JP7048289B2 (ja) 2017-12-08 2022-04-05 キオクシア株式会社 情報処理装置および方法
JP6967959B2 (ja) 2017-12-08 2021-11-17 キオクシア株式会社 メモリシステムおよび制御方法
WO2019152792A1 (en) 2018-02-02 2019-08-08 Dover Microsystems, Inc. Systems and methods for policy linking and/or loading for secure initialization
EP3746925B1 (en) 2018-02-02 2024-09-11 The Charles Stark Draper Laboratory Inc. Systems and methods for policy execution processing
KR20190120966A (ko) * 2018-04-17 2019-10-25 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
WO2019213061A1 (en) 2018-04-30 2019-11-07 Dover Microsystems, Inc. Systems and methods for checking safety properties
US10970153B2 (en) * 2018-06-17 2021-04-06 International Business Machines Corporation High-granularity historical performance snapshots
US10623287B2 (en) 2018-06-17 2020-04-14 International Business Machines Corporation Intelligent gathering of historical performance information
TW202022679A (zh) 2018-11-06 2020-06-16 美商多佛微系統公司 用於停滯主處理器的系統和方法
US11841956B2 (en) 2018-12-18 2023-12-12 Dover Microsystems, Inc. Systems and methods for data lifecycle protection
US12079197B2 (en) 2019-10-18 2024-09-03 Dover Microsystems, Inc. Systems and methods for updating metadata
US11704035B2 (en) 2020-03-30 2023-07-18 Pure Storage, Inc. Unified storage on block containers
US12079162B2 (en) 2020-03-30 2024-09-03 Pure Storage, Inc. Snapshot management in a storage system
US11449244B2 (en) * 2020-08-11 2022-09-20 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information
CN113253998B (zh) * 2021-06-23 2021-12-17 北京奇岱松科技有限公司 基于结构化数据的扩展方法、装置、计算设备及存储介质
US11816356B2 (en) 2021-07-06 2023-11-14 Pure Storage, Inc. Container orchestrator-aware storage system
US11934893B2 (en) 2021-07-06 2024-03-19 Pure Storage, Inc. Storage system that drives an orchestrator based on events in the storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US20030229753A1 (en) * 2002-06-10 2003-12-11 Samsung Electronics Co., Ltd. Flash memory file system
US20050086421A1 (en) * 2003-10-17 2005-04-21 Sami Nassar Method and apparatus for smart memory pass-through communication
TW200708952A (en) * 2005-03-31 2007-03-01 Intel Corp Providing extended memory protection

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5640529A (en) * 1993-07-29 1997-06-17 Intel Corporation Method and system for performing clean-up of a solid state disk during host command execution
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
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
KR100469409B1 (ko) * 2001-07-13 2005-02-02 엘지전자 주식회사 이동통신 단말기를 이용한 개인정보 관리 방법
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
US6771536B2 (en) * 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
US6781877B2 (en) * 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7383375B2 (en) * 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US7395384B2 (en) * 2004-07-21 2008-07-01 Sandisk Corproation Method and apparatus for maintaining data on non-volatile memory systems
US9572322B2 (en) * 2004-10-01 2017-02-21 Los Altos Food Products, Inc. Cheese container, cheese block and method of branding cheese
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
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
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
WO2007076214A2 (en) * 2005-12-08 2007-07-05 Sandisk Corporation Media card with command pass through mechanism
US20070136553A1 (en) * 2005-12-13 2007-06-14 Sinclair Alan W Logically-addressed file storage systems
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
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
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7747837B2 (en) * 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7613891B2 (en) * 2006-05-04 2009-11-03 Intel Corporation Methods and apparatus for providing a read access control system associated with a flash device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US20030229753A1 (en) * 2002-06-10 2003-12-11 Samsung Electronics Co., Ltd. Flash memory file system
US20050086421A1 (en) * 2003-10-17 2005-04-21 Sami Nassar Method and apparatus for smart memory pass-through communication
TW200708952A (en) * 2005-03-31 2007-03-01 Intel Corp Providing extended memory protection

Also Published As

Publication number Publication date
US8880483B2 (en) 2014-11-04
WO2009085408A1 (en) 2009-07-09
US20090164705A1 (en) 2009-06-25
TW200935220A (en) 2009-08-16

Similar Documents

Publication Publication Date Title
TWI464584B (zh) 用於實施延伸以智慧型管理一大容量儲存系統之資源的系統與方法
US7814262B2 (en) Memory system storing transformed units of data in fixed sized storage blocks
US7877540B2 (en) Logically-addressed file storage methods
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7529905B2 (en) Method of storing transformed units of data in a memory system having fixed sized storage blocks
TWI421684B (zh) 可再程式化非揮發性記憶體系統以及操作ㄧ非揮發性記憶體系統之方法
TWI394160B (zh) 用於重映射記憶體裝置之儲存位址的方法及系統
US8239639B2 (en) Method and apparatus for providing data type and host file information to a mass storage system
US8046522B2 (en) Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US9021187B2 (en) Logical block address remapping
US20070143560A1 (en) Non-volatile memories with memory allocation for a directly mapped file storage system
US20070143566A1 (en) Non-volatile memories with data alignment in a directly mapped file storage system
US20070143378A1 (en) Non-volatile memories with adaptive file handling in a directly mapped file storage system
US20070143567A1 (en) Methods for data alignment in non-volatile memories with a directly mapped file storage system
US20090164745A1 (en) System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
US20070136553A1 (en) Logically-addressed file storage systems
EP1938195B1 (en) Storage of transformed units of data in a memory system having fixed sized storage blocks
EP1913463A2 (en) Management of memory blocks which directly store data files
WO2007070763A2 (en) Logically-addressed file storage
JP2009503740A (ja) データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け
US8769217B2 (en) Methods and apparatus for passing information to a host system to suggest logical locations to allocate to a file

Legal Events

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