TWI352901B - Mass data storage system - Google Patents

Mass data storage system Download PDF

Info

Publication number
TWI352901B
TWI352901B TW095128234A TW95128234A TWI352901B TW I352901 B TWI352901 B TW I352901B TW 095128234 A TW095128234 A TW 095128234A TW 95128234 A TW95128234 A TW 95128234A TW I352901 B TWI352901 B TW I352901B
Authority
TW
Taiwan
Prior art keywords
storage device
volatile
data
file
mass storage
Prior art date
Application number
TW095128234A
Other languages
English (en)
Other versions
TW200723000A (en
Inventor
Alan W Sinclair
Original Assignee
Sandisk Corp
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 Corp filed Critical Sandisk Corp
Publication of TW200723000A publication Critical patent/TW200723000A/zh
Application granted granted Critical
Publication of TWI352901B publication Critical patent/TWI352901B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/064Management of blocks
    • 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/0643Management of files
    • 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]
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

1352901 九、發明說明: 【發明所屬之技術領域】 本發明一般關於儲存裝置,且更明確地說,關於—運用 直接資料檔案儲存介面的雙媒體儲存裝置。 【先前技術】 傳統電腦系統通常包括數個功能組件。此等組件可包括 一中央處理單元(CPU)'主記憶體、輸入/輸出(「I/O」)裝 置與大量儲存。於傳統系統中,該主記憶體係經由—系統 匯流排或一區域記憶體匯流排而麵4至該cpu。豸主記憶 體係用以提供該CPU在執行時間時於主記憶體中所儲存之 資料及/或程式資訊的存取。一般而言,該主記憶體係由 隨機存取記憶體(RAM)電路所組成。一具有cpu與主記憶 體之電胞)系統經常稱為一主機系統。 大量儲存通常係用以保留資料。一般而言,會將—儲存 於大量儲存中的程式在由該CPU執行之前,複製至主記憶 體。常見的大量儲存裝置包括軟碟、硬碟、光碟與驅 動器。 此外,快閃記憶體可用以提供非揮發性儲存。一主機系 統會經由一介面而介接快閃記憶體(於本說明書中亦可交 替稱為「快閃裝置」'「换閃 弋「也„上 」Κ閃」或快閃卡」)。快閃記憶 體通常包括用於館存資訊之非揮發性記憶體單元陣列。 快閃記憶體系統一般大多是一記憶卡或快閃驅動器的形 式’其係以可移除方式與各種主機,例如個人電腦、相機 或其類似物進行連接,而亦可巍人於此類主機Μ卜 ]J3322.doc 1352901 一快閃記憶體控制器通常合 ^ ^ ^ ^ s控制一記憶體陣列的操作。 。“隐體控制器包括一微處理号、 體(「ROM」)、一揮發 _ :非揮發性唯知記憶 或多個特殊電路,例如一 」厂、 合在資#、“ 錯误校正碼電路(「ECC」),其 資科相該記憶體控制器時,以資料計算出咖。 :::業快閃記憶體系統的早期世代中,一記憶體單元 =列:分成大量的單元群組,其中每一者會储存一 才示準磁碟驅動器區段的資料 即5〗2個位兀組。額外的 貝科"’例如16倘位元組,通常亦會包含於每一群组中, =存-錯誤校正碼(ECC),並亦有可能是其他與使用者 :料及/或儲存該資料之記憶體單元群組有關的管理資 科。於每-此群組中之記憶體單元係可一起抹除之最少量 的記憶體單元。此即,铉祛昤s _ 士 平凡此即该抹除早兀有效地係儲存一資料區 段與所包含之任何管理資料的記憶體單元數量。此類型之 記憶體系統範例係說明於美國專利第5,6〇2,987與6似州 =。快閃記憶體之特性在於該等記憶體單元必須在將其與 資料重新程式化之前進行抹除。 於傳統系統中,一主機會維持一檔案系統,並將檔案資 料配置至邏輯叢集’其中該叢集大小通常係固定的二快 閃裝置係分成複數個邏輯區段,而該主機則會配置於兮等 包括複數個邏輯區段之叢集内的空間。一叢集係一邏輯位 址之子分區,而一叢集映射係為一檔案配置表 (「FAT」)》該FAT正常係儲存於該儲存裝置本身。 於傳統系統中’在將資料寫入該記憶體時,該主機通常 113322.doc 邏輯位址指派給區段、叢集或其他於該記憶體系 統之連虛擬位址空間内的資料單元。如同一磁碑操作系 ;(DOS)’該主機會將資料寫入該記憶體系統之邏輯位址 二:::位址,並從該位址讀取資料1記憶體系統内之 =裔:將從該主機所接收之邏輯位址轉譯成該記憶體陣 列内之實體位址,其中該資料實際上係予以儲存,且隨後 ϋ會=續追縱此等位址轉譯。該記憶料、統之資料儲存容 里至;係與在整個針對該記憶 可定址資料的量—樣大,統〜義之邏輯位址中 發明者已事先探究將獨立装置 憶體)結合至一單一大眚針/ 大量儲存與快閃記 丑π样h 存系統中的觀念,如該等上述 待審專财請案中所揭示的-般。此等整合穿置會在 -邏輯介面係用以於該主機與該等經 、會在 資料處操作。 。σ儲存系統間傳輸 機系統(或格式)現係加”發,而使得-主 貝執仃槽案,以進行邏輯位址映射。 置二二Γ:種運用非傳統播案儲存格式與大量儲存裝 冑糸统能夠有效地將資料讀取體 ::广記億體系統寫入資料,並仍舊以運用: 面之傳統邏輯位址办門/故斗达# 用邏輯介 需求。 工間/袼式為基礎的方法與系統便有所 【發明内容】 就本發明之—古 與-資科錯存二=,所提供係一種供於-主機系統 統間傳輸資料的系統。該系統包括一介 I13322.doc 1352901 面,其運用一w批也· _ 备索為主之協定,以於該資科儲广/ 该主機系統間傳輪資料,其中抖錯存系統與 大量儲存裝置與—第_ ^ 存系統包括一第一 存裝置係—固態非儲存震置;其中該第—大量儲 裝置係一非固態記第-大!健存 該第一大量儲存裝置係一快閃記情體 儲存裝置,並於檔案上以檀案為主儲存資料。.、作為主要 儲存裝置係-磁碟 第二大量 t , 沿具作為次要錯存奘罢 經由一邏輯介面而接收的資料。 $置,並儲存 就本發明之另一 統與-資料错存二傳二所提供係一種供於-主機系 *,其運用1二::=㈣統。該系統包括-介 马主之協定,以於 該主機系統間傳輸資料,其 ’^存系統與 非揮發性大量儲存裝置與 ^子、統包括-第- 且該第—非揮發性大㈣存揮發性大量儲存裝置; 式,而該第二非揮發性大==料儲存成-第-格 H 置储存裝置會將資料儲存成一第 就本發明之又另一方面而言,所提供係― 統。該資料儲存系統包括一第一非揮發性大量儲 ,、會經由一運用一以檔案為主之協定的介面而 = 統介接;以及一第二非揮發性大量儲存裝置^:系 非揮發性大量儲存裝置會與該第一非揮發性大量= 介接,而來自該主機系統之資料可儲存於該第 2 大量儲存裝置及/或該第二非揮發性大量儲存裝置中揮發性 113322.doc 就本發明之另一方 統。該資料儲存系統包括二^ 1曰資料儲存系 其會經由-以檔案為主 ;^儲存裝置, 該第一非揮發性大量儲存裝置包括-盘一i統:接;其中 量儲存裝置介接的磁碟:帛二非揮發性大 資料可儲存於該等第 ° '該主機系統之檔案 子、该4第一非揮發性大量 非揮發性大量儲存裝置中。 子裝置及/或第二 就本發明之又另—‘ 系統傳送之資料寫入 …斤提供係-種將由-主機 . 科寫入一大量儲存系統的方法。兮士旦 大量儲存裝置。嗲方 第一非揮發性
^ 、包括:藉由該等個別檔荦内M 棺案識別符與偏移識別個別檔案, :案内之獨特 該等獨特檔荦| ,、 Ο主機系统會產生 偏移傳送至=;=等偏移’並將該等檔案識別符與 裝置中有空間可以利:'、:,从及若該第—非揮發性錯存 大量錯存裝置;以及若該第—、:第一非揮發性 儲存工間可供該檔案利用,則將 罝中無 以從該第一非摑 複製細作、·,内入排程中, 揮發性大量館存裝置。 將資科傳輸至該第二非 ^發明之另一方面而言,所提供係 系統頃取資科的方法。該大量 大里儲存 性大量儲存妒晋盘一银 糸、、先包括一第一非揮發 包括:接收二: 性大量儲存裝置。該方法 -機系統會產生該等獨移’其中- 吨別符與偏移,並針對將從 U3322.doc 1352901 該大量错存系統讀取之詩 送至該大詈蚀产 < 保条識別符與偏移傳 發性大:二Γ;判斷該檔案是否係位於該第-非揮 们生大㈣存裝置或該第二非揮發性Af 非揮 右該檔案係位於該第一非揮發性大量儲存、,以及 一非揮發性大量儲存裝置存取資料。、,則從該第 就本發明之又另一方面而言,所提供 非揮發性大量倚存裝置與一第:藉由-第一 將由-主機系統傳送之資料寫入p A量儲存裝置而 該方法包括:藉由”=大量儲存系統的方法。 精由4 4個別檔案内之獨特 移識別個別資料檔案,其中該 田案識別付與偏 案識別符與該等偏,、、、㈢產生該等獨特檔 ,置儲存系統;若該第-非揮發^存==至 間可以利用,則將該棺案 讀存裝置中有空 存裝置;判斷是否應分^ 入該第—非揮發性大量儲 製至今第-餘/刀° 〃备案資料;以及將一檔案段複 氣至6亥第一非揮發性大量健存裝χ 項 就本發明之又另一方面而言:所 糸統傳送之資料寫入一大量儲存系統的方種主機 儲存系統包括-第―非揮發性量儲广、-該大量 發性大量儲存裝置。該方法包括=存裝置與一第二非揮 入命令;若該第-非揮發性大 二系右统:收-寫 用,則將-寫入命令傳 -、置中有空間可利 以供寫入-第—槽案段非揮發性大量儲存裝置 發性大量儲存裝置以供宜 送至遠第一非揮 發性大量儲存裝置準備:=:樓案段·’在該第二非揮 于7以儲存該第二檔案段的同時, H3322.doc 1352901 將該第一擋案段儲存於該第一非揮發性大量儲存震置中; • m第二冑案段儲存於該第二非揮發性A量倚存裝置 中 0 以上簡短的發明内容已經揭示完畢’因此可快 發明的特性》藉由參考較佳具體實施例的詳細說明,、並結 合相關附圖,可對本發明獲得更加完整的瞭解。 【實施方式】 ❿ 欲促使對該較佳具體實施例的瞭解’將說明—主機系統 /快間裝置的一般架構與操作。隨後將參考該一般架構而 s兒明該較佳具體實施例的特殊架構與操作。 主機系統: • 圖1A顯示可利用本發明之—般用途電腦系統(主機系 統)1〇〇。系統1〇〇之組件包括一電腦16〇、各種輸入/輸出 (「I/O」)裝置,例如-滑鼠170、鍵盤165、監視器12〇與 印表機125。 ' 鲁圖1B顯示電腦系統⑽的抽象表示。組件i则以代表複 數個輸入裝置,例如讓使用者能夠與該電腦系統1〇〇進行 互動的滑鼠與鍵盤。同樣地,輸出135代表-或多個輪出 裝置’例如監視器120與印表機125。 電腦系統1〇〇包括-連接至一系統匯流排155之中央處理 單元(「cpu」)(或微處理器)175。主記憶體145(例如,隨 機存取主記憶體(「RAM」))心合至系統匯流排155,並 讓CPU 175能夠存取記憶體儲#。當執行程式指令時, CPU 175會將此等處理步驟儲存於RAM】中,然後執行 113322.doc 1352901 RAM 145中所儲存之處理步驟。 所具唯讀S己憶體(「ROM J )(未加以顯示)係欲储存值定 的指令序列’例如啟動指令序列或基礎輸入/輸出操作系 統(BIOS)序列。 大置儲存裝置1 50使電腦系統i 00能夠永久保留大量的資 料。大量儲存裝置1 5 〇係於下文中加以詳細說明。 大量儲存系統:
圖2 A顯示大量儲存系統(亦可稱為虛擬快閃儲存或虛擬 儲存裝置)150之方塊圖。大量儲存系統15〇會經由一檔案 μ面通道103而與主機系統1〇〇介接。檔案介面ι〇3會促使 資料/命令於大量儲存15G組件與主機系統⑽之間運用 -以:案為主之協定進行傳輸’其將於下文中加以說明。
大量儲存150係-虛擬快閃槽案儲#,其使用一直接資 料權案快閃裳置(或固態非揮發性記憶體裝置)ιΐ6(於㈣ 中亦顯示為116)作為—主要储存(亦稱為主要儲存裝置), ^吏用一高容量磁碟(或任何其他非固態記憶體袭置,例 ^置)一磁Λ㈣作為—次㈣存(亦稱為—次要儲存 中\ 播案為主’—件件地健存於快閃裝置116 次要儲存110包括磁碟控制 磁碟控制器㈣會促使體儲存·。 存110間進行傳輸。值得注音子116與该次要儲 態記憶體裝置,例如-硬/、的;;次要儲存110可為一非固 對使用者而言,大4:裝置::動器與^ "〇似乎是一快閃儲存裝 113322.doc -12. 1允29〇1 置…而事實上所運用的係-結合快閃裝置116的磁磾 110。 w π 值得注意的是主要儲存116可為主㈣統1G0的必備部 =而為-傳統硬碟的次要儲存m則可在主機系統⑽的 Ρ此外’该主要館存116與該次要儲存11〇可採用相 或不同的格式來儲存資料。 '閃裝置116(或主要儲存116,其於本說明書中交替使 用)包括一控制器模組116Α(亦可稱為「記憶體系統控制 …戈「記憶體控制器」或「控制器」)與固態記憶體模 組Η6Β。控制器116Α會經由檔案介面⑻或另一週邊匯流 排(顯示)或經由系統匯流排! 5 5而與主機系統⑽介接。 目前有許多不同快閃裝置(或快閃記憶卡)存在,其可在 市面上取得’例如:c。—h(CF)、MultiMediaCard (MMC) . Secure Digital(SD) . miniSD . Memory Stick ^
SmartMedia與⑽训純卡。儘管此等卡之每一者根據其 私準化說明書’各具有獨特的機械及/或電子介面,然而 於每一者當中所包含的快閃記憶體卻極為相似。此等卡全 部皆可從SanDisk公司(本專利案之受讓人)蹲得。 亦以CrUzer為商標販售快閃驅動器,其係具有通用串列匯 流排⑽B)插塞以供藉由插▲該主機之卿插座而與一主 機連接的小型封裝手持式記憶體系統。此等記憶卡與快閃 驅動器之每-者包括控制器,其會與該主機介接並控制其 内之快閃記憶體的操作。 運用此等記憶卡與快閃驅動器之主機系統有許多且富變 113322.doc ==人電腦(PC)、膝上型電腦與其他可攜式電 式電話、個人數位助理(PDA)、數位靜態相機、 二攝影機與可攜式音頻播放器。該主機通常包括—供一 或夕種類型之記憶卡或快閃驅動器使用的内建插座,献而 有些則會需要可讓-記憶卡插人的配接器。 μ β主要儲存116在與次要儲存110做比較時係小型由於其 可2不移動零件的情況下操作,而不像次要儲存110需使 用多種移動零件,故而對衝擊與震動具有較高的抗性。 —主要儲存116亦比次要儲存11〇具有較快的搜尋時間,即 機可將_貝料瀆取至主要儲存116或從主要儲存丨16寫入 2其可從該次要儲存110讀取或寫入至該次要儲存110進行 =快。主要儲存116通常比次要儲存ιι〇具有較小的儲存容 1。大量儲存系統150有利地提供一較快的直接資料檔案 快閃儲存裝置與—高容量儲存裝置,其將於下文中加以詳 細說明。 該等記憶體單元陣列116B2NAND架構目前係較佳的, 儘官其他架構,例如N〇R亦可加以替代使用。參考美國專 利第 5,570,3 15、5,774,397、6,046,935、6,373,746、 M56’528、6’522,580、6,771,536 與 6,781,877號,以及美 國專利申請公告案第2003/0147278號可得NAND快閃記憶 體與其作為一記憶體系統之部分的範例。 圖2B顯示控制器模組U6A之内部架構的方塊圖。控制 器模組116A包括一微控制器116C,其經由介面邏輯U6E 而與各種其他組件介接。記憶體116D會儲存由微控制器 I13322.doc 1352901 U6C所運用之韌體與軟體指令,以控制快閃裝置ιΐ6的操 作。記憶體116D可為揮發性可重新程式化隨機存取記憶體 RAM」)、非可重新程式化非揮發性記憶體 (Rom」)、一次性可重新程式化記憶體或可重新程式化 快閃電子可抹除且可程式化唯讀記憶體(「EEpR〇M」)。 —主機介面116G會(經由檔案介面103)與主機系統1〇〇介 接’而一快閃介面U6F則會與記憶體模組U6]B介接。
圖2C在概念上說明該快閃記憶體單元陣列(116B)之組 織八於下文之進一步說明中作為一範例。記憶體單元之 υ丨心股平7L晶 片上、二晶片(每—晶片上之平面的其中二者)上或四獨立 晶片上。該特殊配置對於下文中之討論而言不重要。當 然’其他平面數目’例如】、2、8、16或更多於一系統中 亦可能存在。該等平面以矩形顯示於圖2C中,係個別分開
成記憶體單元區塊,例如區塊137、138、139與14〇八,盆 分別位於平面⑶至134中。於每—平面中可以有數數 百個區塊存在。 記憶體單元區塊係抹除單元,即實體上可—起抹除的最 :、己憶體卓凡數目。然而’ 4 了提升平行,該等區塊便以 w 來自母一千面之某—區塊係予 以邏輯連結在一起,以形成一 X 70區塊所顯不之四尻祕 137至I40A係形成一元區塊 .r+. 匚鬼 41。一兀區塊内之所有單开捅 常會一起予以抹除。用 ^ 形成一兀區塊之區塊於复各 平面内無須限制在相同的相 ,、 的 相對位置上,如同於由區塊145 113322.doc • 15 - 1352901 至148所形成之第二元區塊143中所顯示的一般。 儘管通常較佳係將該等元區塊於所有的平面上延伸然 而為求高的系統效能,仍可藉由動態地由不同平面中之 一、一或三區塊之任一者或全部來形成元區塊而操作該記 憶體系統。以上所述使該元區塊之大小能夠較密切地與可 於一程式化操作中供儲存用的資料量吻合。
該等個別區塊接著便為了操作《目的而分成若干記憶體 單元頁,如同圖2D中所說明。每—該等區塊131至134之記 憶體早元各自係分成八個頁P0至P7。此外,在每一區塊内 仍可能存在16、32或更多的記憶體單元頁。該頁係資料在 區塊内進行程式化與讀取的單元’其包含一次可程式化 的最少資料量。 於該NAND架構中,—頁係由沿著一區塊内之字元線的 =憶體單元所形成H $ 了提升該記憶體系統操作平 仃’此等於一或多個區塊内之頁可加以邏輯連結成元頁。 於圖2D中說明—元頁151,其係由來自該等四區塊⑶至 母者的某一實體頁所形成。例如,該元頁151包括 該等四區塊之每一者中 , 苍甲的貝Μ,然而一兀頁之頁無須非得 在該等區塊之每一者内具有相同的相對位置。 儘管較佳係在所有四平面上平行地程式化與讀取最大資 料量’然而為求高的系統效能1可於不同平面之獨立區 塊中形成一、二成=百4^. „ , ^ / 次一頁之任一者或全部的元頁,而操作該 。己隐體系統。w上所述使該程式化與讀取操作能夠適當地 與傳統上可以平行方式進行處理的資料量吻合,並減少一 113322.doc •16· 1352901 70頁之部分有資料保持未程式化的情形發生。 如圖2D中所說明,由多平面實體頁形成之元頁包含沿著 j等多平面之字元線列的記憶體單元。一字元線中的所有 早元並非同時進行程式化’而是較常會形成二或多個交錯 群組交替進行程式化,其中每一群組會儲存一資料頁(於 —單一區塊中)或一資料元頁(橫跨多區塊)。藉由每一次皆 父替程式化不同的記憶體單元,便無須在每一位元線都具
有包括若干資料暫存器與一感應放大器之一週邊電路單 元’而僅須在鄰接位元制係分時。以上所述㈣省週邊 電路所需的基板空間量,並使該等記憶體單元沿著該等列 之密度能夠提升。否則,為了使一給定記憶體系統中可利 用之平行最大化,較佳的便是沿著一列同時程式化每一 元。
圖2E顯示-頁或元頁f料之二區段153與155的邏輯資料 頁。每-區段通常包含使用者或所健存系統資料之512個 位元組的一部分157與管理資料之另一數目的位元組bp, 該管理資料關於該部分157中的資料或關於供其儲存的實 體頁或區塊。管理資料之位元組數目通常係16個位元組, 其針對每—該等區段153與155會構成總數528個位元纽。 該管理部分159可包含__在程式化期間由該資料部分⑺所 計算的ECC、其之邏輯位址、該區塊已然經抹除虚重新程 式化之次數的經歷計數、一或多個控制旗標、操作電壓位 準及/或其類似者’再加上一由此管理資料159所計算的 ECC。此外,該管理資料159(或其之一部分)可予以儲存於 113322.doc 17 1352901 其他區塊的不同頁中。 ==憶體平行的提升,於是該元區塊資料儲存容量會 頁隨該賴頁與元頁大小也會跟著提升。該資料 個二…個以上的資料區段。由於-資料頁中有兩 個&段,日:__二ΤΓ丄 兀頁有兩個資料頁,故而-元頁中遂有四 個區段。因.此,名_ _ .…一 每一兀頁儲存2〇48個資料位元組。以上所 ,係二平仃度,且可因料列中記憶體單元數目的提升而 進二步地跟著提升。基於此原因,快閃記憶體的寬度為 了使=頁與—元頁中的資料量得以提升遂持續延伸。 上述这等實體上小的可重新程式化非揮發性記憶卡與快 閃驅動器’在市面上可購得的資料儲存容量為512個百萬 位凡組(MB)、1個十億位元組(GB)、2GB與4GB,且還可 能更高^ 圖/說明於-主機與一大量記憶體系統間最常見的介 γ機會處理由應用軟體或該主機所執行之勒體程式 產生或使用的資料擋案。一字元處理資料檔案係一範例, 而I電腦輔助設計(CAD)繪㈣案軟體則為另—範例,其 通常會出現在一般的電腦主機中,例如pc、膝上型電腦與 其他類似物。—pdf格式文件亦為此種檔案。數位相機會 十子每i圖片產生一資料檔案(靜態及/或視訊),並將其 儲存在記憶卡上。蜂巢式電話會利用於内部記憶卡上來自 ㈣的資料’例如電話薄,A會儲存並使用數個不同的 ㈣案 '日層㈣與其他類似物。於任一此 等應用中’該記憶卡亦可包含使該主機操作的軟體。 113322.doc .18· ^52901 。圖2Ft所說明係一於該主機與該記憶體系統間的常見邏 輯介面。-連續邏輯位址空間161係大到足以對所有可儲 存於該記憶體系,统中的資料皆提供位址。該主機位址*門 通常係分成資料叢集遞增。每一叢集於一給定的主機 中可經設計而包含大量資料區段,通常大約介於悄州固 區段間。一標準區段包含5丨2個資料位元組。 圖2F的範例中顯示三個已然建立的槽案i、2與3。於該
主機系統上執行之應用程式會將每一檔案建立成順序的資 料集’並藉由唯-名稱或其他參考而對其加以識別。尚未 :置給其他檔案的足夠可利用邏輯位址空間係由該主機指 定給檔案1。所顯示之檔案丨對可利用邏輯位址指定了一連 續的範圍。因特殊目的亦常會配置位址範圍,例如該主機 操作軟體的特定範圍,其隨後係避免用於儲存資料,即使 是在該主機將邏輯位址指定給該資料時並無對此等位址加 以利用。 當該主機於稍後建立一檔案2時,該主機同樣地會於該 邏輯位址空間161内指定兩個不同的連續位址範圍,如圖 2F中所顯示。—檔案不一定是經指定的連續邏輯位址,而 可為已然配置給其他檔案之位址範圍間的位址片段。以上 所述之範例隨後會顯示的是,將先前未配置給該等檔案1 與2以及其他資料之主機位址空間之其他部分配置給該主 機所建立的又另一檔案3。 該主機會藉由維持一檔案配置表(FAT)而對該記憶體邏 輯位址二間保持追縱’其中該FAT表係維持該主機指定給 H3322.doc -19· 1352901 該專各種主機檔案的邏輯 處邊FAT表通常係儲存 於該非揮發性記一 在新於安 ® 乂及主機圮憶體中’且經常在儲 存新槽案、刪除其他檀案、修 細系興兵他類似者時由該 .仃更新。例如’在刪除-主機擋案時,該主機便會 2由更新該FAT表取消配置先前配置給經刪除之擋案的邏 位址’進而顯示其現在係可與其他資料檔案一起運用。 該主機不會干預該記憶體系統控制器選擇將該等檔案儲 存的實體位置。典型的主機僅知道其之邏輯位址空間以及 其已配置給其之各種播案的邏輯位址。另一方面該記憶 體系統僅會透過一典型主機/卡介面知道已然將資料寫2 的邏輯位址空間之部分,而不會知道配置給特殊主機標案 之邏輯位址,或甚至主機檔案的數量。該記憶體系統控制 器U6A將由該主機提供以進行資料儲存或掏取之邏輯位址 在儲存主機資料的快閃記憶體單元陣列内轉換成獨特的實 體位址。一區塊163代表此等邏輯至實體位址轉換的工作 表,其係藉由記憶體系統控制器i 16A而維持。 該記憶體系統控制器116A係經程式化而於—記憶體陣列 165之區塊與元區塊内以將該系統效能維持在一高位準處 的方式儲存資料檔案。於此說明中使用四平面或子陣列。 資料較佳地係以該系統允許的最大平行度,而於由一來自 每一該等平面之區塊形成的完整元區塊進行程式化與讀 取。通常會將至少一元區塊167配置成一保留區塊,以用 於儲存由該記憶體控制器所運用的操作的韌體與資料。可 配置另一元區塊169(或多元區塊)以供儲存主機操作軟體、 113322.doc •20· 1352901 該主機FAT表與其他類似物。大多數該實體儲存空間會保 留下來,以供儲存資料檔案。 然而,該記憶體系統控制器116A不會知道所接收的資料 是如何基於其之各種檔案目的而由該主機加以配置的。所 有該記憶體控制器116A通常會從與該主機之互動而知道的 是,由該主機寫入特定邏輯位置之資料係儲存於當由控制 器之邏輯至實體位址表163維持時相對應的實體位址中。 於一典型記憶體系統中,會比必須儲存於該位址空間 161内的資料量多出一些額外的儲存容量區塊。所具之一 或夕個此等額外區塊可作為供其他區塊替換的冗餘區塊, 其在該記憶體壽命中可能變成有瑕痴的。包含於個別元區 塊内之區塊邏輯群組通常可因各種原因而產生變化,其包 ,几餘區塊替換一原本指定給該元區塊的瑕疵區塊。 -或多個額外區塊(例如元區塊171)通常係維持於—已抹除 區塊集區中。 曰該主機將資料寫人該記憶體系統時,該控制器—A會 將由4主機所指定之邏輯位址轉換至該已抹除區塊集區之 元區塊内的實體位址。該邏輯位址空間m内未用以儲存 資料的其他元區塊隨後係經抹除並指定為已抹除集區區 塊’以供於—接續的資料寫入操作期間使用。 儲存於特定主機邏輯位址處之資料,在原本所儲存之資 料過期時’經常會以新資料加以重寫。在回應時,該記憶 體系統控制斋i i 6A會將該新資料寫入一已抹除區塊中,且 隨後會針對此等邏輯位址改變該邏輯至實體位址表,以識 I13322.doc -21 · 1352901 別於此專邏輯位址處之資料進杆蚀六& &★ λ 堤仃儲存的新實體區塊。於此
等邏輯位址處包含該原本資料之F 竹< £塊隨後係已抹除,然後 便可供作儲存資料用。若於開始耷 间雜罵入時來自該抹除區塊集 區之預先抹除區塊中沒有足夠的儲存容量,則經常必須在 一當前資料寫人操作可能完叙前發生此抹除。以上所述 可對該系統資料程式化速度產生不利的影響。該記憶體控 制器116A通常會在該主機將新資料寫入其之相同邏輯位址 時,因該主機而知道-給定邏輯位址處之資料已經過期。 该記憶體之許多區塊因此可繼續將此無效資料儲存一段時 間。 為求對該積體電路記憶體晶片之面積能夠有效運用,區 塊與7L區塊之大小遂持續提升,以上所述使得大部分個別 資料會寫入並儲存比一元區塊儲存容量小(且就許多情況 而5 ,甚至會比一區塊小)的資料量。由於該記憶體系統 控制器116A—般會將新資料導向—已抹除集區元區塊,故 而以上所述便可使元區塊之部分變成未填滿。若該新資料 係於另一元區塊中所儲存之部分資料的更新,則亦希望依 邏輯位址順序將從其他所具邏輯位址與該等新資料元頁所 具連續之元區塊保留下來的有效資料元頁複製到該新元區 塊中。老舊的元區塊可將其他有效資料元頁保留下來。以 上所述會導致一個別元區塊之某些元頁資料在—段時間後 會過期且變無效,並由新資料以相同邏輯位址寫入一不同 的元區塊而加以取代。 為了要在整個邏輯位址空間161中維持足夠用以儲存資 H3322.doc •22· 1352901 料的實體記憶體空間’此資料遂週期性地加以壓緊或整合 (垃圾收集)。亦希望能夠將與實行時—樣多的資料區段依 與其之邏輯位址相同的順序維持於該等元區塊内,因為此 可使讀取連續邏輯位址中的f料更有效率。所以資,料歷縮 與垃圾收集通常便依據此額外目標而執行。在接收部分區 塊貝枓更新時管理—記憶體的部分方面,以及對元區塊的 運用係說明於美國專利第6,763,424號。
直接資料檔案儲存系統: ㈣顯示-由快閃裝置116所運用的佈局,其供於一序 號為:u/〇60,249,2005年2月16曰提出,律師檔案號 SDK0380.US0之共同待審專财請案中揭示的「直接資料 檔案J儲存或「直接檔案儲存」(「DFSj )方法/系統,以 及上文中所提及之直接資料檔案儲存應用使用。 於DFS裝置中’資料係如同上述專利申請案中所說明 的-般,由主機系統100以樓案為主(即,運用一以擋案為 主的協定)_件件料行存取m㈣由—邏輯地運 用-獨特棺案識別符(「檀案ID」或任何其他獨特的參考) 的士機與-該檔案内之偏移位址加以識別。針對該裝置沒 有定義任何的邏輯位址空間。主機系統1〇〇不會將檔案= 枓配置至邏輯叢集,而檔案的目錄/索引表資 裝置116產生。 陝閃 次該,機會以一獨特檐案ID(或其他獨特參考)與該檔案内 貝料單兀(例如,位元組)的偏移位址而將每—檔案定址。 以上所述之播案位址會直接給該記憶體系統控制器…A, 113322.doc •23· 1352901 其隨後會將其自身的表保持在每一主換於安次 王機檔案資料實體上儲 存之處。 此以檔案為主之介面係說明於圖2(5中,其應與圖抒之 邏輯位址介面做比較。該等檔案丨、2與3之每一者的識別 以及圖2G檔案内檔案的偏移係直接傳至該記憶體控制器。 此邏輯位址資訊隨後係、由-記憶體控制器功能Μ轉譯成 該記憶體1 65之元區塊與元頁的實體位址。
該以檔案為主之介面亦說明於圖21中,其應與圖2H之邏 輯位址介面做比較。該邏輯位址空間與圖況之由主機維持 的FAT表於圖21中沒有出現。而是,由該主機所產生的資 料檔案係由槽案編碼與該檔案内的資科偏移而於該記憶體 系統加以制。隨㈣記憶體系統會直接將該特案映射 至該記憶體單元陣列的實體區塊。 參考圖2;’所解釋係於本文中加以說明之範例大量儲存 系統的功能層。該「直接資料檔案儲存後端系統或直
接標案儲存後端系統)1()8會透過一「直接資料槽案介面」 (或直接播案介面)107與—「以檔案為主之前端系統」ιΐ5 而於-以檔案為主之介面通道上與—主機系統通信。每一 主機樓案係例如藉由-檔案名稱而獨特識別。一檔案内的 資料係藉由-對該檔案而言獨特之線性位址空間内的偏移 位址而加以識別。 虚擬快閃儲存150 : 圖2K顯禾介接具有一主要儲存116(與圖2a之主要儲存 116相同)與-次要儲存11()之虛擬快閃儲存15()的主機系統 113322.doc • 24 - 1352901 100 〇 於主機100中操作之主機應用程式1〇1會經由一主機檔案 • 驅動器102而介接’以將資料讀取及/或寫入虛擬快閃儲存 150或從虛擬快閃儲存15〇讀取及/或寫入資料。主機檔案 驅動器102會提供主機位址,其中每一檔案係藉由一獨特 檔案ID(或其他獨特參考)與該檔案内資料單元(例如,位元 組)的偏移位址而加以識別。 # 該虛擬快閃儲存15〇會在提供一磁碟容量的同時,如一 直接資料檔案儲存裝置般執行並發揮功能。 寫入該虛擬儲存150之檔案係導向至該主要儲存116,並 • 可供接續的讀取及/或寫入存取利用。從虛擬儲存15〇讀取 ▽ 之檔案係從其於主要儲存110中之當前位置進行讀取,或 直接從次要儲存11 〇進行讀取並複製到該主要儲存丨丨6以供 接續的存取。 於主要儲存116中可保存最大的檔案數量。檔案的當前 泰位置係以最近最少被存取為基礎從主要儲存116移動至次 要儲存110。 杨案可藉由將初始存取導向至於主要儲存116中所儲存 之第一檔案區塊,並且隨即在初始搜尋時間之後切換至第 一儲存110,而有效地從次要储存讀取。 主要儲存116亦可取代次要儲存uo儲存應用程式檔案 。應用程式檔案104係由Cpu ι75而從主要儲存116複 製,且隨後由主記憶體145執行。既然該主要儲存i丨6與次 要儲存110相比可進行較快的存取,應用程式檔案1〇4的整 II3322.doc •25 ‘ 體執行時間便縮短。 主要儲存116中之直接資料檔案 檔幸Α 士 电仔展置組件,例如以 示马主之則端系統115、直接 資料栌約… 計檔案介面107以及直接 柯案後螭系統108已然於上述豉 加以說明。 U待審專利申請案中 槽索導向器模組106會管理檔荦傳 次要蝕亡系傳輸在主要儲存116與 儲存m的進出,如同下文令 等移動檔案的操作可根據共同待審申該 集操作“ U 行#申請案中說明之垃圾收 加以執行,m料可複製成 於提升效率盥卷辦才景工作’或基 丌双羊與整體效能交錯成一前景工作。 檔案導向器106會事先存取至 105),1可田丨、,私士 緩衝器J05(或記憶體 )八了用以暫時储存於主機_ 傳輸的資料。 姚聚储存150間進行 主要儲存m包括一磁碟檔案系統ιΐ3 ==一:輯介面1UC而與-傳統磁碟崎= 於直接資料碟::案系統⑴與磁碟驅動_會將位 所運7處之資料檔案映射至-由磁碟_ 所運用以使棺案資料能夠在 傳輸的傳統邏輯位址㈣。4存116與次要儲存uo間 值侍注意的是磁碑梦安备从 以執行背等 ''田......13與磁碟驅動器Π2亦可用 从轨仃資景細作,例如對 組。 .存於磁碟】上之檔案的重 楷案導向m〇6會運用 定位一(其顯示於圓二:)加_ UP中),以識別定位一檔案 113322.doc • 26 - 資料的儲存(即,主要 要及或X要)。檔案定位器表可儲存於 快閃§己憶體116B中,&主 俨 表之全部或部分之複製亦可於記憶 體116D中進行快取。 圖20顯示大詈傲左么 (與圓2Κ中所顯示之系統相 八 "田案疋位器表1〇6Α會與檔案導向器1〇6 Ϊ資料^20亦顯不經由檔案介面1〇3而從主機_接收的標 案資料路徑(已識別為心广經由邏輯介面111C之LBA資 Γ吉1咖;以及㈣案導向器⑽與直接資料檔案介面 接檔案介面)1〇7間流動的控制資訊1〇3C。 圖2P顯示播牵^ ± '、位器表106Α的項目。檔案定位器表 106Α針對每一檔荦合句 TScw 一項目(於行1〇财),並儲存於 儲存系統⑽中。每—項目會紀錄具有儲存於該主要儲存 ⑴中之連續性檀案偏移位址的資料執行起始與結束位址 仃】〇6C),以及具有儲存於該次要儲存110中之連續性檔 案偏移位址的資料執行起始與結束位址(行刪)。該心 的有效資料可僅於-儲存或„於二儲存中存h ' 該標案定位器表106A在資料寫入—儲存、於儲存間進行 複製或從-儲存中刪除時便進行了更新。該播案定位写表 106A會僅識別其中定位了 Ί棕案内具有一特殊偏移位址 之資料的儲存。其不舍·g,丨甘 予八不會識別其中定位了該資料之儲存内的 實體定位。以上所述倍由球莖-户虫士 係由^ 4 —儲存内之-般檔案目錄盥 檔案索引結構所執行。 '、 大量儲存系統150有許多優點。例如,就本發明之-方 面而言,次要儲存U〇可位處於一可利用或不可利用的狀 Π 3322.doc •27- 1352901 態。一不可利用狀態可能的意思是該裝 用,々 农罝頁镀上係不可利 用或—記憶體控制器直到其變成可利用為止皆 該裝置。 个』存取 罟储存116總是會處於可利用的狀態,並因此可 隐體控制fill 6A進行存取。當該次要儲存11G處於可利用 的狀態時,㈣導向ϋ1()6便可㈣存取料主要儲存 與次要儲存110二者。
當標案介面通道103從該主機系統接收資料時,控制器 ιΐ6Α可將該資料寫入該主要儲存116或該次要健存no。若 資料首先係寫入主要儲存116,則其便會如一背景操作地 複製到該次要儲存11 〇中。 控制器116A會基於最佳化健存空間運用選擇適當的儲存 裝置,以使一主機能夠盡可能快速地完成該寫入操作。由 於,主要儲存116的搜尋時間比該次要儲存11〇短;故而,
先寫入該主要儲存116,然後再複製到該次要儲存110便會 較為有利。 就另一方面而言,虛擬快閃儲存15〇會提供快速的系統 開機與快速的應用啟動…主機系統在其之開機程序期間 所需要的資訊(例如操作系統與組態檔案),可以檔索為主 一件件地儲存於主要儲存i 16中。於此情形中,主要儲存 116會操作為一讀取快取,而其之快速隨機讀取存取特性 便使系統存取與啟動能夠快速許多。 用於該開機程序的資訊可加以識別並保護,遂使其不會 遭重寫。以上所述之初始資訊可從次要儲存11〇複製或儲 113322.doc • 28· Ϊ352901 存於主要儲存116中。應用軟體檔案(如104所顯示)可以相 同方式加以處理,而使得應用可快速地由該主機系統啟 用0
虛擬儲存150亦可操作為—低功率儲存裝置。一般而 言,次要儲存no會比以快閃記憶體為主的主要儲存ιΐ6消 耗較多的電源。主要記憶體健存116可在主要儲存ιΐ6中將 最新存取資訊之複製與最新寫入資訊之複製一起維持,而 用作為-讀取/快取裝置。以上所述將使虛擬檔案儲存i5〇 能夠藉由主要儲存116中的快取命中,而快速回應—主機 需求》控制H116A隨後便可使該次要儲存⑽運轉停止, 以降低電源的消耗。以上所述就可攜式應用(例如膝上型 電腦、筆記型電腦以及其他)而言尤其有利。
虛擬棺案儲存15G㈣為—耐衝擊料裝置4於一且 有高機械衝擊可能性的環境中使用該裝置.時,控:器116: ^可使次要儲存11Q運轉停止。控制器⑴场體可加以程 轉止使彳能產生此—環境時能使次要儲存HO運 發:力/讀取/寫入快取的主要儲存116會將-主機 發揮功此所必須的資訊提供給該主機系統。 次要儲存綱使資料同mm裝H^116與 旦將該裝置置放在-銜接台冑’次要儲存110方成:可: 二的。就另一方面而言,運動偵測電路可用以判斷該 是否已不再處於—有衝擊可能性之環境t。同時,統 可手動變更該等設定’使得次要儲存11〇於任何給定= 113322.doc -29· 1352901 裡可利用。於另一例子中,藉由將該系統插入一電源插 座,可發信號通知該控制器U6A啟動該次要儲存11〇。 虛擬快閃儲存150以及其之主要儲存116與次要儲存ιι〇 一起會提供一具有已然可存取之短期備份的可靠儲存裝 置。主要儲存116即使在該資訊已然傳輸至次要儲存丨1〇之 後,仍可作為-寫入快取並保留資訊。若盡可能長久地維 持該資訊,且僅在需要空間時進行重寫,則該寫入快取會 提供最新寫入資訊之-複製。以上所述在次要儲存ιι〇由 於一磁碟失效而當機與遺失資料的情況中,會提供一安全 措施β 主要儲存m在從次要料11G讀取的f料於主要儲存 116中複製與儲存時,可作為一 - # 了作為^取快取。複製資料係儲 存於快閃記憶體u6B中,並由檔案導向器1〇6所控制。值 得注意的是從次要储存110所讀取的資料可選擇性地加以 複製。以上所述可基於讀取資料利的頻率、特性(即, 3取播案的類型與大小)或任何其他標準。控制W 韌體可加以程式化,以配置 準的讀取快取。 置主要储存116作為-基於此標 /同稍早所述’主要儲存116亦可操作為一寫入快取。 當主機系統1 〇〇經由檔幸介而s 田茶"面通道103傳送資料時,#荦導 向器】06便可完整地或部分 田一 刀也將°亥貝枓儲存於快閃記憶體 、,中’且隨後在沒有使用到虛擬儲存15〇時 複製至次要儲存】】〇。於主要儲 , 孴合兩Μ · 中將進订複製的資料 決於該檔案之大小以及於一给 σ疋時間裡主要儲存 113322.doc -30· 1352901 116中可利用的自由空間量。以上所述會使 夠,速寫入,因為主要錯存116具有一較快的存取時間統月匕 就本發明之又另一方面而言,記憶體控制器…a合將從 该主機所接收之檔案分割成二或更多的段。其中—二 =於主要儲存m中,而另外的段則儲存於次要儲二。 °於主要料㈣存之段包括對該檔案足夠 訊^吏得該檔案在該主機對其有所需求時,能夠輕易地加 以疋位。當該主機需要讀取完整檔案時,其可快速地存取 健存於主要料116中的第—段,而第:段則得自 存11 0。 咭 圖2M說明上述概念。一樓案「F」係回應一寫入命令而 經由檀案介面1〇3,從該主機接收。記憶體控制器u6A初 始時會將完整檔案寫入主要儲存116中。在該主機寫入操 作完成之後,記憶體控制ϋ116Α會將該檀案資料分割成兩 部分,FmF2。值得注意的是記憶體控制器_可在接收 檔案時,即刻將該檔案分割成複數個段,而不用先等將該 資料複製到該主要儲存116。 人 F1係儲存於主要儲存116中’而F2則儲存至次要儲存 110。一般而言,該複製操作的執行,係如同一背景操 作。 ’、 段F1與F2的大小取決於分別用以存取次要儲存ιι〇與主 要儲存H6的搜尋時間、該檔案的完整大小以及檔案可傳 輸至s玄主機的速度。§己憶體控制器i丨6 A會將該檔案分割, 進而確認樓案至該主機的傳輸係有效,且對記憶體空間進 113322.doc -31 1352901 行最佳的運用。 當該主機需要讀取檔案F時,其首先會存取儲存於主要 儲存中的段。由於主要儲存】】6存取時間較快,故而 該主機可以較快的速度存取F1。在將F1傳輸至該主機的同 時,控制器116A會從所具搜尋時間較慢的次要儲存11〇獲 知奴F2。因此,當該F1傳輸完成時,便也已經獲得F2,並
準備進行傳輸。以上所述會提升從虛擬儲存150的整體讀 取操作效率。 β 檔案定位器106Α會追蹤檔案段與F2的儲存之處(圖2ρ 乂及圖2Ν中所顯不的部分表)。圖2Ν的部分表顯示一段的 上層位置(例如,儲存於主要儲存116中的段i(即,叫,以
:儲存於次要儲存11〇中的段2)。為了要傳輸檔案資料, 才备案導向器106會存取權案定位器1〇6A,以判斷一特 所定位之處。 X =本發明之又另—方面而I,快取檔案,而非快取邏輯 二位址會提供一超越先前技術系統的優點。於先 =媒體系、統中,該主機於該快閃裝置與該硬碟二者之間 ;有一邏輯介面。傳輸至/自該主機的資料係由邏輯位址 而該快取則是發生在邏輯位址上,而非一棺 :確方法能夠確認一播案係於正確時間定位於 、置中的元整邏輯位址範圍。 (次要儲存可"4要確認的是,—.exe檔案在該硬碟 样式梦“、 碟也移除(例如,於未停駐的可 " 時’係儲存於該快閃裝置中。於先前系統 113322.doc •32- 1352901 中’以上所述係由快取於快 址,且b接腺甘抽 农置τ这·exe私案之邏輯位 吉 將其鎖定於該快閃裝置中成。當邏輯位址 已事先從该磁碟存取時,便執行該快取。秋 證該邏輯位址代表6^ 部無法保 穿備係㈣日兮 1僅可作為該可攜式 :ΓΓ: 係可利用時所運用之應用内的功能。 取/ ㈣模式巾所㈣之功能根本*可能完成快
二量儲存系統15〇藉由快取完整的檔案,而非邏輯位址 範圍’,解決了上述缺m所述確認的是,於主要儲存 ⑴中進行快取的緣exe播案(如同上述範例中所討論)係 可供快速存取用。 、 處理流程: 就本發明之一方面,於主要儲存116中之檔案導向器106 會執行各㈣作’其係概述於τ文巾,且隨後詳細說明圖 3至6與8 Α/8Β至9所示之處理流程圖: 田開啟一新的檔案以供寫入時,其係於主要儲存Η 6内 开1啟大畺儲存系統150會表現得如同—供於此稽案内寫 入、更新並讀取資料的直接資料檔案裝置。 备開啟一現存擋案以供寫入時,其亦於主要儲存丨16内 開啟。若當前版本係常駐於次要儲存11 〇上,則其便會複 裝到主要儲存116 ^以上所述係如一背景操作般執行,然 而亦可藉由於主要儲存116中讀取或寫入其他資料而在低 負載循環中予以交錯。同樣地,大量儲存系統15〇會表現 知士同—供於此棺案内寫入、更新並讀取資料的直接資料 113322.doc •33- 檔案裝置》 當開啟—現存檔案以供讀取時’㈣案之最新版本係從 主要儲存116或次要儲存UG中的位置開啟。若該稽 二係讀取自次要儲存UG ’則其係複製到主要儲存ιΐ6。該 °案較佳地係在從次要健存i! Q讀取時同時進行複製,不 過其可如-獨立背景操作般地進行複製,或如一低負、載循 環拉作般地與在該主要儲存中對其他資料的讀取或寫入交 錯。 當關閉-㈣時’其可從主要儲存116複製到次要儲存 ⑽。以上所述正常地係以最近使用為基礎而完成,同時 並在主要儲存116中保留最大量的標案。此複製可如一佔 先背景操作般地執行,同時最活躍之當前播案版本直到刪 除該等檔案為止’會留在該主要儲存116中。 有些檔案可加以鎖定至該主要儲存116 ’且因此便總是 從該主要儲存116讀取。例如,與該操作系統有關的槽宰 與應用程式104便總是從主要儲存m讀取。於主要儲存 H6中有些檔案為了安全性考量,亦會複製到次要儲存㈣ 以作為一備份。 當一標案的活躍版本係指定至該次要儲存ιι〇時,該檔 案資料的初始區塊便可保留在主要儲存丨16中。 當讀取-當前版本位處該次要儲存nG中的檔案時,並 之第-資㈣塊可從該主要料116讀取,㈣次要料 U〇則對連續資料執行搜尋。以上所述會對儲存的檔案資 料提供較快的存取。 113322.doc •34· 1352901 當開啟一檔案以藉特定類型之卡上應用(104)進行讀取 時,便可抑制從次要儲存11〇將該檔案複製到該主要儲存 6以上所述會使一應用,例如一病毒檢查器能夠直接 於次要儲存110中的大量檔案上操作。 值得注意的是’當該主機介面呈非作用狀態時,檔案係 由直到該主機介面或進行複製的所有待處理㈣處接收到 一命令為止,連續傳輸資料單元而複製。
當該主機介面呈作用狀態時,㈣係藉由使從該主機介 面寫入資料單元或將f料單S讀取至該主機介面,以及複 裝於,緩衝裔(105 ’ ® 2K)與該非作用之儲存間的資料單 元而複製。將資料從該主要或該次要儲存之主機介面寫入 或讀取至該主要或該次要儲存之主機介面的操作,可與將 資料以該等二儲存大致上同時的操作方式複製到其他儲存 或從其他儲存複製加以交錯。 貧料皁元可為任意的合宜單 μ - 』句一巴牯5 12 位兀組的資料區段’其係可於次要儲存Η。中予以定址 的最小資料單元。亦可為—資料頁,其係於快閃記憶體 _中可加以程式化的最小資料單元…頁可包括卜 4、8或更多個區段。亦可為一 為m頁’其係於快閃記憔 體116B中可加以程式化的最大 〜 吖早兀。一兀頁可句括 1、2、4、8或更多個頁。亦可為— _ 一 ”’、匕一凡頁大的資料罩 兀。一儲存中寫入/讀取的資料單 中寫入/讀取的資料單元不同的大小。m其他儲存 轉而參考該處理流程圖之細節,圖3根據本發明之一方 113322.doc *35· 1352901 面,顯示供於主機系統100與虛擬儲存15〇間傳輸資料之可 執行處理步料完整處理流程圖。肖而參#圖3之細節, 該處理由步驟S300開始。於步驟33〇2中,控制器〖ΜΑ會判 斷是否已接收m人—檔案的命令。若為是則:處 理便會移動至圖4中所說明的步驟S3〇6。 若並無寫入命令存在,則於步驟53〇4中,控制器便 會判斷所接收的命令是否針對檔案讀取操作。^所接收係 -讀取命令’則該處理便會移動至下文中圖5所說明的步 驟 S308 〇 若於步驟S304並無接收一讀取命令,則於步驟s3i〇中, 控制器116A會判斷—檔案複製卫作紀錄是否包含任何項 目。若為是,則該處理便會移動至下文中06所說明之步 驟S312。若無任何項目存在’則該處理便會移回到步驟 S302 〇 檔案寫入處理流程: 圖4根據本發明之一方面’顯示將資料寫入虛擬儲存之 可執行處理步驟的處理流程圖。該㈣寫人處理會如同圖 3中所顯示般由步驟S306開始。 於步驟彻中,控制器驗會判斷一目標槽案是否已經 開啟。若該檔案並沒有開啟,則於步驟以们中,便會於主 要健存116中開啟該目標擋案。該槽案係運用該以^案為 主之介面而開啟。 於步驟S404中,讀取檔案定位器驗。該權案定位器 祕係用以對所儲存檔㈣位置是在該主要儲存ιΐ6或次 U3322.doc •36· 1352901 要儲存11 0中加以識別。
在步驟S406中,讀取該檔案位置資訊之後,控制器116Α 曰判斷4檔案的當前版本是否儲存於該次要儲存中。 若該檔案位於該次要儲存11〇中,則一項目便添加至一由 主要儲存116所維持的複製工作紀錄700(圖7中所顯示)。該 複製工作紀錄可储存於記憶體116;〇中,並包含對各種需執 订複製操作的列表。該複製工作紀錄針對每-需複製的檔 案會有一項目。其亦包括一對可能定位該權案之處,Ζ 主要儲存116或次要儲存11Q加以識別的項目。該複製工作 紀錄亦包括—項目,其會識別該目的地,即將該播案複製 之處,即主要儲存116、次要儲存11〇或緩衝器丨。 若該檔案之當前版本不是儲存於該次要儲存11〇中,則 該處理便會移動至步驟_。於步驟S4】〇中,該寫入命令 係傳送至該直接資料檔案後端系統1〇8。 於步驟S4i2中,樓案導向器412會判斷是否有空間可用 來寫入資料。由於資料係寫入的單一單元,故而一低臨界 值便用以判斷是否有空間可用來寫入資料。設定該臨界值 以定義一容量’其中僅少量的資料單元仍可寫入該主要儲 存H6,而在此時-從該主要儲存116至次要儲存ιι〇的槽 案複製操作便應開始在主要儲存116中農生較多的可用空 間。若無任何可用空間,則於步驟以14中,便會從主要儲 存116選擇一檔案,來進行複製。 若於步驟⑷2中有可用空間,則於步驟S416中,檔案導 向器H)6便會判斷是否有來自主機系統⑽的資料可用。若 113322.doc •37· 1352901 沒2主機資料可用,則該處理便會移動至步驟⑽。 .,若有資料可用,則於步驟州8中,檔案導向器1〇6便會 •判斷資料是否為主要儲存U6所必須。若為是,則資料單 元便傳輸至該主要儲存116。若資料#…疋則貝科早 ^ 0右貝科並非主要儲存11 ό所必 須,則該處理便會移動至步驟S422。 於步驟S422中,檔案導向器1〇6會判斷一用以複製一檔 案的項目是否存在於該複製工作紀錄7〇〇中。若為是,則 • 該檔案的一或多個資料單元便於步驟S424中進行複製。若 一=目不存在,則於步驟S426中,擋案導向器ι〇6便會判 斷是否有接收到另-命令。若無接收到任何其他命令,則 • 該處理便會回復至步驟S412。若有接收到另一命令,則於 步驟S428中,便會更新該檔案定位器以反映出檔案的當前 位置是在該主要儲存116或該次要儲存11〇中。此後,於步 驟S430中,該處理會回到步驟S3〇2。 圖8A顯示一處理流程圖,其中記憶體控制器U6A會分 • 割一輸入檔案,使得一段可儲存於主要儲存丨丨6中,而其 他段則儲存於次要儲存110中。轉而參考圖8的細節,於步 驟S 8 0 0中,記憶體控制器11 6 a會從該主機系統接收一寫入 命令。 於步驟S802中,記憶體控制器116A會於主要儲存116中 寫入一標案。在將該檔案寫入之後,記憶體控制器i丨6 A會 在步驟S804中判斷該棺案是否能夠(或應該)加以分割。若 不能夠/不應該分割該檔案,則該處理便會(在步驟S806)回 到步驟S800。 U3322.doc •38- VJ丄 若要將該檔案分却 , 1ir A Dj ’則於步驟S808中,記憶體控制器 116A便會決定屮# 〜等檔案段(F1與F2,圖2M),然後於步 驟S810中’將該(等 寻)墙案段複製到該次要儲存110 〇該複 氣操作如同下文中關 ^ L 關於圖6之說明,會如一背景操作般地 發生。 圖8B根據本發明 — 一方面’顯示處理檔案分段的又另一 >爪程圖。該處理會由 耳田步驟S812開始,然後於步驟S814中, 從主機系統100針對—於安γ τ槽案(「F」)接收一寫入命令。 於步驟S816中,(經由檔案導向器106)記憶體控制器 會判斷於主要儲存116中是否有空間存在(與圖4 ’步 驟412相同)。右於主要儲存ιΐ6中有空間可用,則於步驟 _中’便會將-寫人命令傳送至主要儲存Μ,以寫入 案奴(例如,F1,一檔案標頭)。於步驟S82〇中,檔案 =向器㈣會將—寫人命令傳送至次要儲存U0,以將檀案 &F2寫人。值得注意的是,步驟s8i^s㈣可在步驟川6 之後同時發生。 於步驟S8221檔案段F1之至少—f料單元係傳送至主 要儲存116。值得注意的是,於步驟_中該寫人命令係 在步驟助中寫人任何資料單元之前進行傳送。以上所述 使次要儲存m能夠在將-資料單元寫入主要健存ιΐ6的同 時,歷經其之搜尋時間。此會加速整個寫入處理。 於步驟S824中,段F2的資料係傳送至次要健存ιι〇,然 後該處理會結束於步驟S830。 若在步驟S816中’於主要儲存116令沒有空間可用,則 113322.doc -39· 1352901 於步驟S826中…寫人命令係傳送至次要儲存ιι〇, 於步驟S828中,該檔案資料係傳送至次要儲存"〇。 檔案讀取處理:
圖5根據本發明之—方面,顯示-檔案讀取處理的處理 流程圖。該檔案讀取處理會從圖3之步驟請8開始。於步 驟咖中’檔案導向器1〇6會讀取該擋案定位器1〇6八。^ 於步_2中’該檔案導向器1〇6會判斷該檔案是否存 在於主要儲存116中。若為是,則於步驟S504中,該讀取 命令便會傳送至該主要儲存11〇β若該檔案並非位在主要 儲存110中,則於步驟S512中,紀錄該當前播案以從該次 要儲存11()進行複製’然後於步驟s5i4中,該讀取命令係 傳送至次要儲存110,且該處理會移動至步驟^%。
於步驟S506中,播案導向器1〇6會判斷來自該所選儲存 (即,主要儲存116或次要儲存11〇)是否有資料可用。若為 是,則於步驟S508中,便會從該所選儲存傳送出資料。若 沒有資料可用,則該處理便會移動至步驟S5 16,其中檔案 導向器106會判斷是否# 一樓案複冑工作紀錄項目存在。 若有一項目存在,則於步驟8518中,便會複製該檔案的一 或夕個資料單元。若該項目不存在,則於步驟S510中,檔 案導向器106便會判斷是否有接收到另一命令。若沒有接 收到另一命令,則該處理便會回復到步驟S5〇6,否則的 話,該處理便會在步驟S520時移動至步驟S3〇2(圖3)。 圖9根據本發明之一方面,如同上文中圖8八與犯所說明 般,顯示讀取一儲存為二(或更多段)之檔案的處理流程 113322.doc 1352901 節’該處理由步騾S900開始,然後 該主機系統1 〇〇接收針對一檔案 「於步驟S904中,檔案導向器1G6會判斷所需之樓案 (「F」)是否遭到分!•卜若該㈣i未遭到分害】,則於步 驟S914中,便會基於該檔案所儲存之處將針對該槽案之 讀取命令傳送至主㈣存⑽次要儲存11G。於步驟·
曰從主要儲存116或次要儲存11〇接收該檔案資料,然 後該處理便結束》 ..... 若該檔案遭到分割’則於步驟S9〇6中,檔案導向器應 便會針對段F1將-讀取命令傳送至主要館存ιΐ6的記憶體 控制器116A。於步驟89〇8中,檔案導向器1〇6亦會針對段 F2將一讀取命令傳送至次要儲存。
圖。轉而參考圖9之細 於步驟S902中,會從 (「Fj )的讀取命令。 於步驟S910中,會從主要儲存116接收段F1的資料。值 得注意的是’ I資料係從主要儲存116接收的同時,次要 儲存110仍會持續完成其之搜尋時間,以傳遞段F2的資 料。以上所述會提升該讀取處理的整體效率。 於步驟S912中,會從次要儲存11〇接收段F2的資料,然 後該處理便結束。 檔案複製操作: 圖6根據本發明之一方面,顯示一複製檔案的流程圖。 該流程圖係欲執行圖3之處理步驟S3〗2。 轉而參考圖6之細節,於步驟36〇〇中,檔案導向器1〇6會 判斷該主機介面是否呈非作用狀態,即是否會有一來自主 113322.doc 1352901 機100的作用命令,以傳輸資料。若有一作用命令,則該 處理會移動至下文中所說明的步驟S622。 若該主機介面呈非作用狀態,則於步驟S602 t,檔案導 向器H)6便會判斷是否來自主要儲存116的檔案複^作係 有待處理,即一複製.操作是否正在進行,或正準備要發 生。若一檔案複製操作係有待處理,則於步驟S6〇4中,便 會將一檔案資料的至少-單元從主要儲存116複製到次要 • 儲存110,然後該處理便移動至下文中所說明的步驟 S606 〇 若-播案複製操作於步㈣G2中並非有待處理則於步 • 驟如2中’檔案導向器⑽便會判斷有待處理的棺案複.製 -操作是否來自次要儲存UG。若該操作係有待處理,則於 步驟S614中,至少一眘祖留;ι_ y貢枓早70便從次要儲存110傳輸至主 要儲存116,然後該處理便移動至步驟S6〇6。 若來自次要儲存110的檔案複製操作並非有待處理,則 於步驟S616中,檐幸 搭茶導向益106便會判斷有待處理的檔案 複製操作是否來自緩衝器⑽。若有待處理的檔案複製操 作係來自緩衝器1〇5,則於步驟S618中,至少一資料單元 係從緩衝器1 05傳輸至主i #六,,< & 埒彻至主要儲存116或次要儲存110,然後 該處理便移動至步驟S6〇6。若一 右私案複製刼作並非有待處 理,則於步驟S62〇中,該處理便會回復至步驟咖2。 於步驟S606中,於宏 、… 檔案導向益106會判斷是否有接收到另 一複製命令。若並未接收 力°p 7,則該處理便會回復 到步驟S602。若有接收到一命 p 7貝丨於步驟S608中,便會 113322.doc •42. 1352901 更新該檔案定位器106A,以反映出檔案的當前位置,然後 該處理便會(在步驟S610時)回到步驟S302。 轉而參考步騾S622之細節,該檔案導向器1〇6會判斷主 要儲存116疋否呈作用狀態。若為是,則於步雜$ 624中, 檔案導向器106便會判斷有待處理的檔案複製操作是否在 緩衝器105與次要儲存11G之間n案操作係有待處 理,則於步驟S626中,至少一資料單元便會在緩衝器ι〇5 與次要儲存11〇之間傳輸。若於步驟8624中一檔案操作並 非有待處理,則於步驟S634中,該處理便會回到步驟 S302。 若主要儲存116於步驟S622中並非呈作用狀態,則於步 驟S628中,檔案導向器1Q6便會判斷次要儲存ug是否呈作 用狀態。㈣次要儲存11G並非呈作用狀態,則於步驟 S634中’該處理便會回到步驟S3〇2。 若該次要儲存110呈作用狀態’則於步驟S63〇中,檔案 導向器_便會判斷有待處理的檔案複製操作是否衡 器1〇5與主要儲存116之間。若該標案操作係有待處理.,則 於步驟⑽中,至少一資料單元便會在緩衝器105與主要 儲存116之間傳輸。 若-檔案複製操作於步驟S63〇中並非有待處 理便會移動至步驟S63〇 爽 上述槽案複製操作在主機刚呈非作用狀態 資料單元。該操作係以背景方式執行,並 傳輸- 至虛擬儲存150的寫入操作交錯。交錯的比率(即,從主: J13322.doc -43· ⑽寫入的寫入資料量比所複製的資料量)可能因所複製之 資料單元大小的不同而有所不同。會對f料單㈣大小加 以選擇以使效能最佳化。 列表操作: 圖2L顯示表i,其提供一關於播案導向器1〇6之資料傳輪 操作的列表。 操作201係從主機100至主要储存116的較佳播案寫入操 作。操作202係從主機100至次要儲存11〇的寫入操作。若 在主要儲存116中沒有足夠的空間可用便可運用此操作。 當該檔案的當前版本常駐於主要儲存116中時,操作2〇3 便為從主要儲存U6至主機刚的棺案讀取操作。操作2〇4 係用以從次要儲存110讀取檔案資料。 刼作205係一檔案複製操作。於此操作期間,檔案資料 係從主要儲存Π6複製到次要儲存11〇。當主機介面'ι〇3呈 非作用狀態時,會較佳地執行操作205。 操作206亦係一檔案複製操作。於此操作期間,檔案資 料係從次要儲存110複製到主要儲存116。當介面呈非 作用狀態時,會較佳地執行操作2 〇 6。 操作207至210係運用緩衝器1〇5而執行,並可藉由將資 料從主機1〇〇傳輸至次要儲存110或從次要儲存11〇傳輸至 主機1〇〇及/或從主機1〇〇傳輸至主要儲存116或從主要儲存 Π6傳輸至主機1〇〇而可同時發生。操作2〇7係一檔案複製 操作,其中檔案資料係從快閃記憶體116B複製到緩衝器 1〇5。操作208係-;f當案複製操作,其中㈣資料係從缓衝 113322.doc • 44 器i05複製到主要儲存】】6。 案資料從次要儲存u〇複製到 則為了將檔索資料從緩衝器 操作209之執行係為了將槽 緩衝器105。操作210之執行 105複製到次要儲存110。 存季统二且;言,虛擬錯存150會提供-大量儲 磁磾:以:直接資料檔案快閃記憶體系統與-傳統 J二Γ會對一主機系統提供對-直接資料檔案系 1儲存裝置,乃至於—傳統磁碟的存取。 儘B已參考特定具體實施例來說明本發明此等且 體:施例僅用於說明而非限制。參考本揭示與以下申請專 利乾圍’即可明瞭本發明的許多其他應用與具體實施 【圖式簡單說明】 現在將參考較佳具體實施f列的圖g來說明本發明的上述 特徵及其他特徵1式中’㈣的組件具有相同的參考編 碼。所不具體實施例旨在說明,而非用來限制本發明。圖 式包括以下附圖·· 圖1A顯示一運用快閃裝置之主機系統的方塊圖; 圖1B顯示圖ία之主機系統架構; 圖2 A根據本發明-方面,_示__虛擬儲存的方塊圖; 圖2B運用根據本發明之—方面,顯示_快閃裝置之記憶 體控制器的方塊圖; 圖2C顯不一快閃記憶體系統之實體記憶體組織範例; 圖2D顯不圖2C之實體記憶體一部分的展開圖; 圖2E顯不圖2C與2D之實體記憶體一部分的進一步展開 113322.doc •45- 1352901 固 · 園, 圖2躍示-介於主機與可重新程式化記憶體系統之間的 傳統邏輯位址介面; 圖2G根據本發明之-方面,顯示—介於主機與可重新程 式化記憶體系統之間的直接資料檔案儲存介面; 圖2H以與圖2F不同之方式顧+ 人如V +丨山a 力式顯不一介於主機與可重新程 式化記憶體系統之間的傳統邏輯位址介面; 圖21根據本發明之一方面’以與圖2(}不同之方式顯示一 介於主機與可重新程式化記憶體系統之間的直接資料棺案 儲存介面; W ~ 圖2 J顯示一記憶體系統範例的功能層級; 圖2K顯示根據本發明一方 * M .. . ^ ^万面之一虛擬儲存的詳細方塊 圖; 圖2L根攄本發明之一方面,顯示一列舉著各種運用圖 2K虛擬儲存而執行之操作的表; 圖2 Μ根據本發明之—士工 货乃之方面,顯示一分割檔案範例; 圖2 Ν根據本發明之_卡& 例. "之方面’顯示-用以分割檔案的表範 圖20根據本發明之一古; ( 方面,顯示一具有檔案定位器故虚 檔案導向器模組介接之役户洛, 器並與 ;丨按之儲存系統的又另一方塊圖; 圖2P根據本發明之_ 俨安’ 圖; $面,顯不-檔案定位器表的方塊 圖3根據本發明之_卡 月之方面,顯示運用該虛擬儲存的士替 處理流程圖; 的兀整 113322.doc -46- 1352901 圖4根據本發明之一方面, 入處理的流程圖; 顯示運用肖虛擬儲存 該寫 圖5根據本發明之一方面 取處理的流程圖; 圖6根據本發明之一方面 製處理的流程圖; 顯示運用該虛擬儲存,該讀 顯示運用該虛擬儲存 該複
藉由該虛擬儲存而維 顯示寫入檔案段的處 圖7根據本發明之一方面,顯示— 持的複製工作紀錄; 圖8A與8B根據本發明之一方面, 理流程圖;以及 圖9根據本發明之一方面 程圖。 顯示一讀取經分割檔 案的流 【主要元件符號說明】 100 一般用途電腦系統(主機系 101 主機應用程式 102 主機標案驅動器 103 檔案介面通道 103A 檔案資料路徑 103B LBA資料路徑 103C 控制資訊 104 應用程式檔案 105 緩衝器(或記憶體) 106 檔案導向器模組 106A 檔案定位器表
II3322.doc •47- 1352901 106B 行 106C 行 106D 行 107 直接資料檔案介面(或直接檔案介面) 直接資料檔案儲存後端系統(或直接檔案 108 儲存後端系統) 110 次要儲存/磁碟
111A 磁碟控制器 111B 記憶體儲存 111C 邏輯介面 112 磁碟驅動器 113 磁碟檔案系統 115 以樓案為主之前端系統 116 主要儲存/快閃裝置
控制器模組/記憶體系統控制器/記憶體控 116A 制器 116B 固態記憶體模組/快閃記憶體 116C 微控制器 116D 記憶體 116E 介面邏輯 116F 快閃介面 116G 主機介面 120 監視器 125 印表機 113322.doc -48· 1352901
130 組件 131 記憶體單元之平面或子陣列 132 記憶體單元之平面或子陣列 133 記憶體單元之平面或子陣列 134 記憶體單元之平面或子陣列 135 輸出 137 區塊 138 區塊 139 區塊 140A 區塊 141 元區塊 143 第二元區塊 145 主記憶體/RAM 146 區塊 147 區塊 148 區塊 150 大量儲存系統/虛擬快閃儲存 151 元頁 153 區段 155 區段/系統匯流排 157 資料部分 159 管理部分 160 電腦 161 連續邏輯位址空間 113322.doc -49- 1352901 163 控制器之邏輯至實體位址表 165 鍵盤/記憶體陣列 167 元區塊 169 元區塊 170 滑鼠 171 元區塊 173 記憶體控制器功能 175 中央處理單元(「CPU」)(或微處理器) 700 複製工作紀錄
113322.doc -50·

Claims (1)

  1. 2901 月)弊7曰修正本 弟095128234號專利申請案 中文申請專利範圍替換本(1〇〇年4 十'申請專利範圍: 一種資料儲存系統,其包括: -第-非揮發性大量儲存裝置,其會運用—以樓案為 主的協定,經由一介面而與一主機系統介接;以及 -第二非揮發性大量儲存裝置;其中該第二非揮發性 大量儲存裝置經由-邏輯介面而與該第—非揮發性大量 儲存裝置介接,且來自該主機系統的資料可健存於該第 -非揮發性大量儲存裝置及/或該第二非揮發性大量儲存 如請求項1之資料儲在έ u μ 、丁叶储存系統,其中該第一非揮發 儲存裝置包括一磁磾妗垒金从 里 外 碟檔案系統,以將資料檔案映射至該 第二非揮發性大晋 ^ 啫存裝置的一邏輯位址空間,直 許資料於該第一非揮發性 八 性大置與該第二非揮發 性大頁儲存裝置之間傳輸。 3. 4. 5. 6. 如請求们之資料館存系統,其中該第—非揮發性大旦 儲存裝置係一固態記情體 里 隐體其彳呆作為—主要儲存裝置。 =項1之資料儲存系統…該第二非揮發性大量 係-魏硬碟,其操作為—次要儲存裝置。 r们之貝料錯存系統其中於 量儲存裝置之一八I 弟非揮發性大 直接次4』 會與一直接資料檔案介面介接,該 體存取資料。 檔案為主-件件地從-快閃記憶 如。“項5之資料儲存系統 案為主的格式,將〜〃 I"面會運用-以檔 、貝料A該快閃記憶體傳輸至該主機系 113322-I000407.doc 統。 7’如請求項5之資料儲存系、統’其中該介面會與該直接資 料檔案介面介接,以將資料傳輸至該第二非揮發性大= 儲存裝置與從該第二非揮發性大量儲存裝置傳輸資料, 其中該直接資料檔案介面會與一磁碟檔案系統與一磁碟 驅動器介接’以經由-邏輯介面,從該第二非揮發性大 置儲存裝置傳送及/或接收資料。 8·如凊求項1之資料儲存系統,其中該第一非揮發性大量 儲存裝置具有與該第二非揮發性大量儲存裝置之存取^ =與儲存容量相比-較快的存取時間與較小的儲存容 里,且若該第二非揮發性大量儲存裝置係處於—非可利 用狀態’則資料可從該第—非揮發性大量儲存襄置進行 存取’或當該第二非揮發性大量儲存裝置係處於—可利 用狀態時,資料便可從該第一非揮發性大量儲存裝置與 9該第二非揮發性大量儲存裝置二者進行存取。.'、 9·如請求们之資料儲存系統,其中該第一非揮發性大量 儲存裝置係用以儲存從該主㈣統接收之—檔案的一第 & ’而該第:非揮發性大量儲存裝置制以儲存從該 主機系統接收之該檔案的一第二段。 ΟΙ:未項1之資料儲存系統,其中該第-非揮發性大量 :裝置會操作為供從該第二非揮發性大量儲存裝置讀 取貢料的一快取。 u.如請求項1之資料儲存系統,其中該第一非揮發性大量 绪存裝置會操料針對寫人於該第二非揮發性大量儲存 113322-l〇〇〇4〇7d〇c 裝置中之資料的—寫入快取。 12.如請求項1之資料儲存系 記憶體控制器會判斷從”機;=科儲存系統之-儲存於何處。 “ 所接收之檔案資料應 13·如請求項1之資料儲在 儲存hue 巾㈣―料發性大量 置中\ 針對寫人於該第二非揮發性大量儲存裝 中之資料的一暫時備份。 、 資料_統,其中該第一非揮發 儲存裝置會儲存可執行庫 里 揮發性大日針壯 其係從該第-非 15如4 轉裝置所複製’並由該主機系統所執行。 i5·如清求項1之資掘4 發性大m 其中賴係於該第-非揮 進行複製,以在非作用„裡作為1景操作F置之間 H:15之資料儲存系統,其中-緩衝器係用以於該 =非揮發性大量儲存裝置與該第二非揮發性大量儲存 裝置之間傳輸資料。 17. -種資料儲存系統,其包括: 一第^揮發性大量儲存裝置,其會經由—以擋案為 曰之協疋而與一主機系統介接;其中該第一非揮發性大 2儲存裝置包括經由—邏輯介面而與一第二非揮發性大 裝置介接的一磁碟驅動器’而來自該主機系統之 二”貝料可儲存於該等第一非揮發性大量儲存裝置及/或 第二非揮發性大量儲存裝置中。 ’ 18·如請求項17之資料儲存系統,其中該第-非揮發性大量 113322-1000407.doc 1352901 館存裝置包括一磁碟 第二非揮發性大量财㈣、.…以將資料槽案映射至該 許資科於嗲第 f的―邏輯位址空間,其會允 性大量儲:裝置揮發性大量儲存裝置與該第二非揮發 里儲存裝置之間傳輸。 〗9.如請求項17之資料儲存系統 健存裝置係一固態 ;、中該第-非揮發性大量 20. 如請求項17之次4!" 、呆作為—主要儲存裝置。 月+項1 7之資料儲存糸 儲存裝置传 ' 、該第二非揮發性大量 21. 如請求項17 #作4-次要儲存裝置。 嘀1 /之貪枓儲存系統,其一 儲存裝置具有與該第二性u非揮發性大量 間與儲存容量相比-較快的存取時置之存取時 量,且若該第二非揮發性 、/、乂小的儲存容 =態’❹料可從該第-非揮發性大量儲存裝置進_ 存取,或當該第二非揮發性大旦 仃 用狀癌時,便來自該第一非揮發性大:列 二非揮發性大量儲存裝置二者。 、…亥第 22:=7之資料儲存系統,其中該第-非揮發性大量 儲存裝置制精存從該主㈣統接彳H 一段,而該第二非揮發性大量儲存田一 主機系統接收之該標案的—第二^置則用以儲存從該 23. 如請求項17之資料儲存系統,其中該第—非揮發 儲存裝置會操作為供從該第二非揮 大里 取資料的—。 揮發&大謂存裏置讀 24. 如請求項17之資料儲存系統,其中該第-非揮發性大量 113322-1000407.doc -4 - 1352901 儲存裝置會操作為 裝置中之資料的—寫入快取二非揮發性大量儲存 25·2ΐ項17之資料儲存系統,其中該第—非揮發性大量 子裝置會作為針對寫入 置中之資料的-暫時備份。、非揮發性大量儲存裝 26.如請求項17之資料儲存系統, 儲存裝置會儲存可執行應用程式檔案,其=大: 揮發性大量儲存裝置所複製,並由#其=該第一非 27·如請求項17之資轉… 機系統所執行。 發性大量儲存Μ f料係於該第—非揮 ㈣存裝置與該第二非揮發性 製’以在非作用期間裡作為-背景操作其; 非裡1可用Γ於該第—非揮發性大量儲存裝置與該第二 名性大I儲存裝置之間傳輸資料。 / 28. -種將由-主機系統傳送之資料寫 方法,其中咳大吾紗六/ 里儲存糸統的 存裝置與一第-非揮H统包括一第一非揮發性大量儲 ^ 、第一非揮發性大量儲存裝置,其包括: 資内之獨特檔案識別符與偏移識別個別 貝㈣案,其中該主機系統會產生該等獨特 =等偏移,並將該等棺案識別符與偏移量 儲存系統;以及 穴里 若於該第一非揮發性大量儲存裝置中有空間可利用 則將該資料儲存於該第一非揮發性大量 :’ 若於該第一非揮發性大量儲存裝置 、置中,而 ^#ίΊ« ^ ,又有儲存空間可供 棺案則,㈣—複製操作納人排財,以經由—邏 113322-1000407.doc 1352901 輯介面而從該第—非揮發性大量儲存 該第二非揮發性大量儲存裝置。 將貧料傳輸至 A如請求項28之方法,其中該大 否應儲存於該第一非揮 …,、先會判斷資料是 揮發性大量儲存裝置。 里儲存裝置及/或該第二非 。如?項29之方法’其中由該主機系統所傳送 係經分割’使得一第一段係儲存揮:备案 儲存裝置中,而—第二段則儲存於該第^發性大量 儲存裝置中。 一非揮發性大量 伟1 : 28之方法其中該第-非揮發性大量健存F置 係-固'4記憶體,其操作為4㈣存 轉裝置 32.:凊求項28之方法,其中該第二非揮發 係-磁性硬碟,其操作為一次要儲存裝i謂存裝置 33·:種用以從一大量錯存系統讀取資料的方法 ^ 量儲存系統包括—第-非揮發性大量館存裝置愈第亥大 非揮發性大量儲存裝置,其包括: $置與-弟二 ^卜檔案接收個別獨㈣案識料與偏移, 主機系統會產生該等獨特檔案識別符與偏移將 檔案識別符與偏移傳送至該,將該專 量儲存系統讀取資料; 4存糸統,以供從該大 判:該檔案是否位於該第—非揮發性大量 令’或位於該第二非揮發性大量储存裝置中心 若該標案係位於該第一非揮發性大量儲存裝置中,則 竭一非揮發性大量儲存裝置存取資料,且若該檔案 113322-1000407.doc -6 - 1352901 係位於該第二非揮發性 沾入 > 八里储存裝置中時,則經由一邏 輯”面存取該第二非揮發性大量儲存裝置。 34.如請求項33之方法,盆 八中右該所需檔案之一苐一段係儲 =Γ非揮發性大㈣存裝置中,且-第二段係儲 : = = Γ性大量_置中,則該第-段係傳 旦啟户姑φ 亥第一長係從該第二非揮發性大 里储存裝置進行存取。 35. 如請求項33之方法,i 八^第—非揮發性大量儲存裝置 係-固態記憶體,其操作為一主要錯存裝置。 36. 如請求項33之方, '、〇第二非揮發性大量儲存裝置 係-磁性硬碟,其操作為一次要儲存裝置。 37:將二主機系統傳送之資料寫八—大量儲存系統的 其中該大量儲存系統包括—第—非揮發 存裝置與—第二非揮發性大量錯存裝置,其包括··里 由該等個別檔案内之獨特檔案識偏 : 資料檔案,其中該主機系統會產生”獨=別個別 *該等U 錢特槽案識別符 儲存系統; 付”偏移傳达至該大量 則非揮發性大量儲存裝置中有空間可利用, 編槽案資料寫入該第一非揮發性大量儲 判斷是否應分割該檔案資料;以及 " 量輯介面將1案段複製到該第二非揮發性大 Μ.如^項37之方法,其中該第—非揮發性大量儲存裝置 113322-1000407.doc 係一固態記憶體,其操作 '如請求〜法,其中該第二=置。 係一磁性硬碟,其操作為 大量儲存裝置 4〇. 一種將i 人要儲存裝置。 -主機系統傳送之資科寫入—大 ’其中該大量儲存系統包括:子系統的 存裝置與一第第—非揮發性大量儲 從—第-非揮發性大量儲存裝置,其包括 主機系統接收一寫入命令; . 右於該第-非揮發性A量儲存裝置 則將1人命令傳送至該 q可利用’ 以寫八-第—槽案段; 揮發性大量储存裝置, 經由—邏輯介面將-寫入命令 大量儲存裝置,以寫入-第二樓案段;㈣―非揮發性 經由-邏輯介面將該第一檔 性大量儲存π, 仔於。玄苐一非揮發 目【介 中’同時該第二非揮發性大量儲存裝罢 則亦正備妥以儲存該第二標案段;以及里储存裝置 中將—第二權案段儲存於該第二非揮發性大量儲存裝置 2 = 4〇之方法’其中該第—非揮發性大量儲存裝置 記憶體’其操作為—主要储存裝置。 传月=4()之方法’其中該第二非揮發性大量錯存裝置 係4性硬碟,其操作為—次要儲存裝置。 43. ^求項4〇之方法,其令若於該第一非揮發性大量儲存 、置中沒有工間可利用則檀案資料便儲存於該第二非 揮發性大量儲存裝置中。 113322-1000407.doc • 8 - 44.1352901 一種供於一主機系統與一 統’其包括: 資料儲存系統間傳輸資料的 系 J介面,其運用一以檔案為主之協定,以於該資料儲 存糸統與該主㈣統間傳輸資料,其中該資料儲存系統 土括-第一非揮發性大量儲存裝置與一第二非揮發性大 量儲存裝置;且該第一非揮發性大量儲存裝置會將資料 儲存成-第-格式,而該第二非揮發性大量儲存裝置會
    將=料儲存成—第二格式,且其中存取該第二非揮發性 大量儲存裝置係經由一邏輯介面。 45. 如明求項44之系統,其巾該第—非揮發性大量儲存裝置 包括-磁碟檔案系統,以將資料檔案映射至該第二非揮 發性大量儲存裝置的-邏輯位址空間,其會允許資料於 。玄第#揮發性大量儲存裝置與該第二非揮發性大量儲 存裝置之間傳輸。 46. 如”月求項44之系統,其中該第一非揮發性大量儲存裝置
    係一固態記憶體,其操作為一主要儲存裝置。 又 47. 如請求項44之系統,其中該第二非揮發性大量儲存裝置 係磁丨生硬碟,其操作為—次要儲存裝置。 48.如請求項44之系統,其中該第—非揮發性大量儲存裝置 =與該第二非揮發性大量儲存裝置之存取時間與儲存 容量相比-較快的存取時間與較小的儲存容量,且若該 第二非揮發性大量倚存裝置係處於—非可利用狀態,: 資料可從該第-非揮發性大量储存裝置進行存取,或當 該第二非揮發性大量儲存裝置係處於一可利用狀態時: 113322-1000407.doc 1352901 資料便可從該第一非揮發性大量儲存裝置與該第二非揮 發性大量儲存裝置二者進行存取。 如°月求項44之系統’其中該第—非揮發性大量儲存裝置 係用以儲存從該主機系統接收之—檔案的—第—段,、而 非揮發性大量储存裝置則用以儲存從該主機系統 接收之該檔案的一第二段。 见如請求項44之系統,其中該第一非揮發性大量儲存裝置 會插作為供從該第:非揮發性大量儲存裝置讀取資 一快取。 、叮π 51·如請求項44之系統,其中 一 合 开佯f注大里儲存裝置 曰-為針對寫入於該第二非揮發性大量儲存裝 資料的一寫入快取。 〒之 52. 如吻求項44之系統,其中該資料儲存系統之 制器會判斷你^&隱、體控 處。丨斷攸遠主機糸統所接收之檔案資料應儲存於何 53. 如請求項44之系統,其中該第一非揮 =為針對寫入於該第二非揮發性大㈣存二 枓的一暫時備份。 54·如請求項44之系苴 舍計 八中°亥第非揮發性大量儲存裝置 會儲存可執行應用程式檔荦,里係 < 1 量儲存Μ 非揮發性大 裝置所複1,並由該主機系統所執行。 55.如吻求項44之系統其中資料係於該 儲在租® Α 不非輝發性大量 广”該第二非揮發性大量儲存裝置之間進行複 以在非作用期間裡作為一背景操作。 113322-1000407.doc 56.如請求項Μ少么μ 發性大量财Γ 衝器係用以於該第-非揮 傳輸資料/、置與6“-非揮發性大量儲存裝置之間 57 /、於主機系統與一資料儲在备w Β * 統,其包括: 胃㈣存糸統間傳輸資料的系 介面,其運用一以檔案為主之協 存系统與气主捲备试叫屈认 之協疋,以於該資料儲 包括1-大量儲存裝置與一[大::二枓儲存系統 該第一弟—大置儲存裝置;J:中 第大1儲存裝置係一固態非捏八中 該第二大旦針# ,'非揮發性記憶體裝置,而 讀存裝置係-_態㈣m 取該第二_發性大量儲存裝 /'中存 Μ.如請求項57 由邏輯介面。 唄7之糸統,其中該第—大量 記憶體裝置,1+ 省存裝置係一快閃 教置,其#作為一主要儲存裝置。 59.如印求項57之系統,其中該第二大 驅動考,# 4。& Λ 1子哀置係一磁碟 ° "細作為一次要儲存裝置。 6〇·如請求項57之系 為主—件件地將資料儲存儲存裝置會以樓案 61. 如請求項57之系統,其中該 由一邏輯介面所接收的資料。—S儲存裝置會儲存經 62. Π:項57之系統,其中該第-大量錯存裝…第— 置儲存裝置會運用不同格式來錯存資料。… 63.如請求項57之系統,其中該第 ,θ Λ. 八里輝存裝置愈兮筮- I储存裝置會運用相同格式來儲存資料。—一 如請求項57之系統,其t 穴里儲存裝置包括一磁 113322-J000407.d〇( -11 - 碟檔案系統’以將資料檔案映射至該第二 的-邏輯位址空間,其會允許資料於該第一大量儲2 置與該第二大量儲存裝置之間傳輸。 65.如明求項57之系 一 T这第大里儲存裝置具有與該 第-大㈣存裝置之存取㈣與儲存容量相比 存取時間與較小的儲存 、的 伤考认 五右該第一大量儲存裝置 係處於-非可利用狀態,則資料可從該第—大量 置進行存取,或當該第二Α量儲存裝置係處於_可利用 狀態時,資料便可從該第一大量儲存裝置與該 旦 儲存裝置二者進行存取。 里 6^請求項57之系統,其中該第一大量儲存裝置係用以儲 :從該主機系統接收之一檔案的一第一段,而該第二大 讀存裝置㈣以儲存從該主機系統接收之該檔案的— 第二段。 ' 67·如請求項57之系統’其中該第一大量儲存裝置會操作為 供從该第二大量儲存裝置讀取資料的一快取。 68.如請求項57之系統,其中該第—大量儲存裝置會操作為 針對寫入於該第二大量儲存裝置中之資料的一寫入快 取。 69.如請求項57之系統,其中該資料儲存系統之一記憶體控 制器會判斷從該主機系統所接收之檔案資料應儲存於何 處。 7〇.如請求項57之系統,其中該第一大量儲存裝置會作為針 對寫入於該第二大量儲存裝置中之資料的一暫時備份。 3322-l〇〇〇4〇7.d〇c -12- w·如請求項57之系統, 執行應用程式標宰,'复該第一大量儲存裝置會儲存可 製,並由該主機系Μ執係從該第一大量儲存裝置所複 72. 如請求項57之系統,发仃 與該第二大量儲存裝置2=第一大量儲存裝置 裡作為-背景操作。間切複製’以在非作用期間 73. 如明求項72之系統,其中—緩衝器係用以於該第旦 儲存裝置與該第二大量儲存裝置之間傳輸資料。里
    113322-1000407.doc
TW095128234A 2005-08-03 2006-08-02 Mass data storage system TWI352901B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/196,826 US9104315B2 (en) 2005-02-04 2005-08-03 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

Publications (2)

Publication Number Publication Date
TW200723000A TW200723000A (en) 2007-06-16
TWI352901B true TWI352901B (en) 2011-11-21

Family

ID=37307174

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095128234A TWI352901B (en) 2005-08-03 2006-08-02 Mass data storage system

Country Status (7)

Country Link
US (3) US9104315B2 (zh)
EP (1) EP1920317B1 (zh)
JP (1) JP5236469B2 (zh)
KR (1) KR101449543B1 (zh)
CN (1) CN101238431A (zh)
TW (1) TWI352901B (zh)
WO (1) WO2007019076A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209516B2 (en) 2005-12-21 2012-06-26 Sandisk Technologies Inc. Method and system for dual mode access for storage devices
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
TWI634426B (zh) * 2016-03-21 2018-09-01 蘋果公司 管理邏輯至實體轉譯資訊的備份以控制開機時間以及寫入放大
TWI780521B (zh) * 2020-11-24 2022-10-11 大陸商合肥沛睿微電子股份有限公司 電子裝置及空間複用方法

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US20070106842A1 (en) * 2005-11-04 2007-05-10 Conley Kevin M Enhanced first level storage caching methods using nonvolatile memory
US7634585B2 (en) * 2005-11-04 2009-12-15 Sandisk Corporation In-line cache using nonvolatile memory between host and disk device
SG135082A1 (en) * 2006-02-27 2007-09-28 Gueh How Kiap Method and apparatus for removable, ide-ata or scsi flash memory based data storage in a portable computer device
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US7870128B2 (en) * 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US9052826B2 (en) * 2006-07-28 2015-06-09 Condusiv Technologies Corporation Selecting storage locations for storing data based on storage location attributes and data usage statistics
JP4799310B2 (ja) * 2006-07-31 2011-10-26 株式会社東芝 磁気ディスク装置およびその制御方法
JP2008090626A (ja) * 2006-10-02 2008-04-17 Sony Corp 転送装置、転送システム、プログラムおよび転送方法
US20080091901A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Method for non-volatile memory with worst-case control data management
DE102006051136A1 (de) * 2006-10-30 2008-05-08 Qimonda Ag Speichermodul-System, Adapter-Karte, und Verfahren zum Betreiben eines Speichermodul-Systems
US20080109647A1 (en) * 2006-11-07 2008-05-08 Lee Merrill Gavens Memory controllers for performing resilient firmware upgrades to a functioning memory
US8286156B2 (en) * 2006-11-07 2012-10-09 Sandisk Technologies Inc. Methods and apparatus for performing resilient firmware upgrades to a functioning memory
US8719501B2 (en) 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
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
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
KR20080072202A (ko) * 2007-02-01 2008-08-06 삼성전자주식회사 데이터 처리 방법 및 데이터 처리 장치
US9207876B2 (en) * 2007-04-19 2015-12-08 Microsoft Technology Licensing, Llc Remove-on-delete technologies for solid state drive optimization
DE102007018769A1 (de) * 2007-04-20 2008-10-23 Giesecke & Devrient Gmbh Zugriff auf den Massenspeicher eines portalen Datenträgers
US8397011B2 (en) * 2007-10-05 2013-03-12 Joseph Ashwood Scalable mass data storage device
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
JP4471007B2 (ja) * 2008-02-05 2010-06-02 ソニー株式会社 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体
US8499132B1 (en) * 2008-02-12 2013-07-30 Netapp, Inc. Software module for using flash memory as a secondary permanent storage device
JP4691122B2 (ja) 2008-03-01 2011-06-01 株式会社東芝 メモリシステム
JP2009223355A (ja) * 2008-03-13 2009-10-01 Hitachi Software Eng Co Ltd ハードディスクとシリコンディスクのミラーリングを行うディスク制御システム
KR101008576B1 (ko) * 2008-05-07 2011-01-17 주식회사 셀픽 자체카피 기능이 구비된 솔리드 스테이트 디스크
US8281062B2 (en) * 2008-08-27 2012-10-02 Sandisk Il Ltd. Portable storage device supporting file segmentation and multiple transfer rates
KR101465099B1 (ko) * 2008-09-11 2014-11-25 시게이트 테크놀로지 엘엘씨 특정 조건을 갖는 파일을 신속하게 판독할 수 있는 하이브리드 하드디스크 드라이브, 이에 적합한 제어 방법 및 이에 적합한 기록 매체
KR20100041313A (ko) * 2008-10-14 2010-04-22 삼성전자주식회사 데이터 저장 방법, 데이터 저장 장치 및 그 시스템
US8291181B2 (en) * 2008-10-28 2012-10-16 Micron Technology, Inc. Temporary mirroring, logical segregation, and redundant programming or addressing for solid state drive operation
WO2010060238A1 (zh) * 2008-11-03 2010-06-03 中兴通讯股份有限公司 一种分配移动终端存储空间的系统和方法
US8825940B1 (en) 2008-12-02 2014-09-02 Siliconsystems, Inc. Architecture for optimizing execution of storage access commands
US8880776B2 (en) * 2008-12-16 2014-11-04 Sandisk Il Ltd. Data access at a storage device using cluster information
US9176859B2 (en) * 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
TWI476609B (zh) * 2009-01-16 2015-03-11 Alibaba Group Holding Ltd Data Processing Method and System of Large Data Quantity
US10079048B2 (en) * 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US8429436B2 (en) 2009-09-09 2013-04-23 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
WO2011031903A2 (en) * 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
JP2011095916A (ja) * 2009-10-28 2011-05-12 Canon Inc 電子機器
CN102117184B (zh) * 2010-01-05 2017-06-27 联想(北京)有限公司 用于多存储器的控制器、终端设备及其启动和访问方法
USRE49818E1 (en) 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system
JP4988008B2 (ja) 2010-05-13 2012-08-01 株式会社東芝 情報処理装置およびドライバ
JP4988007B2 (ja) 2010-05-13 2012-08-01 株式会社東芝 情報処理装置およびドライバ
US8380949B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Managing write operations to an extent of tracks migrated between storage devices
US8572457B2 (en) * 2010-05-28 2013-10-29 Seagate Technology Llc Outer code protection for solid state memory devices
US9471240B2 (en) * 2010-06-24 2016-10-18 International Business Machines Corporation Performing read and write operations with respect to at least one solid state disk and at least one non-solid state disk
CN102298506B (zh) * 2010-06-24 2014-12-03 国际商业机器公司 存储系统和用于实现存储系统的方法
TWI494935B (zh) * 2010-07-12 2015-08-01 Taiwan Secom Co Ltd 具有高信賴度資料與資料流處理裝置
WO2012016089A2 (en) 2010-07-28 2012-02-02 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US9146875B1 (en) * 2010-08-09 2015-09-29 Western Digital Technologies, Inc. Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US10114746B2 (en) 2010-10-14 2018-10-30 Micron Technology, Inc. Nonvolatile storage using low latency and high latency memory
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
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
WO2012100087A2 (en) 2011-01-19 2012-07-26 Fusion-Io, Inc. Apparatus, system, and method for managing out-of-service conditions
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
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
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for 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
US20130067289A1 (en) * 2011-09-14 2013-03-14 Ariel Maislos Efficient non-volatile read cache for storage system
KR101341615B1 (ko) * 2011-11-24 2013-12-13 성균관대학교산학협력단 플래시 메모리를 기반으로 이중쓰기를 이용하는 저장 시스템 및 방법
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
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
CN102707902A (zh) * 2012-04-27 2012-10-03 苏州瀚瑞微电子有限公司 一种移动存储系统及其存储方法
US9558112B1 (en) * 2012-05-08 2017-01-31 Google Inc. Data management in a data storage device
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
JP6011153B2 (ja) * 2012-08-22 2016-10-19 富士通株式会社 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9569113B2 (en) * 2012-10-11 2017-02-14 SK Hynix Inc. Data storage device and operating method thereof
EP2755142B1 (en) * 2013-01-09 2016-03-16 Sony Mobile Communications AB Data storage in a mobile device with embedded mass storage device
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
US9116774B2 (en) 2013-05-14 2015-08-25 Sandisk Technologies Inc. Firmware updates for multiple product configurations
JP2014235677A (ja) 2013-06-05 2014-12-15 株式会社東芝 データ記憶装置およびデータ記憶制御方法
US9535630B1 (en) * 2013-06-27 2017-01-03 EMC IP Holding Company LLC Leveraging array operations at virtualized storage processor level
CN104281549B (zh) * 2013-07-08 2017-07-21 联想(北京)有限公司 一种ums中调整写缓冲区的方法及装置
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
CN103984657B (zh) * 2013-09-26 2017-05-10 威盛电子股份有限公司 接口控制器、外接式电子装置及其控制方法
KR20150037364A (ko) * 2013-09-30 2015-04-08 삼성전자주식회사 캐시 마이그레이션 관리 방법 및 이를 적용한 호스트 시스템
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US9559725B1 (en) 2013-10-23 2017-01-31 Seagate Technology Llc Multi-strength reed-solomon outer code protection
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
TWI553642B (zh) * 2013-12-12 2016-10-11 慧榮科技股份有限公司 資料存取命令執行方法以及使用該方法的快閃記憶體裝置
CN105450704A (zh) * 2014-08-28 2016-03-30 北京兆易创新科技股份有限公司 一种用于闪存的网络存储设备及其处理方法
US11755202B2 (en) 2015-01-20 2023-09-12 Ultrata, Llc Managing meta-data in an object memory fabric
US11086521B2 (en) 2015-01-20 2021-08-10 Ultrata, Llc Object memory data flow instruction execution
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US9971542B2 (en) 2015-06-09 2018-05-15 Ultrata, Llc Infinite memory fabric streams and APIs
US10698628B2 (en) 2015-06-09 2020-06-30 Ultrata, Llc Infinite memory fabric hardware implementation with memory
US9886210B2 (en) 2015-06-09 2018-02-06 Ultrata, Llc Infinite memory fabric hardware implementation with router
EP3387547B1 (en) 2015-12-08 2023-07-05 Ultrata LLC Memory fabric software implementation
EP3387548B1 (en) 2015-12-08 2023-08-02 Ultrata LLC Memory fabric operations and coherency using fault tolerant objects
US10248337B2 (en) 2015-12-08 2019-04-02 Ultrata, Llc Object memory interfaces across shared links
US10241676B2 (en) 2015-12-08 2019-03-26 Ultrata, Llc Memory fabric software implementation
CN105718530B (zh) * 2016-01-15 2020-02-04 上海磁宇信息科技有限公司 文件存储系统及其文件存储控制方法
US10073644B2 (en) * 2016-03-21 2018-09-11 Toshiba Memory Corporation Electronic apparatus including memory modules that can operate in either memory mode or storage mode
US20180088657A1 (en) * 2016-09-26 2018-03-29 Lenovo (Singapore) Pte. Ltd. Power saving for multimedia server storage
KR20180130140A (ko) 2017-05-29 2018-12-07 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 방법
JP7000712B2 (ja) * 2017-06-21 2022-01-19 日本電気株式会社 データ転送装置およびデータ転送方法
CN109144409B (zh) * 2018-07-11 2020-02-21 华为技术有限公司 数据处理方法及装置、存储介质、数据系统
CN110780810B (zh) 2018-07-31 2023-06-27 爱思开海力士有限公司 用于彼此接合多个存储器系统以存储数据的设备和方法
US11442628B2 (en) 2018-07-31 2022-09-13 SK Hynix Inc. Apparatus and method for engaging a plurality of memory systems with each other
US11249919B2 (en) 2018-07-31 2022-02-15 SK Hynix Inc. Apparatus and method for managing meta data for engagement of plural memory system to store data
KR20200016074A (ko) 2018-08-06 2020-02-14 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그의 동작 방법
KR20200019420A (ko) 2018-08-14 2020-02-24 에스케이하이닉스 주식회사 입력데이터를 분산저장하기 위한 메모리 시스템 및 데이터 처리 시스템
DE102018121885A1 (de) * 2018-09-07 2020-03-12 Phoenix Contact Gmbh & Co. Kg Elektronisches Gerät zum Einsatz in einem Automatisierungssystem sowie ein Automatisierungssystem
KR20200034360A (ko) 2018-09-21 2020-03-31 에스케이하이닉스 주식회사 내부채널을 통해 서로 간에 연결된 다수의 메모리 시스템을 포함하는 데이터 처리 시스템
JP7039632B2 (ja) * 2020-01-24 2022-03-22 株式会社Kokusai Electric 基板処理装置、基板処理方法およびプログラム
CN115086168B (zh) * 2022-08-19 2022-11-22 北京全路通信信号研究设计院集团有限公司 一种车载设备通信参数更新存储方法、系统

Family Cites Families (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896262A (en) * 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
US4800520A (en) * 1985-10-29 1989-01-24 Kabushiki Kaisha Toshiba Portable electronic device with garbage collection function
US4802117A (en) * 1985-12-16 1989-01-31 Pitney Bowes Inc. Method of preserving data storage in a postal meter
US4761737A (en) 1986-01-16 1988-08-02 International Business Machines Corporation Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
JP2685173B2 (ja) 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
JP3015377B2 (ja) 1988-08-26 2000-03-06 株式会社東芝 Icカード
EP0675502B1 (en) * 1989-04-13 2005-05-25 SanDisk Corporation Multiple sector erase flash EEPROM system
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5778418A (en) 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory
JPH05233426A (ja) 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
US5628014A (en) * 1992-03-20 1997-05-06 Paranode, Inc. Methods and apparatus for node caching at the file level
US5420998A (en) 1992-04-10 1995-05-30 Fujitsu Limited Dual memory disk drive
JPH0778766B2 (ja) 1992-09-25 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
JP3017892B2 (ja) * 1992-09-30 2000-03-13 株式会社東芝 ファイル管理装置
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
JPH06282386A (ja) * 1993-03-25 1994-10-07 Toshiba Corp ディスク記憶装置
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5619690A (en) * 1993-06-21 1997-04-08 Hitachi, Ltd. Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5636355A (en) * 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5353256A (en) 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JPH086854A (ja) * 1993-12-23 1996-01-12 Unisys Corp アウトボードファイルキャッシュ外部処理コンプレックス
US5542066A (en) 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
US6125578A (en) 1994-05-03 2000-10-03 Southpac Trust International, Inc. Floral sleeve having expandable sidewalls
US6341293B1 (en) * 1994-07-13 2002-01-22 Object Technology Licensing Corp Real-time computer “garbage collector”
JPH0883148A (ja) 1994-09-13 1996-03-26 Nec Corp 磁気ディスク装置
US5809558A (en) 1994-09-29 1998-09-15 Intel Corporation Method and data storage system for storing data in blocks without file reallocation before erasure
JP2669365B2 (ja) 1994-11-24 1997-10-27 日本電気株式会社 書換え可能なromファイル装置
US5586291A (en) 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
US5708846A (en) * 1995-02-24 1998-01-13 Intel Corporation System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence
US8171203B2 (en) * 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6728851B1 (en) * 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US5933847A (en) 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
US6014724A (en) * 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
US5867641A (en) * 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
US5987478A (en) 1995-10-31 1999-11-16 Intel Corporation Virtual small block file manager for flash memory array
US5799168A (en) 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
US5754888A (en) * 1996-01-18 1998-05-19 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
GB9606927D0 (en) 1996-04-02 1996-06-05 Memory Corp Plc Data storage devices
US5896393A (en) * 1996-05-23 1999-04-20 Advanced Micro Devices, Inc. Simplified file management scheme for flash memory
US5848420A (en) 1996-06-14 1998-12-08 Eastman Kodak Company System and method for accessing data of a digital camera from a personal computer
US5978893A (en) 1996-06-19 1999-11-02 Apple Computer, Inc. Method and system for memory management
GB9613088D0 (en) 1996-06-21 1996-08-28 Memory Corp Plc Memory device
US5996047A (en) 1996-07-01 1999-11-30 Sun Microsystems, Inc. Method and apparatus for caching file control information corresponding to a second file block in a first file block
FR2752072B1 (fr) * 1996-08-01 1999-01-29 Solaic Sa Carte a circuit integre comportant des fichiers classes selon une arborescence
DE19633648A1 (de) 1996-08-21 1998-02-26 Grundig Ag Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät
JPH1069420A (ja) 1996-08-29 1998-03-10 Sony Corp 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US5907854A (en) * 1996-09-27 1999-05-25 Alcatel Usa Sourcing, L.P. Flash memory file system for writing data files without rewriting an entire volume
US5890192A (en) * 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5953538A (en) 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US6681239B1 (en) * 1996-12-23 2004-01-20 International Business Machines Corporation Computer system having shared address space among multiple virtual address spaces
US6279069B1 (en) 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
FR2759795B1 (fr) 1997-02-14 1999-05-07 Francois Charles Oberthur Fidu Procede de stockage de donnees dans une memoire reinscriptible de carte a puce
US6088759A (en) 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5832493A (en) 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
NO973993L (no) * 1997-09-01 1999-03-02 Opticom As Leseminne og leseminneinnretninger
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6021415A (en) * 1997-10-29 2000-02-01 International Business Machines Corporation Storage management system with file aggregation and space reclamation within aggregated files
US5928347A (en) 1997-11-18 1999-07-27 Shuttle Technology Group Ltd. Universal memory card interface apparatus
JPH11161527A (ja) 1997-11-28 1999-06-18 Toshiba Corp データ記憶システム
US6424486B2 (en) 1997-12-17 2002-07-23 Texas Instruments Incorporated Method and apparatus for positioning a read/write head of a hard disk drive
US6493811B1 (en) 1998-01-26 2002-12-10 Computer Associated Think, Inc. Intelligent controller accessed through addressable virtual space
US6466973B2 (en) 1998-03-06 2002-10-15 Adaptec, Inc. Method and system for managing storage devices over a network
US6467022B1 (en) 1998-04-16 2002-10-15 International Business Machines Corporation Extending adapter memory with solid state disks in JBOD and RAID environments
US6226728B1 (en) * 1998-04-21 2001-05-01 Intel Corporation Dynamic allocation for efficient management of variable sized data within a nonvolatile memory
US6038636A (en) * 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
US6286056B1 (en) 1998-06-26 2001-09-04 Seagate Technology Llc Data storage device with small computer system interface providing persistent reservations
US6223271B1 (en) * 1998-07-15 2001-04-24 Compaq Computer Corp. System and method for detecting system memory size using ROM based paging tables
JP3500972B2 (ja) 1998-07-24 2004-02-23 日本電気株式会社 ディスク共有型クラスタシステムにおける論理ファイル管理システム
US6438642B1 (en) 1999-05-18 2002-08-20 Kom Networks Inc. File-based virtual storage file system, method and computer program product for automated file management on multiple file system storage devices
US6490649B2 (en) 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
JP2000148546A (ja) 1998-11-10 2000-05-30 Nec Corp データ入出力装置およびデータ入出力方法、並びに記録媒体
US6408357B1 (en) 1999-01-15 2002-06-18 Western Digital Technologies, Inc. Disk drive having a cache portion for storing write data segments of a predetermined length
US6256690B1 (en) 1999-01-15 2001-07-03 Todd Carper System and method for facilitating multiple applications on a smart card
US6480935B1 (en) 1999-01-15 2002-11-12 Todd Carper Smart card memory management system and method
US6370614B1 (en) * 1999-01-26 2002-04-09 Motive Power, Inc. I/O cache with user configurable preload
US6145069A (en) 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
KR100704998B1 (ko) * 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
JP4779183B2 (ja) 1999-03-26 2011-09-28 ソニー株式会社 再生装置および再生方法
US6427186B1 (en) 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6467015B1 (en) 1999-04-15 2002-10-15 Dell Products, L.P. High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US6535949B1 (en) * 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
JP3524428B2 (ja) 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
US6547150B1 (en) * 1999-05-11 2003-04-15 Microsoft Corporation Smart card application development system and method
US6504846B1 (en) * 1999-05-21 2003-01-07 Advanced Micro Devices, Inc. Method and apparatus for reclaiming buffers using a single buffer bit
US6486883B1 (en) 1999-06-18 2002-11-26 Phoenix Technologies, Ltd. Apparatus and method for updating images stored in non-volatile memory
US6389433B1 (en) * 1999-07-16 2002-05-14 Microsoft Corporation Method and system for automatically merging files into a single instance store
US6965963B1 (en) 1999-07-28 2005-11-15 Sony Corporation Continuous arrangement of data clusters across multiple storages
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
EP1100001B1 (en) 1999-10-25 2003-08-13 Sun Microsystems, Inc. Storage system supporting file-level and block-level accesses
US6804730B1 (en) 1999-11-17 2004-10-12 Tokyo Electron Device Limited Access control device, access control method, recording medium, and computer data signal for controlling allowance of access to storage area using certification data
US6424975B1 (en) 2000-01-07 2002-07-23 Trg Products, Inc. FAT file system in palm OS computer
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
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
US6567307B1 (en) * 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US20020078002A1 (en) 2000-08-25 2002-06-20 Bottomley Thomas Mark Walter Memory garbage collection method and apparatus
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
JP3726663B2 (ja) 2000-09-07 2005-12-14 日産自動車株式会社 電子制御装置の制御データ記憶装置
US20030120858A1 (en) 2000-09-15 2003-06-26 Matrix Semiconductor, Inc. Memory devices and methods for use therewith
US6865650B1 (en) 2000-09-29 2005-03-08 Emc Corporation System and method for hierarchical data storage
US6834331B1 (en) 2000-10-24 2004-12-21 Starfish Software, Inc. System and method for improving flash memory data integrity
US6629809B2 (en) * 2000-11-08 2003-10-07 Termax Corporation Sheet metal fastener with multiple engagement
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US7084738B2 (en) 2000-12-11 2006-08-01 Asap Automation, Llc Inventory system with image display
JP4523150B2 (ja) * 2000-12-27 2010-08-11 レノボ シンガポール プライヴェート リミテッド データサーバシステム、コンピュータ装置、記憶媒体
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 株式会社東芝 不揮発性半導体記憶装置
US6631453B1 (en) 2001-02-14 2003-10-07 Zecurity Secure data storage device
JP2002251310A (ja) 2001-02-21 2002-09-06 Ricoh Co Ltd フラッシュメモリのファイルシステム作成方式
JPWO2002071269A1 (ja) * 2001-03-02 2004-07-02 日本精工株式会社 インターネットによる特許または実用新案の情報検索管理システム
US6631456B2 (en) 2001-03-06 2003-10-07 Lance Leighnor Hypercache RAM based disk emulation and method
US6779063B2 (en) 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
JP4632574B2 (ja) 2001-05-25 2011-02-16 株式会社日立製作所 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US20020188592A1 (en) 2001-06-11 2002-12-12 Storage Technology Corporation Outboard data storage management system and method
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
US6842843B1 (en) * 2001-06-29 2005-01-11 Emc Corporation Digital data storage subsystem including arrangement for increasing cache memory addressability
GB0116116D0 (en) * 2001-06-30 2001-08-22 Koninkl Philips Electronics Nv Receiver apparatus and method
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
JP2003114817A (ja) * 2001-08-03 2003-04-18 Toshiba Corp 情報記憶媒体及び情報記録方法
US6625081B2 (en) 2001-08-13 2003-09-23 Micron Technology, Inc. Synchronous flash memory with virtual segment architecture
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7251747B1 (en) 2001-09-20 2007-07-31 Ncr Corp. Method and system for transferring data using a volatile data transfer mechanism such as a pipe
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
US6678785B2 (en) * 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write
GB0123416D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
US6823417B2 (en) * 2001-10-01 2004-11-23 Hewlett-Packard Development Company, L.P. Memory controller for memory card manages file allocation table
JP3641230B2 (ja) * 2001-10-22 2005-04-20 株式会社東芝 メモリカードを制御するための装置および方法
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US6668336B2 (en) 2001-11-08 2003-12-23 M-Systems Flash Disk Pioneers Ltd. Ruggedized block device driver
US6883114B2 (en) * 2001-11-08 2005-04-19 M-Systems Flash Disk Pioneers Ltd. Block device driver enabling a ruggedized file system
US6542407B1 (en) * 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
AU2003213113A1 (en) * 2002-02-21 2003-09-09 Precise Software Solutions, Inc. System and method for analyzing input/output activity on local attached storage
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
EP1355268B1 (en) 2002-02-28 2006-04-05 Matsushita Electric Industrial Co., Ltd. Memory card
JP2003316713A (ja) 2002-04-26 2003-11-07 Hitachi Ltd 記憶装置システム
JP2004046817A (ja) * 2002-05-23 2004-02-12 Ricoh Co Ltd プログラム、記憶媒体、データ管理装置及びデータ管理システム
US6766432B2 (en) 2002-05-24 2004-07-20 Sun Microsystems, Inc. Memory management system supporting object deletion in non-volatile memory
US6865659B2 (en) * 2002-06-07 2005-03-08 Sun Microsystems, Inc. Using short references to access program elements in a large address space
KR100453053B1 (ko) 2002-06-10 2004-10-15 삼성전자주식회사 플래쉬 메모리용 파일 시스템
US6804749B2 (en) * 2002-06-18 2004-10-12 Topseed Technology Corp. Wireless portable adaptive electronic device capable of receiving signals
EP1523711A1 (en) 2002-06-19 2005-04-20 Tokyo Electron Device Limited Memory device, memory managing method and program
KR100499686B1 (ko) * 2002-07-23 2005-07-07 주식회사 디지털웨이 메모리 확장 가능한 휴대용 플래쉬 메모리 장치
JP2004062328A (ja) * 2002-07-25 2004-02-26 Renesas Technology Corp Nand型フラッシュメモリを搭載したフラッシュストレージメディア
TWI246064B (en) * 2002-07-29 2005-12-21 Milsys Ltd Data storage and processing device, electronic appliance, electronic system and method of operating an appliance that responds to a plurality of commands
DE10234971B4 (de) 2002-07-31 2006-08-10 Giesecke & Devrient Gmbh Verfahren und Datenträger zum Erzeugen und Korrigieren von Programmcode
US7263108B2 (en) 2002-08-06 2007-08-28 Netxen, Inc. Dual-mode network storage systems and methods
US20040028066A1 (en) * 2002-08-06 2004-02-12 Chris Quanbeck Receiver architectures with dynamic symbol memory allocation and methods therefor
US7249352B2 (en) * 2002-08-22 2007-07-24 International Business Machines Corporation Apparatus and method for removing elements from a linked list
US6970969B2 (en) * 2002-08-29 2005-11-29 Micron Technology, Inc. Multiple segment data object management
US6646948B1 (en) * 2002-08-29 2003-11-11 Motorola, Inc. Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time
US6895486B2 (en) * 2002-08-29 2005-05-17 Micron Technology, Inc. Linear object management for a range of flash 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
US7254668B1 (en) 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
CN1260642C (zh) 2002-11-18 2006-06-21 深圳市朗科科技有限公司 一种向移动存储装置发送命令和数据的方法
JP4252301B2 (ja) * 2002-12-26 2009-04-08 株式会社日立製作所 記憶システム及びそのデータバックアップ方法
US7433712B2 (en) 2003-02-06 2008-10-07 Modu Ltd. Multi-access solid state memory devices and a telephone utilizing such
US8041878B2 (en) 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
US6865122B2 (en) 2003-04-11 2005-03-08 Intel Corporation Reclaiming blocks in a block-alterable memory
CN1774761B (zh) * 2003-04-14 2011-11-09 皇家飞利浦电子股份有限公司 用于从记录载体读取或者向其写入的驱动设备和方法
JP2004318940A (ja) 2003-04-14 2004-11-11 Renesas Technology Corp 記憶装置
JP4131514B2 (ja) * 2003-04-21 2008-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、サーバ、データ処理方法及びプログラム
US7437557B2 (en) 2003-06-03 2008-10-14 Lg Electronics Inc. Garbage collection system and method for a mobile communication terminal
US6906961B2 (en) * 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
US6865113B2 (en) 2003-07-23 2005-03-08 Catalyst Semiconductor, Inc. System and method for programming non-volatile memory
US7454443B2 (en) * 2003-08-26 2008-11-18 Tamir Ram Method, system, and program for personal data management using content-based replication
JP2005122439A (ja) 2003-10-16 2005-05-12 Sharp Corp デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法
US20050125603A1 (en) 2003-12-04 2005-06-09 Ehrlich Richard M. Method for rapid availability of critical data through re-allocation
US20050125602A1 (en) 2003-12-04 2005-06-09 Ehrlich Richard M. HDD with storage of critical data in FLASH
US20050125600A1 (en) 2003-12-04 2005-06-09 Ehrlich Richard M. Method for storing HDD critical data in flash
EP1704484A2 (en) 2003-12-30 2006-09-27 SanDisk Corporation Non-volatile memory and method with non-sequential update block management
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
KR20060134011A (ko) 2003-12-30 2006-12-27 쌘디스크 코포레이션 메모리 플레인 배열을 갖춘 비휘발성 메모리 및 방법
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US20050144363A1 (en) 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
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
US7127549B2 (en) 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
US7136973B2 (en) 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
CN1957416B (zh) * 2004-03-23 2012-10-10 松下电器产业株式会社 记录装置、主机装置、驱动装置、记录方法、再生装置、再生方法
JP2005293478A (ja) * 2004-04-05 2005-10-20 Hitachi Ltd 記憶制御システム、記憶制御システムに備えられるチャネル制御装置、データ転送装置
US20060004951A1 (en) * 2004-06-30 2006-01-05 Rudelic John C Method and apparatus to alter code in a memory
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
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US20060047880A1 (en) * 2004-08-27 2006-03-02 Imation Corp. Memory device with HUB capability
US7184264B2 (en) * 2004-09-23 2007-02-27 Imation Corp. Connectable memory devices to provide expandable memory
US7386655B2 (en) 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7366826B2 (en) 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7412560B2 (en) 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US20060161724A1 (en) 2005-01-20 2006-07-20 Bennett Alan D Scheduling of housekeeping operations in flash memory systems
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
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
US20060184719A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7454673B2 (en) * 2005-07-15 2008-11-18 Kyocera Wireless Corp. Apparatus, system, and method for accessing persistent files in non-execute-in-place flash memory
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
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7627733B2 (en) 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
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
US7793068B2 (en) 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
WO2007079358A2 (en) 2005-12-21 2007-07-12 Sandisk Corporation Method and system for accessing 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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10055147B2 (en) 2005-02-04 2018-08-21 Sandisk Technologies Llc 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
US10126959B2 (en) 2005-02-04 2018-11-13 Sandisk Technologies Llc 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
US8209516B2 (en) 2005-12-21 2012-06-26 Sandisk Technologies Inc. Method and system for dual mode access for storage devices
TWI634426B (zh) * 2016-03-21 2018-09-01 蘋果公司 管理邏輯至實體轉譯資訊的備份以控制開機時間以及寫入放大
TWI780521B (zh) * 2020-11-24 2022-10-11 大陸商合肥沛睿微電子股份有限公司 電子裝置及空間複用方法

Also Published As

Publication number Publication date
US10055147B2 (en) 2018-08-21
JP2009503731A (ja) 2009-01-29
JP5236469B2 (ja) 2013-07-17
US9104315B2 (en) 2015-08-11
KR101449543B1 (ko) 2014-10-13
CN101238431A (zh) 2008-08-06
US10126959B2 (en) 2018-11-13
EP1920317A2 (en) 2008-05-14
KR20080046648A (ko) 2008-05-27
TW200723000A (en) 2007-06-16
WO2007019076A2 (en) 2007-02-15
US20150363131A1 (en) 2015-12-17
US20150363135A1 (en) 2015-12-17
WO2007019076A3 (en) 2007-05-03
EP1920317B1 (en) 2016-04-20
US20070033362A1 (en) 2007-02-08

Similar Documents

Publication Publication Date Title
TWI352901B (en) Mass data storage system
TWI360050B (en) Data storage system, method for accelerated data s
TWI327274B (en) Method and system for dual mode access for storage devices
TWI351605B (en) Managing bad blocks in flash memory for electronic
US8291151B2 (en) Enhanced host interface
TWI432960B (zh) 操作記憶體單元之方法,記憶體控制器以及記憶體系統
EP2538337B1 (en) Command resequencing in memory operations
JP4533956B2 (ja) フラッシュメモリシステムのデータ記憶容量の解放
US20100161883A1 (en) Nonvolatile Semiconductor Memory Drive and Data Management Method of Nonvolatile Semiconductor Memory Drive
TW200905680A (en) Method and system for storage address re-mapping for a memory device
KR101055324B1 (ko) 강화된 호스트 인터페이스
TW200935220A (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
KR20080032636A (ko) 논리 어드레스 공간 전반에 걸쳐 그리고 직접 데이터 파일기반 위에서 동작하는 인터페이싱 시스템
TW200915331A (en) Managing bad blocks in various flash memory cells for electronic data flash card
TW201111985A (en) Data read method, and flash memory controller and storage system using the same
KR101378031B1 (ko) 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리
TW200844740A (en) Use of a direct data file system with a continuous logical address space interface
US8531883B1 (en) Managing data writing to memories
CN102341803A (zh) 响应于触发事件而优化所存储内容的传送的系统
TW201007735A (en) Block management method for flash memory and storage system and controller using the same
TWI336856B (en) Method and system of logically-addressed file storage
TW200844741A (en) Managing a LBA interface in a direct data file memory system
KR20080038368A (ko) 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱
TW200842578A (en) Configuration of host LBA interface with flash memory
US20110296099A1 (en) Access device and method for accelerating data storage and retrieval into and from storage device

Legal Events

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