TWI315032B - Method and system for managing partitions in a storage device - Google Patents

Method and system for managing partitions in a storage device Download PDF

Info

Publication number
TWI315032B
TWI315032B TW095123352A TW95123352A TWI315032B TW I315032 B TWI315032 B TW I315032B TW 095123352 A TW095123352 A TW 095123352A TW 95123352 A TW95123352 A TW 95123352A TW I315032 B TWI315032 B TW I315032B
Authority
TW
Taiwan
Prior art keywords
memory
area
partition
data
space
Prior art date
Application number
TW095123352A
Other languages
English (en)
Other versions
TW200712878A (en
Inventor
Robert C Chang
Michael Holtzman
Farshid Sabet-Sharghi
Paul Mcavoy
Bahman Qawami
Original Assignee
Sandisk Corporatio
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 Corporatio filed Critical Sandisk Corporatio
Publication of TW200712878A publication Critical patent/TW200712878A/zh
Application granted granted Critical
Publication of TWI315032B publication Critical patent/TWI315032B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0608Saving storage space on storage systems
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

1315032 九、發明說明: 【發明所屬之技術領域】 本發明概言之係關於記憶體錯存裝置,u具體而言# 關於在儲存裝置中管理分隔。 【先前技術】 習用電腦系統通常包含數個功能性組件。該等組件可包 含一中央處理單元(CPU)、主記憶體、輸入/輸出(「I/0j) 裝置及大容量儲存器。在習用系統中,主記憶體經由一系 =1=—本地記憶體匯崎接至cpu。主記憶體用 於使CPU在執行時能夠存取儲存 程式資訊。itt,中之資料及/或 U 目士 4體由隨機存取記憶雜AM)電路 組成》—具有CPU及主記憶 機系統。 電知糸統通常被稱作一主 大容量儲存器通常用於保留資料。一 容量儲存器令之程式在由^ 要又=:子於大 中。常見之大容量儲存f 則要複製至主記憶體 帶機。此外,可使用硬碟、光碟及磁 性儲存器。 决閃錢 '體為-主機系統提供非揮發 主機系統經由一介$八& 篇中亦相互通用f /丨、閃s己憶體(在本說明書通 逋用地稱作「快閃裝w 「认 卡」)。快閃記憶體通常包含 二J、閃」或「快閃 憶胞陣列。'㈣記憶體系統最常以非揮發性記 之形式來提供,1以 。己隐卡或快閃驅動器 如個人電腦、照相機或類似 種各樣之主機(諸 )但亦可嵌於此類主機 JJ2558.doc 1315032 系統中。 =由-快閃記憶體控制器控制一記憶體陣列。 5己憶體控制器包合_與南 八 (广 处理器、某些非揮發性唯讀記憶體 或」)_、、一揮發性隨機存取記憶體(「RAM」)及-個 資電路’例如—在資料經過記憶體控制器時根據 貝枓來計算ECC之錯誤修正碼(「EcCj)電路。 二商業快閃記憶體系統之早期產品t,將一記憶胞矩形 歹1」J分為大量胞群組,其中每—胞群組皆儲存一標準磁 碟機磁區之資料量,亦即512個位元組。^於每一群組 中亦包含額外數量之資料(諸如16個位元組),以儲存一錯 誤修=碼(咖)及可能其他與使用者諸及/或錢存該使 用者貝料之記憶胞群組有關之開銷資料。每一此類群組中 之記憶胞皆係可一起擦除之最小數量之記憶胞。亦即,擦 除單位事實上係儲存有一個資料磁區及所包含之任何開銷 貝料之記憶體單元數量。此類型記憶體系統之實例闡述於 美國專利第5,602,987號及第6,426,893號中。快閃記憶體之 一特性係需要在以資料將記憶胞再程式化之前擦除記憶 胞。 在經由一邏輯介面將資料寫入快閃記憶體時,主機通常 為該記憶體系統之一連續虛擬位址空間内之磁區、群集或 其他資料單位指配唯一之邏輯位址◦主機通常保持有一檔 案系統並將檔案資料分派至各邏輯群集,其中群集大小通 常已固定。一快閃裝置劃分為複數個邏輯磁區,且主機在 包括複數個邏輯磁區之群集内分派空間。群集係對邏輯位 112558.doc 1315032 細分且將一群集映射指定為-播案分配表 (fat」)。FAT通常儲存於儲存裝置本身上。 如-磁碟作業系統(DOS)一樣’主機將資料寫入記憶體 系統之邏輯位址空間内之位址中及自該位址中讀出資料。 该記憶體系統内-控制器將自主機接收之邏輯位址轉 實際儲存有資料之記憶體陣列内之物理位址,並隨後記錄 §亥專位址轉換。 一通:記憶體裝置(例如快閃記憶體)係由主機系統進 行分隔。通常,兩個分隔丘用一 ^ 刀I、用1£動态且每—分隔之大小 係由主機系統設定。若於任一 、_ 无疋守剡,一個分隔已滿而 另一为隔尚留有更多空間,則對指认 了子配母一分隔之空間量 實施再分派將會有所助益。於習用系統中,主機藉由將驅 =再格式化來執行此功能。此過程涉及到在再格式化之 如複製.來自驅動器之所有資料祐—銘兹々、- 貞tf X卩思後為各分隔分派空間。 此過程之味且耗時,且因此不合乎需要。 因此’需要一種有效營 另双s理刀隔以最佳地利用記憶體儲存 空間之方法及系統。 【發明内容】 於本發明一態樣中,提供一 捉货種大各I儲存記憶體系統。 該系統包含:可再程式化非 F早4注δ己隐胞,δ亥·#記憶胞排 列於複數個可一起擦除日 & h除且以複數個串聯串形式連接在一起 以界疋用於儲存資润 、科之5己憶胞列之記憶胞區塊中,其中該 等記憶胞被劃分為至少個 田们。己II體力隔且母一記憶體分隔 具有一系統區域及—資料F七. 貝才十&域,及—控制器,其包含一適 112558.doc 1315032 用於經由—遴齡入 其中該控制一主機系統接收資料之微處理器; 空間之第-一映射表自一具有未被使用之儲存 記憶體分:=二=:已滿或已到達-臨限值之第- 戏 憶體工間,其中該映射表對該系統區 域及貧枓區试估 匕 / 用一虛擬區塊位址以使系統區域及資料區 5 一者幾系先看起來連續’·及-用於將虛擬區塊位址映射 至只際邏輯區塊位址之真實邏輯區塊位址。 於本發明$ £ , —4樣中,該大容量儲存記憶體系統包 含:一控制器,复且右、奋田从丄 /、具有一適用於經由一邏輯介面自一主 系統接收資料之微處理器;—第一記憶體分隔,其具有一 糸統區域及_杳斗立p 〇 、枓區域,及一第二記憶體分隔,其具有一 系:區域及-資料區域;其中該控制器藉由對該系統區域 及貝料區域使用虛擬區塊位址、以使系統區域及資料區域 ^主機系統看起來連續,而自具有未被使用之儲存空間之 第二記憶體分隔向已滿或已到達一臨限值之第一記憶體分 隔再分派記憶體空間。 在再匕、樣中,提供一種用於在一具有一系統區域及一 資;斗區或之第δ己憶體分隔與一具有一系統區域及一資料 區域之第二記憶體分隔之間動態再分派資料儲存空間之方 法。忒方法包# :判定第一記憶體分隔是否已滿及/或已 到達-臨限值;判定第二記憶體分隔是否具有可分派至該 已滿或已到達一臨限值之第一記憶體分隔之空儲存空間; 及將一些空空間自該第二記憶體分隔指配至該第一記憶體 分隔,其中一記憶體控制器指配該空空間。 112558.doc 1315032 上文已提供此摘要來使人們可更快地理解本發明之實 質。/吉合附圖參考下文對本發明較佳實施例之詳細閣述, 可獲得對本發明之更全面理解。 【實施方式】 為便於理解該較佳實施例’本發明將闡述一主機系統/ 快閃裝置之大體架構及運作。隨後將參考該大體架構來閣 述該較佳實施例之特定架構及運作。 主機系統: 圖1A顯不—可利用本發明之通用電腦系統(主機系 統)100。糸統1GG之組件包含—電腦16()、各種輸入/輸出 (1/〇」)裝4,諸如一滑鼠170、鍵盤165、監視器120及 列印機125。 圖1B顯示-電腦系統1〇〇之抽象表示。組件13〇旨在表亍 複數個輸入裝置’諸如使一使用者能夠與電腦系統ι〇〇交 滑鼠及鍵盤。相似地,輸出135表示一個或多個 輸出裝置,例如顯示器120及列印機125。 。電腦「系,先100包括—連接至—系統匯流排155之中央處理 單兀(「cPUj )(或微處理器)175。主記憶體⑷(例如隨機 存取主記憶體(「RAM」胸接至系統匯流排 ⑽⑺能夠存取記憶儲存器。在執行程式指令時 175將彼等處理步驟儲存於⑽145中並執行RAM 145中 所儲存之處理步驟。 提唯項§己憶體(「R0M」)(未顯示)來儲存不變指令序 列’諸如啟動指令序列或基本輸入/輸出作業系統_s) 112558.doc -10- 1315032 大奋里儲存裝置i50 料〇大六s ^ 更虿^系統1〇〇能夠永久性地儲存資 n 大谷夏儲存裝置150可在_ α 或另—類型 了係-快閃記憶體裝置、一硬碟 之二Γ 裝置。下文對本發明各適應性態樣 二ΤΓ快閃記憶體裝置但亦適用於其他類型之記 大容㈣存裝置㈣亦稱作快《置· 實二❹不同之市售快閃裝置(或快閃記憶卡),其 :=型閃存_多媒體卡(_)'安全數位_ 管^二D"Vs己憶棒、智慧媒體卡及TransFiash卡。儘 吕該專卡中之母一個皆根 機械及/或電介面,但每一卡而具有-唯-的 .,母卡中所包含之快閃記憶體皆極 為相似。該等卡皆可自s nDISk公司(本中請案之受讓人) 處購传。SanDisk亦以盆( y zer商裇提供一組快閃驅動器, 其係小封裝形式之手持印愔牌金 符°己隐體糸統,其具有一用於藉由插 入主機之USB插孔内而與該主機相連接之通用串列匯流排 (USB)。該等記憶卡及快閃驅動器中之每一個皆包含與該 主機介接並控制其中之快閃記憶體作f之控制器。 " 市售之上文所標出之非揮發性記憶卡及快閃驅動器之資 料儲存容量為512百萬位元組(MB)、i十億位元組(gb) GB及4GB,且可更高。 使用此類記憶卡及快閃驅動器之主機系統數量眾多且多 種多樣。其包括個人電腦(Pc)、膝上型電腦及其他可禆弋 電腦、蜂巢式電話、個人數位助理(pDA)、數位照相機工 數位攝像機及可攜式聲訊播放器。通常,主機包含—用於 112558.doc 1315032 -個或多個類型之記憶卡或 ^ 助益之内建插孔,但右 二耑要使用適配器來承插記憶卡。 記憶胞陣列之NAND架構在當前 ⑺你|乂佳的,儘營亦·^ # 用諸如N〇R等其他架構來取代。 s方了使 之NAND快閃記憶體及其運作 π 邛刀 笛™…* 乍之貫例可藉由參考美國專利 弟 5,570,315 號、第 5,774 397 .7/1A Di, 疵第 M46,935 號、第 ό,373,746 號、第 6 456 528 虎 此 第6,522,580號、第 6,771,536 號及第 6,781,877 號 —獲得。、国專利申請公開案第 快閃裝置150包含一記憶體控制器模組(亦可稱作「記憶 體系統控制器」或「記憶體控制器」或「控制器」)及固 態記憶體模組。圖1(:顯示控制器模組i5〇A之内部年構之 方塊圖。控制器職經由一邏輯介面或另一周邊匯流排 (未顯不)或經由系統匯流排155介接主機系統ι〇〇。控制器 模組15〇A包含—經由介面邏輯15qe介接各種其他組件之 微控制器i 5 0C。記憶體! 5 GD儲存由微控制器丄5qc用以控 制快閃裝置150之作業之韌體及軟體指令。記憶心·可 係揮發性可再程式化隨機存取記憶體(「ram」)、不可再 程式化之非揮發性記憶體(「rOM」)、可一次性程式化記 憶體或可再程式化快閃電可擦除可程式化唯讀記憶體 (「EEPROM」)。 一主機介面150G介接主機系統1〇〇,同時一快閃介面 150F介接記憶體模組15〇B。 圖1D概念性地圖解說明在下文進一步說明中作為一實例 112558.doc -12- 1315032 使用之快閃記憶胞陣列(150B)之組織形式。四個記憶胞平 面或子陣列131_134可位於單個積體記憶胞晶片上、兩個 晶片(每一晶片上兩個平面)上或四個單獨晶片上。該特定 排列對下文說明而言並不重要。當然,於一系統中亦可存 在其他數量之平面,諸如i個、2個、8個、16個或更多 個。該等平面分別劃分成在圖1D中由矩形所顯示之記憶胞 區塊,諸如分別位於平面131_134内之區塊137、138、139 及140A。每一平面内可存在數十個或數百個區塊。 己It胞區塊係一擦除單位,亦即可一起進行物理擦除之 最小數量之記憶胞。然而,為增強平行性,各區塊係以更 大之元區塊單元形式運作。將來自每—平面的―個區塊在 邏輯上鏈接在-#而形成一元區。圖中顯示四個區塊 137-U0A形成一元區塊141…元區塊内之所有胞通常被 一起擦除。用於形成一個元區塊之各區塊不必限定於在其 各自平面内位於同一相對位置,如在由區塊i45 —148所組 成之第二元區塊丨43中所顯示。 儘管通常較佳可使元區塊遍佈在所有平面 成高系統效能,可喉 由不同平面内一個、 可使記憶體系統在運作時能夠動態地形成 、兩個或三個區塊中任何或所有區塊組
程式化作業内可供儲存之資料量。
月β皆被劃分為八個頁面P〇—P7。 131-134中之每一個之記憶 或者’每一區塊内可存在 112558.doc -13 - 1315032 1 6個、32個或更多個記憶胞頁面。頁面係區塊内之資料程 式化及讀取單位,其含有可在—次中程式化之最小資料 量0
於NAND架構中,一頁面係由沿一區塊内一字線之記憶 胞形成。然而,為增強記憶體系統運作之平行性,可將兩 個或更多個區塊内之此類頁面在邏輯上鏈接成元頁面。圖 11£中圖解說明一個元頁面151,其係由四個區塊131-134中 每一個中的一個物理頁面形成。元頁面15 1(例如)包含該四 個區塊中每一個中之頁面P2,但一個元頁面中之各頁面未 必必須在每一區塊内具有同一相對位置。 圖1F圖解說明一主機與一大容量記憶體系統之間的邏輯 介面之使用。該主機處理由該主機所執行之應用程式軟體 或勤體程式所產生或使用之資料檔案。字處理資料檔案即 係一實例,且電腦輔助設計(CAD)軟體之製圖檔案係另一 實例,其主要見於一般電腦主機(諸如pc、膝上型電腦及 類似裳置)内…PDF格式之文件亦係一此類檔案。靜態數 位攝像機為儲存於記憶卡上之每—圖像產生—資料楷案。 蜂巢式電話利用來自一内部記憶卡上之檔案(諸如一電話 目錄)之資料。PDA儲存並使用料不同權案,諸如一位 :檔案、1曆標案及類似檔案。在任—此類應用中,記 隐卡亦可含有用於運作主機之軟體。
—連續邏輯位址空間1 6丨大到足 A ., 大到疋以為所有可儲存於記憶 篮糸..先内之資料提供位址。機 間通常被劃分為資 _集之遞增量。每一君集皆可於一既# + ^ 呆白J孓既疋主機系統内設計 】12558.doc •14- 1315032
成3有疋數量之資料磁區,通當A/I 一標準磁區含有512個 ‘,、、至64個磁區不等。 另2個位疋組之資料。 圖1F之實例中顯示已創建了三 、雷—人 —'個身料槽案1、2及3。一 運仃於主機系統上之應 δ 2及·" 每一檔荦, 壬式以—有序資料集形式來創建 可知茱,並藉由一唯一 荦。由主機h * 稱或其他參引方式來識別該檔 莱由主機為檔案丨指配尚 可用i羅短仞咖 派至其他檔案之足夠大的 用他 I間。圖中顯示已為檔案1指配-連續之可 用邏輯位址範圍。通常 — 逯嘖之j ^ , λ,, , A 、/、二位址範圍分派給特定用 途例如為主機作業軟體分 機正為資料指配邏輯位址時該等:=從而即使在主 會使用該等位址來儲存該資料。…到利用’亦不 建'㈣2時,主機同樣地指配邏輯位址 内兩個不同之連續位址範圍,如圖1F内顯示。並 ==配連續邏輯位址,而是亦可為位於已分派至、 將=:!址範圍之間的位址片斷。此實例隨後顯示, 將主機位址工間中先前未分派至檔案】及2及其他資料之复 他部分分派給由主機創建之再另一檔案3。 八 該主機藉由保持一檔案分配表(FAT)來記錄記憶體邏輯 位址空間,其中該主機指配給各種主機播案之邏輯位址比 保持於該檔案分配表中。FAT表通常儲存於非揮發性: 體中及-主機記憶體中,並當儲存新檔案、刪除其: 案、修改檔案及進行此類作業時由主機頻繁地加以更新” 舉例而言’當刪除—主機播案時,該主機隨後藉由更著° FAT表而將先前分派至所刪除槽案之邏輯位址解除分派^ 112558.doc 15 1315032 以顯示其現在可用於其他資料檔案。 之=並不關注記憶體系統控制器選擇用於儲存該等檔案 里位置。典型之主機僅 八 派至並夂μ 機心曉其邏輯位址空間及其已分 〆、各4田案之邏輯位址。另— 士 _ 機/卡介面,記憶體系統僅 β #由-典型主 資料之部分,而不知曉=至=:址空間中已寫入有 或^ ^ 特定主機檔案之邏輯位址, ,之用=!數量。記憶體系統控制器i5〇a將主機所提 料操取資料之邏輯位址轉換成儲存有主機資 =:憶胞陣列内之唯-邏輯位址。-區塊⑹表: 址轉換之工作表。益⑽保持之關於該等邏輯-物理位 記憶體系統控制器1 5〇Α炉斗 制1 5叫式化成以—種使系統效能保持 σ ;之方式將資料檔案儲存於-記憶體陣列165之 品免及7C區塊内。在此圖解說明中使用四個平面或子陣 列:較佳在由每一平面中的一區塊所形成之整個元區塊中 以系統所谷許之最大平行度來程式化及讀取資料。通常分 派至少一個元區塊167作為一預留區塊來儲存記憶體控制 ^戶斤使用之作業韋刃體及資料。可分派另一元區塊169或複 ,文個凡區塊來健存主機作業軟體、主機FA表及此類資 料。多數物理儲存空間仍用於儲存資料檔案。 然而’記憶體系統控制器15〇A並不知曉主機是如何在其 各個軲案對象之間分派所接收之資料的。通常,記憶體控 制器⑽自與主機之交互作用中僅獲知:主機寫入至特定 邏輯位址之貝料係儲存於由控制器之邏輯-物理位址表ΙΟ 112558.doc • 16 ·
1315032 所保持之對應物理位址中。 於一典型記憶體系統中’除所需區塊以外還提供幾個額 外區塊之儲存容量以儲存位址空間1 6丨内之資料量。可提 供該等額外區塊中的一個或多個作為冗餘區塊來取代可能 在§己憶體使用壽命期間變得有缺陷之其他區塊。包含於各 個元區塊内之區塊之邏輯群組通常可出於多種原因而改 憂’包括用一冗餘區塊替代一最初指配給該元區塊之缺陷 區塊。通常於一已擦除區塊池内保持有一個或多個額外區 塊,諸如元區塊1 71。 當主機將資料寫入記憶體系統時,控制器1 50Α將主機所 指配之邏輯位址轉換為已擦除區塊池内一元區塊中之物理 位址。隨後將未用於儲存邏輯位址空間161内之資料之其 他元區塊擦除並指定為已擦除池區塊’以供在下一資料寫 入作業期間使用。 記憶體分隔: 圖2Α顯示一通常如何分隔記憶體儲存裝置150之實例。 儲存裝置150包含兩個分隔,分隔1及分隔2。分隔1包含一 系統區域201及一資料區域202。分隔2亦具有其自身之系 統區域203及資料區域204。儘管圖2 Α中僅顯示兩個分隔且 下述之再分派技術係基於此實例’然而本發明之適應性態 樣並不限於任何特定數量之記憶體分隔。 圖2B顯示一類似於分隔2之分隔1之方塊圖。如圖2B中 顯示’系統區域201具有各種區段,例如主引導記錄 (「MBR」)區域205、分隔引導記錄(「PBR」)區域206、 112558.doc •17- 1315032 FAT 1區域207、FAT 2區域208及根目錄區域209。 MBR區域205儲存總分隔資訊且若該媒體係一可引導裝 置’則MBR 205包含用於自MBR區域205跳至PBR區域206 之指令。MBR區域205亦包含隱藏區域一其係MBR區域205 與PBR區域206之間的預留空間。
PBR區域206包含一分隔(在此實例中為分隔丨)之分隔/引 導資訊。舉例而言,PBR區域206包含如下資訊:FAT之類 型(例如12/16/32位元);一標籤(亦即驅動器名稱);驅動器 大小,群集大小(亦即每分派單元中之磁區數量);fat區 域之數量(圖2B中顯示2個FAT區域:FAT 1及FAT 2)及每 FAT之磁區數量。 FAT區域(207及208)含有每一檔案之群集資訊。舉例而 吕,對於FAT 12而言,區域207及208中每一登錄含有12個 位兀且總計有4096個登錄。群集〇及i係預留用於 0XFFFFF8 (用於媒體類型)及群集末端(End 〇f ciuster)。一 特定群集(例如群集4087)用於指示壞群集。對於— FAT 16 而言,每一登錄含有16個位元且對於FAT 32而言,每一登 錄含有32個位元。 根目錄209含有每_檔案之登錄。每—目錄登錄包含一 定T量之位元組用於檔案名或目錄(例如8個位元組);一定 數量之位元組用於擴展名(例如3個位元組一定數量之位 元組(例如1個位元組)用於檔案屬性(例如,若一檔案係唯 讀樓案、隱藏檔案、系統檔牵、IB ^ 今田系 巷松、目錄或經修改的槽 案),一定數量之位元組用於如 州方、知不檔案創建之時間及曰 J12558.doc 1315032 心数夏之位元 旦 組(例如2)用於一開始群集;及 里之位兀組(例如4個)用於指示檔案長度。 開始群集之位元組數量指向 集可由〇祕、__或嶋_指示。 最末群 為將一檔案名窝人B+ 冩入目錄中,主機系統找出1 :之空閒群集空間並將資料寫入資::: 新FAT1及⑽登錄二者。亦更新目錄登錄,亦即遗^ 間/開始群集/檔案長度。 ί7曰期/時 於本發明之-態樣中,當一個分隔變 ::其他分隔具有空空間時,記憶—二:: =行再分派。因而,-個分隔之尺寸增加,同時 減小1限值可由記憶體控制器_程式化。如下 述使用-映射方案(本文中稱作_「虛擬 兩個分隔Φ夕进#上 巧JJ+迫桃§亥 W古 情況。此整個過程係由記憶體控制
。 有效地執行。主機系統盔需複f t π U 化該储存裝置。 …、而複I所有資料及再格式 圖2C顯示在—主機系統看來經再分派之分⑸及分隔2之 佈置。分隔1之系統區域201A包含在再分派之後經過更新 ^群集及分隔資訊。最初分隔區域2〇2已滿或已到達—不 =寫人任何資料之臨限值大小。自分以向分隔W派新 貝枓區域2〇2A。減小之分隔2具有一系統區域加a及—新 的減小的資料區域2G4A。現將詳細闡述再分派該等分隔之 過程。 派之後分 圖2D顯示在記憶體控制器150A已執行—再分 U2558.doc -19- 1315032
隔1及2之實際佈置。分隔2之系統區域203人係在區域2〇2A 被分派至分隔A後之經調整區域。分隔2具有顯示為2〇4B 及204C之資料區域,該等資料區域等於圖2€中所顯示之 身料區域204A。 圖3顯示一根據本發明之一態樣對分隔大小實施再分派 之高階流程圖。該過程開始於步驟S3〇〇,於該步驟中將快 閃裝置150初始化。
在步驟S302中,控制器150八判定一分隔是否已滿。當 一分隔不能再儲存任何更多資料或其已到達某一可程式化 臨限值時,即認為該分隔已滿H隔未滿,則控制器 150A等待直至一分隔已滿。 若一分隔已滿(例如圖2A中之分隔丨),則在步驟一 中,控制器15〇八判定是否另—分隔(例如分隔2)中具有 空間。若不具有空空間,則該過程返回至步驟s3〇2。 若具有空空Μ,則在步驟S306,將_定數量之該空空 (例如202A)分派至該滿分隔。於再分派之後,如下文: 細闊述,在步驟削中調整該兩個分隔之Μτ登錄。在 驟㈣中亦如下文所詳細閣述來調整目錄登錄,然後該 程於步驟S3 12中結束。 广;意’儘管上文之流程係基於記憶體控制器卿 ^隔」來闡述記憶體分隔之再分派,^而本發 、’不僅限於彼情形。舉例而言,_ (例如「對驅動哭實施再八〔、機可發送-特定命· 裝置實施再分隔,且隨後該對記⑴
〆二 執行前述過程步驟對I H2558.doc •20- 1315032 憶體空間實施再分派。 圖4A-4F圖解說明用於在至少兩個記憶體分隔之間再分 派記憶體空間之前述過程步驟。應注意,圖4A_4f中所使 用之各個值僅作為實例來用於圖解說明之目的,而非意欲 限制本發明之適應性態樣。
圖4A-4F中之實例假定快閃裝置150中之群集大小為32千 位元組(KB),因此一 120百萬位元組(MB)之快閃裝置具有 4096個群集。每一系統區域(20〖及“”使用6個群集且每一 分隔具有一 2042群集之資料區域❶每一群集可稱作一區 塊’亦即一區塊大小等於該群集大小。 圖4A顯示一最初分隔狀態表(如圖2A中顯示)。每一分隔 具有6個區塊用於系統區域及2〇42個區塊用於資料區域。 對於分隔1,將區塊編號〇_5指配給系統區域2〇1且將區 塊編號6-2047指配給資料區域202。當檔案系統向分隔 第一資料群集實施寫入時,其會發送寫入作業至邏輯區塊 位址192(其中192 = 6*32)’亦即區塊6。 對於分隔2,將區塊2048_2〇53指配給系統區域2〇3且將 區塊編號2054-4095指配給資料區域2〇4。 圖4B顯示一在列400中具有虛擬區塊編號且在列401中具 有真實區塊編號之映射表4〇〇A之實例。行登錄⑽係 自戒明型的且為系統區域、所使用之資料區域及空資料區 域提供虛擬及真實邏輯區塊編號。 在最初階段(圖2A及圖4A)中,虛擬區塊編號及真實邏輯 區鬼、'扁號相同且連續。如圖4B中顯示,行402409中之所 112558.doc 1315032 有登錄對於虛擬及真實邏輯區塊編號兩者而言皆相同。 圖4C顯示一經更新之映射表4〇〇]8。主機系統圖(圖2C)顯 示於列400中且真實邏輯記憶體空間圖(圖2d)顯示於列401 中 〇
分隔1在列400及40 1内之系統區域登錄(顯示於行4丨〇中) 相同。行411顯示分隔1已滿,亦即所有區塊6_2〇47皆已使 用。分隔2具有一些空區塊(在圖4B中顯示為3〇〇1_4〇〇〇)且 將彼等空區塊中之500個分派給分隔1。主機根據虛擬區塊 編號看到分隔1中之該500個區塊來自2048-2547,如列400 及行4 14中顯示。因而,對於一主機系統,分隔j自區塊〇 延續至2547。在圖2D中所顯示之真實邏輯記憶體空間内, 分隔1之該500個區塊位於區塊編號3〇〇1至35〇〇(如列4〇1及 行414中顯示,圖4C)中。 關於分隔2,主機看到用於分隔區域之系統區域係連續 的’亦即自2548-2553(顯示於列400及行412中),而事實 上’系統區域係自2048-2053(參見列401及行412)。 分隔2中所使用空間之資料區塊顯示於行413中。此處, 同樣’虛擬區塊編號為2554-3500而真實區塊編號係自 205 4-30〇〇(顯示於列401及行413中)。列400及401與行415 及41 6之登錄相同。 如前述實例所顯示,主機並不為再分派分隔空間而複製 資料。藉由使用及更新映射表400A,將未被使用之空間再 分派至滿記憶體分隔中。 根據前述實例(圖4A-4C),分隔1之FAT表未發生改變。 112558.doc -22- 1315032 對於'刀隔2,則調整FAT登錄以適應指配給分隔1之區域。 參照圖2D中之實例,分隔2(顯示為204C)之資料區域B將使 其登錄減少指配給分隔1之資料區域。舉例而言,若新資 料區域202A中存在5〇〇個FAT登錄,則分⑸之資料區域 (颁丁為204C)中每一檔案名稱登錄之開始群集將調整 —若其在分隔2之資料區域A(顯示為2G4B)以下。 圖4D以表格形式圖解說明前述實例。分隔B之資料區域 A(在圖2財顯示為204B)具有個登錄。區域202A具有 500個登錄且區域2〇4C具有5〇〇個登錄。 於-實施方案中’快閃裝置15〇之每一分隔自行向主機 宣佈具有某一可供用於該分隔之容量。舉例而言,若快閃 裝置150為4GB,目丨1息 八it- a / 則每一分隔自行宣佈為2GB。因而,需要 具有可供用於每-分隔之足夠FAT區域以使其可容納整個 决閃裝置工間。此額外FAT表格空間容許分隔變大。因 而,在記憶體控制器150A下,FAT】區域2〇7及邮2區域 2〇8足夠大以包含整個快閃記憶體裝置容量之⑽登錄。 圖4E顯示一表格,1巾j _ ”中订1 7 頁不在主機/使用者看起來 的分隔映射且行418顯示實際/真實分隔映射。如行418中 所顯不’真實分隔映射包含一用於擴張FAT區域之預留區 域難。此區域足夠大以使FAT 1afat 2中之撕登射 適應整個儲存裝置。當一分隔擴張時(例如前述實例中之 分隔υ,預留區域2〇7a用於為該擴張提供額外空間。^己 憶體控制器舰對分隔區域實施再分派時,調整fa^域 以適應分隔大小之變化。 112558.doc -23 - 1315032 除FAT登錄/區域之外,當記憶體控制器15〇a對分隔*門 實施再分派時,亦調整目錄區域内之檔案名稱登錄
ShO,圖3)。根據前述實例(圖4A_4C),分隔〗之檔案名『 登錄不發生改變。對於分隔2,則調整檔案名稱登錄之^ 始群集以適應指配給分隔丨之區域。 汗
參照圖2D中之實例,分隔2之資料區域Β(顯示以㈣將 使其登錄減少分配給分隔丨之資料區域。舉例而言,若新 資料區域202A中存在500個FAT登錄,則將分隔2之資料區 域B(顯示為204C)中每一檔案名稱登錄之開始群集調整_ 若其在分隔2之資料區域入(顯示為2〇4B)以下。 圖4F以表格格式圖解說明前述實#卜分隔b之資料區域 A(在圖2D中顯示為204B)具有1000個登錄。區域2〇2八具有 500個登錄且區域204C具有500個登錄。 若新分隔區域2(=n)之每一檔案名㈣錄之開始群集位 於區塊H)0〇之外,則將其調整5〇〇。因而,若η>=ι〇〇〇,則 η,(經調整之檔案名稱登錄)等於η_5〇〇β此種調整係對包括 區域204Β及204C内之登錄在内之所有登錄執行。若一檔 案名稱登錄顯示其係一目錄或子目錄’則亦調整目錄(或 子目錄)登錄。 於本發明之一態樣中,分隔區域由記憶體裝置控制器再 分派/調整而無需於一乏味耗時之作業期間複製所有資 料。主機系統無需為再分派分隔儲存空間而執行複製/再 格式化驅動器之耗時過程。 儘管已參考特定實施例闡述了本發明,然而該等實施例 112558.doc •24· 1315032 不性而非限定性說明。舉例而言,儘管前述圖解說 ,'、:於决閃s己憶體裝置,然而其可同等地適用於其他 里之二己it體裝置’例如硬碟。根據此揭示内容及下述申产 ^利耗圍,本發明之諸多其他應用及實施例將更加顯而易 是0 列 f圖式簡單說明】 見將;考較佳實_之圖示㈣述本 及其他特徵。在圖-山, 丄迎特被 圖不中,相同元件具有相同參考編號。 頌不之實施例僅旨在圖解說明而非限 包含下列各圖: 〜圖不 圖1A顯示—使用-快閃裝置之主機系統之方塊圖· 圖1B顯示圖1A之主機系統之架構;
圖1C顯示-根據本發明_態樣來使用之快閃裝 體控制器之方塊圖; 〇G 圖襲示一快閃記憶體系統之實例性實體記憶· 圖1E顯示圖⑴之實體記憶體之一部分之展開圖·/、, 圖1F顯不一主機盥一 '、了再耘式化§己憶體系統之間的習用 邏輯位址介面; J J白用 圖2A顯示一圖解銳明— 鮮次明錯存裝置中兩個記_ 塊圖; 阳&乃 圖2B顯示一圖2α Φ自fr - /V π- ^ 不刀隔之糸統區域佈置之方塊 圖, 圖2C顯示一根據本發明— 八隸在主機线看起來的已再 分派之§己憶體分隔; 112558.doc -25- 1315032 圖2D顯示一根據本發明一態樣已再分派之記憶體分隔之 實際佈置; 圖3顯示一根據本發明一態樣再分派一大容量儲存裝置 中之記憶體空間之總體流程圖; 圖4 A-4F顯示一根據本發明一態樣再分派記憶體分隔之 實例。 【主要元件符號說明】
100 通用電腦系統(主機系統) 120 監視器 125 列印機 130 輸入組件 13 1 平面/子陣列 132 平面/子陣列 133 平面/子陣列 134 平面/子陣列 135 輸出裝置 137 區塊 138 區塊 139 區塊 140A 區塊 141 元區塊 143 第二元區塊 145 主記憶體(RAM) 146 區塊
112558.doc -26- 1315032
147 區塊 148 區塊 150 大容量儲存裝置 150A 控制器模組 150B 記憶體模組 150C 微控制器 150D 記憶體 150E 介面邏輯 150F 快閃介面 150G 主機介面 15 1 元頁面 155 系統匯流排 160 電腦 161 連續邏輯位址空間 163 邏輯-物理位址表 165 鍵盤 167 元區塊 169 元區塊 170 滑鼠 171 元區塊 175 中央處理單元(CPU) 201 系統區域 201A 系統區域 202 育料區域 112558.doc •27- 1315032
202A 新貢料區域 203 糸統區域 203A 系統區域 204 貧料區域 204A 新的減小的資料區域 204B 貧料區域 204C 資料區域 205 主引導記錄(MBR)區域 206 分隔引導記錄(PBR)區域 207 FAT 1區域 207A 預留區域 208 FAT 2區域 209 根目錄區域 400A 映射表 400B 已更新映射表
112558.doc 28-

Claims (1)

13 1 508^123352號專利申請案 . 中文申請專利範圍替換本(98年5月) 十、申請專利範圍: 1 · 一種大容量儲存記憶體系統,其包括: 可再程式化非揮發性記憶胞,該等記憶胞排列為複數 個可一起擦除且一起連接為複數個串聯串形式以界定用 於儲存資料之記憶胞列之記憶胞區塊,其中該等記憶胞 劃分為至少兩個記憶體分隔且每一記憶體分隔具有一系 統區域及—資料區域;及 控制器’其包括一適用於經由一邏輯介面自一主機 系統接收資料之微處理器;其中該控制器藉由使用一映 射表自一具有未被使用之空間之第二記憶體分隔向一已 滿或已達到一臨限值之第一記憶體分隔再分派記憶體空 間’其中該映射表使用該系統區域及該資料區域之一虛 擬區塊位址以使該系統區域及該資料區域在該主機系統 看來連續;及一將該虛擬區塊位址映射至一實際邏輯區 塊位址之真實邏輯區塊位址。 2·如請求項1之大容量儲存記憶體系統,其中該第一記憶 體分隔及該第二記憶體分隔之每一系統區域包含用於儲 存一擋案分配表(「FAT」)之空間,其中該FAT區域根據 正向一分隔添加資料空間或正自一分隔取走資料空間而 擴大或收縮。 3. 如請求項2之大容量儲存記憶體系統,其中第一記憶體 分隔及第二記憶體分隔之該FAT區域足夠大以容納該整 個大容量儲存記憶體系統之FAT登錄。 4. 如請求項1之大容量儲存記憶體系統,其中於該大容量 112558-980527.doc "T" 上 ^ \) ^ /i ......- , 丨货'(巧丨卜…」、:;::丨 • L一—........................」 儲存圮憶體系統得到初始化時,該第一記憶體分隔及該 第一記憶體分隔之虛擬位址與真實邏輯位址相同。 月求項1之大谷篁儲存記憶體系統’其中於將空閒記 憶體空間自該第二記憶體分隔分派至該第一記憶體分隔 時調整一記憶體分隔之FAT登錄。 6’如叫求項1之大容量儲存記憶體系統,其中於將空閒記 隐體工間自该第二記憶體分隔分派至該第一記憶體分隔 時調整一目錄中之一檔案名稱登錄。 ♦ 7.如請求们之大容量儲存記憶體系統其中該大容量儲 存5己憶體系統係一快閃裝置。 8, 一種大容量儲存記憶體系統,其包括: . 一控制器,其包含一適用於經由一邏輯介面自—主機 系統接收資料之微處理器; 一第一記憶體分隔,其具有一系統區域及一資料區 域;及 φ 第一记憶體分隔,其具有一系統區域及一資料區域; 其中該控制器藉由使用該系統區域及該資料區域之一虛 擬區塊位址自具有未被使用之儲存空間之該第二記憶體 分隔向已滿或已達到一臨限值之該第一記憶體分隔再分 派記憶體空間,以使該系統區域及該資料區域在該主機 系統看起來連續。 9. 如請求項8之大容量儲存記憶體系統,其中該第一記憶 體分隔及該第二記憶體分隔之每一系統區域包含用於儲 存一檔案分配表(「FAT」)之空間,其中該FAT區域根據 112558-980527.doc 1315032 月巧日紅;顯 --------------------—Jil^nlmril—- 正向一分隔添加資料區域或正自一分隔取走資料區域而 擴大或收縮。 •如。3求項9之大容量儲存記憶體系統,其中該第一記憶 體分隔及第二記憶體分隔之該FAT區域足夠大以容納該 I個大谷戛儲存記憶體系統之FAT登錄。 n.如β求項8之大容量儲存記憶體系統,其中於該大容量 儲存η己It體系統得到初始化時,該第_記憶體分隔及該 々 己隐體分隔之虛擬位址與真實邏輯位址相同。 12·如請求項^ 、 大谷量儲存記憶體系統’其中於將空閒記 隐體工間自該第二記憶體分隔分派至該第一記憶體分隔 時調整-記憶體分隔之FAT登錄。 13 ·如請求項8之 6 θ 人各ΐ儲存記憶體系統,其中於將空閒圮 憶體空間自# @ w第一記憶體分隔分派至該第一記憶體分隔 時調整一曰々主山 曰錄中之檔案名稱登錄。 其中該大容量儲 其中該大容量儲 14·如請求項8之大办曰 大各篁儲存記憶體系統 存系統係一,與閃農置。 15. 如請求項& 大谷里儲存記憶體系統 存記憶體系綠总 屯矾係一硬碟。 16. —種用於在— 曰 太如广 谷置儲存系統中一具有一系統區域及一 貝料區域之第_ 士 ^ ^ —記憶體分隔與一具有一系統區域及一資 科Ιξε域之第_ a 〜S己憶體分隔之間動態地再分派資料儲存空 間之方法,其包括: 判定該第—a .. 〇己隐體分隔是否已滿及/或已達到一臨PP 值, 112558-980527.doc i 1315032 Λ 4 - Ϊί7·»ν ί· .<—«—.«· ·*» ·<»·_ ι ._ -,f . j 判定該第二記憶體分隔是否具有可分派至已滿及/或已 達到一臨限值之該第一記憶體分隔之空空間;及 自该第二記憶體分隔將一些空空間指配給該第一記憶 體刀隔其中一此憶體控制器指配該空空間。 17.如明求項16之方法,其申該大容量儲存系統包含可再程 式化非揮發性記憶胞,該等記憶胞排列為複數個可一起 擦除且一起連接為複數個串聯串以界定用於儲存資料之 記憶胞列之記憶胞區塊;及該記憶體控制器包含一適用 於經由一邏輯介面自一主機系統接收資料之微處理器; 及該έ己憶體控制器使用一映射表,該映射表具有該系統 區域及該資料區域之一虛擬區塊位址以使該系統區域及 該資料區域在該主機系統看來連續。 1 8·如清求項16之方法,其中該第一記憶體分隔及該第二記 憶體分隔之每一系統區域包含用於儲存一檔案分配表 (「FAT」)之空間,其中該FAT區域根據正向一分隔添加 資料空間或正自一分隔取走資料空間而擴大或收縮。 19·如請求項18之方法,其中該第一記憶體分隔及該第二記 G體分隔之該FAT區域足夠大以容納該整個大容量儲存 系統之FAT登錄。 2〇.如請求項16之方法,其中於該大容量儲存系統得到初始 '化時,該第一記憶體分隔及該第二記憶體分隔之虛擬位 址與真實邏輯位址相同。 21·如請求項16之方法,其中於將空閒記憶體空間自一記憶 體分隔分派至另一記憶體分隔時調整一記憶體分隔之 U2558-980527.doc 1315032 ,FAT登錄。 22. 如哨求項16之方法,其中 β此 間5己憶體空間自兮膂— =分隔分派至該第-記憶體分隔時調整一目 一檔案名稱登錄。 卞中之 23. 如請求項16之方法,其中該大 置。 諸存系統係一快閃裝 24.如請求項16之方法,其中該大容量儲存系統係一硬碟。 25·如請求項16之方法’其中該記憶體控制器於自一主機系 統接收到一命令後再分派分隔空間。
112558-980527.doc
TW095123352A 2005-06-29 2006-06-28 Method and system for managing partitions in a storage device TWI315032B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/170,221 US7457910B2 (en) 2005-06-29 2005-06-29 Method and system for managing partitions in a storage device

Publications (2)

Publication Number Publication Date
TW200712878A TW200712878A (en) 2007-04-01
TWI315032B true TWI315032B (en) 2009-09-21

Family

ID=37101969

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095123352A TWI315032B (en) 2005-06-29 2006-06-28 Method and system for managing partitions in a storage device

Country Status (7)

Country Link
US (2) US7457910B2 (zh)
EP (3) EP2270643A1 (zh)
JP (2) JP5143730B2 (zh)
KR (1) KR20080025178A (zh)
CN (1) CN101213510B (zh)
TW (1) TWI315032B (zh)
WO (1) WO2007002866A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI395102B (zh) * 2009-10-02 2013-05-01 Via Tech Inc 資料儲存裝置與方法

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814047B2 (en) * 2003-08-25 2010-10-12 Oracle International Corporation Direct loading of semistructured data
US7747580B2 (en) 2003-08-25 2010-06-29 Oracle International Corporation Direct loading of opaque types
JP4428200B2 (ja) * 2004-11-01 2010-03-10 ソニー株式会社 情報記録装置および方法、プログラム格納媒体、並びにプログラム
US8010753B2 (en) * 2005-09-28 2011-08-30 International Business Machines Corporation Systems and methods for temporarily transferring use of portions of partitioned memory between host computers
US7933928B2 (en) * 2005-12-22 2011-04-26 Oracle International Corporation Method and mechanism for loading XML documents into memory
KR100714709B1 (ko) * 2006-01-11 2007-05-04 삼성전자주식회사 숨김 영역 관리 장치 및 방법
JP2007199905A (ja) * 2006-01-25 2007-08-09 Toshiba Corp 半導体記憶装置の制御方法
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
US7596656B2 (en) * 2006-09-28 2009-09-29 Sandisk Corporation Memory cards with end of life recovery and resizing
US20080082725A1 (en) * 2006-09-28 2008-04-03 Reuven Elhamias End of Life Recovery and Resizing of Memory Cards
US7933935B2 (en) 2006-10-16 2011-04-26 Oracle International Corporation Efficient partitioning technique while managing large XML documents
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US20080313364A1 (en) 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device
US8719501B2 (en) 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
US7917479B2 (en) 2007-03-20 2011-03-29 Micron Technology, Inc. Non-volatile memory devices, systems including same and associated methods
US9396103B2 (en) 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
US9693106B2 (en) * 2007-07-26 2017-06-27 The Directv Group, Inc. Method and system for preordering content in a user device associated with a content processing system
KR101433859B1 (ko) * 2007-10-12 2014-08-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US8307131B2 (en) * 2007-11-12 2012-11-06 Gemalto Sa System and method for drive resizing and partition size exchange between a flash memory controller and a smart card
US8162227B2 (en) 2007-11-12 2012-04-24 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US8156322B2 (en) * 2007-11-12 2012-04-10 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
US8286883B2 (en) 2007-11-12 2012-10-16 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US8819675B2 (en) * 2007-11-28 2014-08-26 Hitachi, Ltd. Virtual machine monitor and multiprocessor system
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8452927B2 (en) * 2008-01-02 2013-05-28 Sandisk Technologies Inc. Distributed storage service systems and architecture
US9098506B2 (en) * 2008-01-02 2015-08-04 Sandisk Il, Ltd. Data indexing by local storage device
US8370402B2 (en) * 2008-01-02 2013-02-05 Sandisk Il Ltd Dual representation of stored digital content
US8583878B2 (en) * 2008-01-02 2013-11-12 Sandisk Il Ltd. Storage device having direct user access
JPWO2009096180A1 (ja) * 2008-01-30 2011-05-26 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
CN101515254B (zh) * 2008-02-18 2010-12-08 鸿富锦精密工业(深圳)有限公司 存储空间管理系统和方法
US8271751B2 (en) 2008-04-24 2012-09-18 Echostar Technologies L.L.C. Systems and methods for reliably managing files in a computer system
US8429196B2 (en) 2008-06-06 2013-04-23 Oracle International Corporation Fast extraction of scalar values from binary encoded XML
US8065304B2 (en) * 2008-06-11 2011-11-22 International Business Machines Corporation Using asymmetric memory
US20100122039A1 (en) * 2008-11-11 2010-05-13 Ravi Ranjan Kumar Memory Systems and Accessing Methods
US8880776B2 (en) * 2008-12-16 2014-11-04 Sandisk Il Ltd. Data access at a storage device using cluster information
JP5218024B2 (ja) * 2008-12-22 2013-06-26 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム
KR101618634B1 (ko) * 2009-01-07 2016-05-09 삼성전자주식회사 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법
US8738621B2 (en) * 2009-01-27 2014-05-27 EchoStar Technologies, L.L.C. Systems and methods for managing files on a storage device
US7974190B2 (en) * 2009-02-12 2011-07-05 Micrel, Inc. Dynamic queue memory allocation with flow control
US8370645B2 (en) * 2009-03-03 2013-02-05 Micron Technology, Inc. Protection of security parameters in storage devices
CN101908009B (zh) * 2009-06-08 2014-02-19 鸿富锦精密工业(深圳)有限公司 文件备份与使用方法
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
WO2011031903A2 (en) 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
CN101662706B (zh) * 2009-10-20 2013-03-20 国家电网公司 一种业务存储方法和模块
US8391302B1 (en) * 2009-12-03 2013-03-05 Integrated Device Technology, Inc. High-performance ingress buffer for a packet switch
CN101808123B (zh) * 2010-03-09 2013-04-17 浪潮(北京)电子信息产业有限公司 在存储系统中访问存储资源的方法和装置
EP2563091B1 (en) 2010-04-23 2016-06-08 Huawei Device Co., Ltd. Wireless internet-accessing module, host, communication method thereof, and data card
CN101868049B (zh) * 2010-06-03 2013-12-04 华为终端有限公司 主机与无线上网模块的通信方法和主机通信模块
CN101938848B (zh) * 2010-06-03 2013-01-02 华为终端有限公司 主机设备无线上网方法及系统
US9456247B1 (en) 2010-05-19 2016-09-27 The Directv Group, Inc. Method and system for changing communication parameters of a content delivery system based on feedback from user devices
US9883242B1 (en) * 2010-05-19 2018-01-30 The Directv Group, Inc. Method and system for controlling a storage location of content in a user device
MX2012013459A (es) 2010-05-19 2013-04-29 Directv Group Inc Metodo y sistema para elaborar una cola de programas deseados para un usuario en un sistema de distribucion de contenidos.
US20120017052A1 (en) * 2010-07-19 2012-01-19 Sauber William F Information Handling System Universal Memory Wear Leveling System and Method
TWI420305B (zh) * 2010-10-08 2013-12-21 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US9268646B1 (en) * 2010-12-21 2016-02-23 Western Digital Technologies, Inc. System and method for optimized management of operation data in a solid-state memory
CN102541744B (zh) * 2010-12-24 2015-12-02 安凯(广州)微电子技术有限公司 一种移动存储设备的分区方法及系统
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
WO2012129191A2 (en) * 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US9361044B2 (en) 2011-03-28 2016-06-07 Western Digital Technologies, Inc. Power-safe data management system
FR2979443B1 (fr) * 2011-08-30 2013-09-27 Maxim Integrated Products Microcontroleur securise a base de mode
US8856440B2 (en) 2011-09-12 2014-10-07 Microsoft Corporation Volatile memory representation of nonvolatile storage device set
US9529547B2 (en) * 2011-10-21 2016-12-27 Freescale Semiconductor, Inc. Memory device and method for organizing a homogeneous memory
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
TWI489272B (zh) * 2012-04-03 2015-06-21 Phison Electronics Corp 保護資料的方法、記憶體控制器與記憶體儲存裝置
CN103377149B (zh) * 2012-04-16 2016-05-11 群联电子股份有限公司 保护数据的方法、存储器控制器与存储器储存装置
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
CN102789425B (zh) * 2012-07-17 2016-01-20 上海金智晟东电力科技有限公司 基于flash存储介质的文件读写方法
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10057726B2 (en) * 2012-10-02 2018-08-21 Razer (Asia-Pacific) Pte. Ltd. Managing user data on an electronic device
US9507750B2 (en) 2012-10-12 2016-11-29 A9.Com, Inc. Dynamic search partitioning
US9235377B2 (en) * 2013-03-12 2016-01-12 Invensense, Inc. Multiple, per sensor configurable FIFOs in a single static random access memory (SRAM) structure
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
CN104238953A (zh) * 2013-06-13 2014-12-24 中兴通讯股份有限公司 直接表的存储方法和装置
KR20140145879A (ko) * 2013-06-14 2014-12-24 삼성전자주식회사 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
KR102088403B1 (ko) 2013-08-08 2020-03-13 삼성전자 주식회사 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
JP6135506B2 (ja) * 2013-12-27 2017-05-31 ブラザー工業株式会社 シート処理装置
KR20150138528A (ko) * 2014-05-29 2015-12-10 삼성전자주식회사 플래시 메모리를 기반으로 하는 스토리지 시스템 및 그것의 동작 방법
US9846567B2 (en) * 2014-06-16 2017-12-19 International Business Machines Corporation Flash optimized columnar data layout and data access algorithms for big data query engines
US10667008B1 (en) 2014-12-18 2020-05-26 The Directv Group, Inc. Method and system for setting and receiving user notifications for content available far in the future
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US9952808B2 (en) 2015-03-26 2018-04-24 International Business Machines Corporation File system block-level tiering and co-allocation
JP6601077B2 (ja) * 2015-09-10 2019-11-06 富士通株式会社 情報処理装置、ログ記録方法及びログ記録プログラム
JP6380320B2 (ja) * 2015-09-29 2018-08-29 京セラドキュメントソリューションズ株式会社 電子機器、情報処理方法及びプログラム
US10348567B2 (en) * 2015-10-15 2019-07-09 Microsoft Technology Licensing, Llc Mapping user identifiers between different device ecosystems
US10210298B2 (en) * 2015-11-24 2019-02-19 Altera Corporation Embedded memory blocks with adjustable memory boundaries
EP3408623A4 (en) * 2016-01-22 2020-01-15 Illinois Tool Works, Inc. SYSTEMS AND METHODS FOR DYNAMICALLY CONFIGURING STORED DATA VALUES ON A MASS FLOW REGULATOR
US10261707B1 (en) * 2016-03-24 2019-04-16 Marvell International Ltd. Decoder memory sharing
US10152237B2 (en) 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
US10534540B2 (en) 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure
JP6783645B2 (ja) * 2016-12-21 2020-11-11 キオクシア株式会社 メモリシステムおよび制御方法
US20180292991A1 (en) * 2017-04-11 2018-10-11 Micron Technology, Inc. Memory protocol with programmable buffer and cache size
KR20190006680A (ko) * 2017-07-11 2019-01-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN109697016B (zh) * 2017-10-20 2022-02-15 伊姆西Ip控股有限责任公司 用于改进容器的存储性能的方法和装置
US10908832B2 (en) 2017-10-31 2021-02-02 Micron Technology, Inc. Common pool management
CN109815711B (zh) * 2018-12-21 2020-12-25 航天信息股份有限公司 一种存储设备、数据存储方法和数据读取方法
US10977174B2 (en) * 2018-12-31 2021-04-13 Micron Technology, Inc. Using a common pool of blocks for user data and a system data structure
CN111274160A (zh) * 2020-01-22 2020-06-12 维沃移动通信有限公司 数据存储方法、电子设备及介质
US11436153B2 (en) * 2020-05-26 2022-09-06 Western Digital Technologies, Inc. Moving change log tables to align to zones
US20220019370A1 (en) * 2020-07-16 2022-01-20 Micron Technology, Inc. Partial zone memory unit handling in a zoned namespace of a memory device
US11537293B2 (en) * 2021-02-18 2022-12-27 Western Digital Technologies, Inc. Wear leveling methods for zoned namespace solid state drive
CN114237514A (zh) * 2021-12-24 2022-03-25 深圳市宝佳乐电子科技有限公司 区块管理方法、存储器控制器和存储器存储装置

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE36989E (en) 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
EP0675502B1 (en) 1989-04-13 2005-05-25 SanDisk Corporation Multiple sector erase flash EEPROM system
US5193184A (en) 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5253344A (en) 1991-09-05 1993-10-12 International Business Machines Corp. Method and apparatus for dynamically changing the configuration of a logically partitioned data processing system
JPH0581091A (ja) * 1991-09-19 1993-04-02 Fuji Xerox Co Ltd データ処理装置
CA2100540A1 (en) 1992-10-19 1994-04-20 Jonel George System and method for performing resource reconfiguration in a computer system
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5706472A (en) * 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
JPH08314773A (ja) * 1995-05-15 1996-11-29 Nec Corp 記憶装置の分割領域再配置システム
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
EP1075676B1 (en) 1998-05-01 2002-12-11 Powerquest Corporation Manipulation of virtual and live computer storage device partitions
JP3613052B2 (ja) * 1999-02-09 2005-01-26 日本電気株式会社 オペレーティングシステムを記録したコンピュータ読み取り可能な記録媒体
US6609187B1 (en) 1999-07-06 2003-08-19 Dell Products L.P. Method and apparatus for supporting resizing of file system partitions
JP3863330B2 (ja) 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US7089391B2 (en) * 2000-04-14 2006-08-08 Quickshift, Inc. Managing a codec engine for memory compression/decompression operations using a data movement engine
JP3942807B2 (ja) * 2000-06-06 2007-07-11 株式会社ルネサステクノロジ ブロックアラインメント機能付き半導体記憶装置
JP2002222061A (ja) * 2001-01-25 2002-08-09 Hitachi Ltd 記憶領域を設定する方法、記憶装置およびプログラム記憶媒体
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
JP2003085014A (ja) * 2001-09-12 2003-03-20 Toshiba Corp ネットワークシステムのボリューム管理方法及び計算機
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US7266823B2 (en) * 2002-02-21 2007-09-04 International Business Machines Corporation Apparatus and method of dynamically repartitioning a computer system in response to partition workloads
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
US6694419B1 (en) 2002-04-12 2004-02-17 Barsa Consulting Group, Llc Method and system for automatically measuring partition memory needs in a partitioned computer system
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
US6851030B2 (en) 2002-10-16 2005-02-01 International Business Machines Corporation System and method for dynamically allocating associative resources
US6912625B2 (en) 2003-01-09 2005-06-28 International Business Machines Corporation Method, system, and computer program product for creating and managing memory affinity in logically partitioned data processing systems
US7653796B2 (en) * 2003-02-20 2010-01-26 Panasonic Corporation Information recording medium and region management method for a plurality of recording regions each managed by independent file system
US7305520B2 (en) * 2004-01-30 2007-12-04 Hewlett-Packard Development Company, L.P. Storage system with capability to allocate virtual storage segments among a plurality of controllers
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7496493B1 (en) * 2004-11-09 2009-02-24 Western Digital Technologies, Inc. External memory device to provide disk device and optical functionality
US7441067B2 (en) * 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI395102B (zh) * 2009-10-02 2013-05-01 Via Tech Inc 資料儲存裝置與方法

Also Published As

Publication number Publication date
TW200712878A (en) 2007-04-01
US20090043984A1 (en) 2009-02-12
CN101213510B (zh) 2012-05-23
JP2013012212A (ja) 2013-01-17
US7457910B2 (en) 2008-11-25
EP2159681A2 (en) 2010-03-03
US20070002612A1 (en) 2007-01-04
EP1896931A2 (en) 2008-03-12
US7853772B2 (en) 2010-12-14
JP5143730B2 (ja) 2013-02-13
WO2007002866A2 (en) 2007-01-04
JP2008545202A (ja) 2008-12-11
EP2270643A1 (en) 2011-01-05
EP2159681A3 (en) 2010-12-01
KR20080025178A (ko) 2008-03-19
CN101213510A (zh) 2008-07-02
WO2007002866A3 (en) 2007-05-10

Similar Documents

Publication Publication Date Title
TWI315032B (en) Method and system for managing partitions in a storage device
JP5178514B2 (ja) 記憶装置用デュアルモードアクセスのための方法およびシステム
KR101348048B1 (ko) 개선된 플래시 메모리 호환성을 갖는 전자 장치 및 전자 장치의 플래시 메모리 호환성을 개선하는 방법
EP1920317B1 (en) Mass data storage system
JP4533956B2 (ja) フラッシュメモリシステムのデータ記憶容量の解放
KR101042588B1 (ko) 플래시 메모리들에 직접 데이터 파일 저장
US10082984B2 (en) Storage device and method of operating the same
KR101378031B1 (ko) 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리
TW201040719A (en) Solid state memory formatting
WO2000002126A1 (en) Method and apparatus for performing erase operations transparent to a solid state storage system
TW201142593A (en) Method and system for concurrent background and foreground operations in a non-volatile memory array
WO2009085408A1 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
TW200905680A (en) Method and system for storage address re-mapping for a memory device
KR20080000557A (ko) 플래시 메모리들에 직접 데이터 파일 저장 구현 기술
KR101055324B1 (ko) 강화된 호스트 인터페이스
EP3989052A1 (en) Method of operating storage device and method of operating storage system using the same
KR20090108695A (ko) 다이렉트 데이터 파일 메모리 시스템에서 lba 인터페이스를 관리하는 방법
KR20080038368A (ko) 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱
US8769217B2 (en) Methods and apparatus for passing information to a host system to suggest logical locations to allocate to a file
TW200842578A (en) Configuration of host LBA interface with flash memory

Legal Events

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