TW201308078A - 未校準資料聯合 - Google Patents
未校準資料聯合 Download PDFInfo
- Publication number
- TW201308078A TW201308078A TW101123634A TW101123634A TW201308078A TW 201308078 A TW201308078 A TW 201308078A TW 101123634 A TW101123634 A TW 101123634A TW 101123634 A TW101123634 A TW 101123634A TW 201308078 A TW201308078 A TW 201308078A
- Authority
- TW
- Taiwan
- Prior art keywords
- uncalibrated
- data portion
- uncalibrated data
- logical
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Recording Measured Values (AREA)
- Toys (AREA)
Abstract
本發明包含用於聯合未校準資料之方法及系統。一種方法包含:接收與一第一未校準資料部分相關聯之一第一寫入命令;接收與一第二未校準資料部分相關聯之一第二寫入命令;及聯合該第一未校準資料部分與該第二未校準資料部分,其中聯合包含將該第一未校準資料部分及該第二未校準資料部分寫入至一記憶體裝置中之一頁。
Description
本發明一般而言係關於半導體記憶體裝置及方法,且更特定而言係關於用於聯合未校準資料之方法及系統。
記憶體裝置通常提供為電腦或其他電子裝置中之內部半導體積體電路及/或外部可抽換式裝置。存在諸多不同類型之記憶體,包含隨機存取記憶體(RAM)、唯讀記憶體(ROM)、動態隨機存取記憶體(DRAM)、同步動態隨機存取記憶體(SDRAM)、相變隨機存取記憶體(PCRAM)及快閃記憶體以及其他記憶體。
記憶體裝置係用作需要高記憶體密度、高可靠性及低電力消耗之大範圍電子應用之非揮發性記憶體。非揮發性記憶體可用於一個人電腦、一可攜式記憶體棒、一固態磁碟機(SSD)、一個人數位助理(PDA)、一數位相機、一蜂巢式電話、一可攜式音樂播放器(例如,一MP3播放器及一電影播放器)以及其他電子裝置中。
一記憶體系統可自一主機接收與將寫入至該記憶體系統之一或多個記憶體裝置之資料相關聯之寫入命令。一記憶體系統可以大於主機之一資料傳送大小之部分將資料寫入。舉例而言,一主機之一資料傳送大小可係一區段,例如512至528位元組之資料。然而,一記憶體系統可將資料以頁傳送至/自一記憶體裝置,頁可包含多個區段,舉例而言,例如4096或更多位元組之資料。寫入至一記憶體裝
置及/或自一記憶體裝置讀取之資料之每一區段可與一特定邏輯位址相關聯。
由於主機之資料傳送大小可小於一記憶體裝置之頁大小,因此可發生可稱為讀取-修改-寫入(RMW)操作之操作。例如,將小於一頁大小之一資料量寫入至一記憶體裝置可包含自該記憶體裝置讀取一整頁資料、用新資料更新該頁及然後將該經更新頁寫回至該記憶體裝置。執行讀取-修改-寫入操作可增加與一記憶體系統相關聯之耗損,且可減少一記憶體系統之性能,以及其他缺點。作為一實例,若對應於5個邏輯位址之資料將被寫入至與5個連續寫入命令相關聯之一記憶體裝置,則可執行5個單獨讀取-修改-寫入程序以將資料寫入至該記憶體裝置。
本發明包含用於聯合未校準資料之方法及系統。一種方法包含:接收與一第一未校準資料部分相關聯之一第一寫入命令,接收與一第二未校準資料部分相關聯之一第二寫入命令,及聯合該第一未校準資料部分與該第二未校準資料部分,其中聯合包含將該第一未校準資料部分及該第二未校準資料部分寫入至一記憶體裝置中之一頁。
在本發明之下述詳細闡述中,參考形成本發明之一部分之隨附圖式,且在該等圖式中以圖解說明之方式展示可如何實踐本發明之若干實施例。充分詳細地闡述此等實施例以使得熟習此項技術者能夠實踐本發明之該等實施例,且應理解,可利用其他實施例且可在不背離本發明之範疇之
情況下作出程序、電及/或結構改變。
如本文中所使用,「若干」某事物可係指一或多個此等事物。舉例而言,若干記憶體裝置可係指一或多個記憶體裝置。另外,本文中所使用之標示符「N」及「M」(特定而言係關於圖式中之元件符號)指示如此標示之若干個特定特徵可包含於本發明之若干實施例處。
本文中之圖遵循一編號慣例:其中第一數位或前幾個數位對應於圖式圖編號,且剩餘數位識別該圖式中之一元件或組件。不同圖之間的類似元件或組件可藉由使用類似數位來識別。舉例而言,100可標注圖1中之參照元件「00」,且一類似元件可在圖2中標注為「200」。如將瞭解,可添加、交換及/或消除本文中各種實施例中所展示之元件以提供本發明之若干額外實施例。另外,如將瞭解,圖中所提供元件之比例及相對比例尺意欲圖解說明本發明之實施例且不應視為一限定意義。
圖1圖解說明根據本發明之一或多項實施例與一寫入命令相關聯之資料。在此實例中,資料儲存在(例如)可位於與一控制器相關聯之DRAM中之一緩衝器102中。儲存在緩衝器102中之資料可包含與自一主機接收之一寫入命令相關聯之資料、自一記憶體系統讀取之資料及/或與一聯合資料結構(例如,一樹及/或一表格以及其他資料結構)相關聯之資料。來自一主機之一寫入命令可包含將寫入至一記憶體裝置之若干資料部分(例如,區段)。每個區段可與一邏輯位址相關聯且該等區段可以邏輯頁儲存於緩衝器
中。每一邏輯頁可包含若干區段,舉例而言,諸如8個區段。
在圖1中所圖解說明之實例中,與寫入命令相關聯之資料可包含一第一未校準部分106-1、一第二未校準部分106-2及一經校準部分108。經校準部分108以全頁增量開始及結束。在此實例中,經校準部分108在邏輯頁104-1之起始處開始,完全填充邏輯頁104-2、104-3、104-4及104-5,且在邏輯頁104-6之結束處結束。經校準部分108在頁104-1至104-6中之每一者中包含8個區段,且每一頁中之8個區段在一邏輯頁之起始處及/或結束處開始及/或結束。經校準部分108可被立即寫入至一記憶體裝置,而第一未校準部分106-1及/或第二未校準部分106-2仍在控制器中用於與關聯於後續寫入命令之資料之未校準部分聯合。在此實例中,每一邏輯頁104-0至104-7可儲存與8個邏輯位址(LA)相關聯之資料。例如,邏輯頁104-0可儲存與LA-0至LA-7相關聯之資料,邏輯頁104-1可儲存與LA-8至LA-15相關聯之資料,邏輯頁104-2可儲存與LA-16至LA-23相關聯之資料,邏輯頁104-3可儲存與LA-24至LA-31相關聯之資料,邏輯頁104-4可儲存與LA-32至LA-39相關聯之資料,邏輯頁104-5可儲存與LA-40至LA-47相關聯之資料,邏輯頁104-6可儲存與LA-48至LA-55相關聯之資料且邏輯頁104-7可儲存與LA-56至LA-63相關聯之資料。
第一未校準部分106-1將儲存於邏輯頁104-0中,邏輯頁104-0可儲存與8個邏輯位址(例如,LA-0至LA-7)相關聯之
資料。在此實例中,第一未校準部分106-1包含對應於頁104-0之LA-4至LA-7之4個區段。第一未校準部分106-1之第一區段係在邏輯頁104-0之LA-4處。未校準部分106-1包含在邏輯頁104-0之LA-4、LA-5、LA-6及LA-7處之區段。經校準部分108之第一區段係在頁104-1之LA-8處校準。
第二未校準部分106-2將儲存於邏輯頁104-7中,邏輯頁104-7可儲存與8個邏輯位址(例如,LA-56至LA-63)相關聯之資料。在此實例中,第二未校準部分106-2包含對應於頁104-7之LA-56至LA-61之6個區段。第二未校準部分106-2之第一區段係在邏輯頁104-7之LA-56處。第二未校準部分106-2包含在邏輯頁104-7之LA-56、LA-57、LA-58、LA-59、LA-60及LA-61處之區段。經校準部分108之最後一區段係在邏輯頁104-6之LA-55處校準。
在一或多項實施例中,可將第一未校準資料部分106-1及/或第二未校準資料部分106-2連同其他資料區段一起寫入至一記憶體裝置中之一相關聯頁,以使得該相關聯頁包含除第一未校準資料部分106-1及/或第二未校準資料部分106-2之彼等資料區段外的寫入資料區段。在一或多項實施例中,可將來自第一未校準資料部分106-1之資料與來自其他寫入命令之包含對應於與第一未校準資料部分106-1之邏輯位址相關聯之同一資料頁之邏輯位址之資料聯合。可將來自第二未校準資料部分106-2之資料與來自其他寫入命令之包含對應於與第二未校準資料部分106-2之邏輯位址相關聯之同一資料頁之邏輯位址之資料聯合。可
將經聯合之資料寫入至一記憶體裝置中之頁以使得該頁經校準(例如,資料開始於頁之起始處及/或結束於頁之結束處)。
圖2圖解說明根據本發明之一或多項實施例之一聯合識別資料結構209。聯合識別資料結構209係儲存指代判定為與未校準資料部分及對應於其之邏輯頁相關聯之邏輯位址之指示符之一資料結構。例如,聯合識別資料結構209可儲存指代圖1中對應於邏輯頁104-0之LA-4至LA-7及對應於邏輯頁104-7之LA56至LA-61之指示符。可將聯合識別資料結構209儲存在一控制器之一緩衝器(例如,圖1中之緩衝器102)中。作為一實例,聯合識別資料結構209中之指示符210-1可指代邏輯頁104-0,其係與第一未校準資料部分106-1相關聯之邏輯頁。聯合識別資料結構209中之指示符210-2可指代邏輯頁104-7,其係與第二未校準資料部分106-2相關聯之邏輯頁。可在一緩衝器中讀取及儲存與對應於與一寫入命令之未校準部分(例如,圖1中之第一未校準部分106-1及第二未校準部分106-2)相關聯之邏輯頁之邏輯位址相關聯之一記憶體裝置中之資料。
在一或多項實施例中,當與一寫入命令相關聯之資料區段係未校準(例如,與具有並未在一邏輯頁之起始處開始及/或並未在一邏輯頁之結束處終止之資料區段之一頁相關聯)時,可建立指代與未校準資料區段相關聯之邏輯位址及對應於彼等邏輯位址之邏輯頁之一指示符。然後可比較所建立之指示符與在一聯合識別資料結構(例如,209)中
存在之亦指代與未校準資料區段之邏輯位址及對應於彼等邏輯位址之邏輯頁相關聯之指示符。當所建立之指示符指代該聯合識別資料結構中之另一指示符亦指代之一邏輯頁時,可聯合用於未校準資料區段之寫入命令與用於與聯合識別資料結構中之指示符相關聯之資料之寫入命令以使得將用於每一寫入命令之資料寫入至一記憶體裝置之一共同頁。
舉例而言,一控制器可接收與圖1中之第一未校準部分106-1相關聯之一寫入命令。可建立指代LA-4至LA-7(其係對應於第一未校準部分106-1之邏輯位址)及與LA-4至LA-7相關聯之邏輯頁104-0之一指示符。可比較所建立指示符與圖2中之聯合識別資料結構209中之指示符210-1及210-2。指示符210-1可指代LA-1至LA-3,其係對應於與LA-1至LA-3相關聯之邏輯頁104-0之與由控制器接收之另一寫入命令相關聯之一未校準部分之邏輯位址。可聯合第一未校準部分106-1與關聯於另一寫入命令之未校準部分並將其寫入至一記憶體裝置中之一共同頁,此乃因針對第一未校準部分106-1建立之指示符及指示符210-1兩者皆指代邏輯頁104-0及邏輯位址,來自另一寫入命令之未校準部分之LA-1至LA-3與第一未校準部分106-1之LA-4至LA-7並不包含共同邏輯位址。聯合與另一寫入命令相關聯之未校準資料部分與第一未校準部分106-1可包含將對應於來自兩個不同寫入命令之LA-0至LA-7之資料寫入至一記憶體系統中之一共同頁。與儲存於記憶體系統中之共同頁中
之兩個不同寫入命令相關聯之資料將得以校準,此乃因該資料將在共同頁之起始處開始且在共同頁之結束處結束。
在一或多項實施例中,當與一寫入命令相關聯之資料區段係未校準時,可建立指代與未校準資料區段相關聯之邏輯位址及對應於彼等邏輯位址之邏輯頁之一指示符。然後可比較所建立之指示符與一聯合識別資料結構中存在之亦指代與未校準資料區段相關聯之邏輯位址及對應於彼等邏輯位址之邏輯頁之指示符。當所建立之指示符指代並未由聯合識別資料結構中已存在之另一指示符指代之一邏輯頁時,可將所建立之指示符放置於該聯合識別資料結構中以與指代與來自由控制器接收之其他寫入命令之未校準資料區段相關聯之邏輯位址及對應於彼等邏輯位址之邏輯頁之其他指示符比較。
舉例而言,一控制器可接收與圖1中之第一未校準部分106-1相關聯之一寫入命令。可建立指代LA-4至LA-7(其係對應於第一未校準部分106-1之邏輯位址)及與LA-4至LA-7相關聯之邏輯頁104-0之一指示符。可比較所建立之指示符與圖2中之聯合識別資料結構209中之指示符。所建立之指示符指代並未由聯合識別資料結構中之另一指示符指代之一邏輯頁104-0。因此,可將所建立之指示符放置於聯合識別資料結構中作為指示符210-1。指示符210-1可指代LA-4至LA-7(其係對應於第一未校準部分106-1之邏輯位址)及與LA-4至LA-7相關聯之邏輯頁104-0。可比較指示符210-1與指代邏輯頁104-0之一第二指示符。回應於與
對應於邏輯位址LA-0至LA-3之未校準資料相關聯之一寫入命令,可建立指代邏輯頁104-0之第二指示符。可聯合第一未校準部分106-1與關聯於具有對應於邏輯位址LA-0至LA-3之未校準資料之寫入命令之未校準資料並將其寫入至一記憶體裝置中之一共同頁,此乃因指代邏輯頁104-0及針對由第二指示符指代之一寫入命令之未校準資料之邏輯位址LA-1至LA-3及由指示符210-1指代之邏輯位址LA4至LA-7之指示符並不包含共同邏輯位址。聯合來自具有對應於邏輯位址LA-0至LA-3之未校準資料之一寫入命令之未校準資料與第一未校準部分106-1可包含將對應於與兩個不同寫入命令相關聯之LA-0至LA-7之資料寫入至一記憶體系統中之一共同頁。與儲存於記憶體系統中之共同頁中之兩個不同寫入命令相關聯之資料將得以校準,此乃因該資料將在共同頁之起始處開始且在共同頁之結束處結束。
當與一寫入命令相關聯之資料區段係未校準時,可比較指代與該等未校準資料區段相關聯之邏輯位址及對應於彼等邏輯位址之邏輯頁之一指示符與一聯合識別資料結構中之其他指示符。若指代對應於與未校準區段相關聯之邏輯位址之邏輯頁之指示符不存在於一聯合識別資料結構中,則可將該指示符放置於該聯合識別資料結構中。可比較該指示符與指代與其他未校準資料部分相關聯之邏輯位址及其相關聯邏輯頁之其他傳入指示符。若該指示符與其他傳入指示符指代不同但與一共同邏輯頁相關聯之邏輯位址,
則可聯合與具有指代該共同邏輯頁之指示符之寫入命令相關聯之未校準資料區段,以使得在一單個(例如,一個)寫入操作中將用於每一寫入命令之資料寫入至一記憶體裝置中之一共同頁。
當控制器正處理一寫入命令時,可儲存一聯合識別資料結構中之指示符並比較其與指代與未校準資料區段相關聯之邏輯位址之其他指示符。一旦將與寫入命令相關聯之未校準資料寫入至記憶體裝置,即可抹除聯合識別資料結構中之指代與未校準資料相關聯之邏輯位址之指示符。聯合識別資料結構可接受指代與由控制器接收之後續寫入命令中之未校準資料相關聯之邏輯位址之指示符。
在一或多項實施例中,一控制器可接收與關聯於對應於邏輯頁0之LA-0之一第一未校準資料部分相關聯之一第一命令。可建立與第一未校準資料部分相關聯、指代LA-0及邏輯頁0之一第一指示符並將其放置於一聯合識別資料結構中。控制器可接收與關聯於對應於邏輯頁0之LA-1之一第二未校準資料部分相關聯之一第二命令。可建立與第二未校準資料部分相關聯、指代LA-1及邏輯頁0之一第二指示符並將其放置於一聯合識別資料結構中。控制器可接收與關聯於對應於邏輯頁0之LA-2之一第三未校準資料部分相關聯之一第三命令。可建立與第三未校準資料部分相關聯、指代LA-2及邏輯頁0之一第三指示符並將其放置於一聯合識別資料結構中。控制器可接收與關聯於對應於邏輯頁0之LA-3之一第四未校準資料部分相關聯之一第四命
令。可建立與第四未校準資料部分相關聯、指代LA-3及邏輯頁0之一第四指示符並將其放置於一聯合識別資料結構中。控制器可接收與關聯於對應於邏輯頁0之LA-4之一第五未校準資料部分相關聯之一第五命令。可建立與第五未校準資料部分相關聯、指代LA-4及邏輯頁0之一第五指示符並將其放置於一聯合識別資料結構中。
可比較該第一指示符、該第二指示符、該第三指示符、該第四指示符及該第五指示符。可判定該第一指示符、該第二指示符、該第三指示符、該第四指示符及該第五指示符各自指代邏輯頁0且不指代一共同邏輯位址。因此,可聯合第一未校準資料部分、第二未校準資料部分、第三未校準資料部分、第四未校準資料部分及第五未校準資料部分並將其在一單個寫入操作中寫入至一共同頁,避免不得不針對該等命令中之每一者執行一讀取-修改-寫入操作。
圖3A圖解說明根據本發明之一或多項實施例之一讀取聯合資料結構311。讀取聯合資料結構311包含指示與資料區段相關聯之邏輯位址(LA)之一第一行312,包含緩衝器中之資料區段之開始位址之一第二行314,包含緩衝器中之資料區段之結束位址之一第三行316,及包含對邏輯位址之指標之一第四行318。行318中之指標可指向讀取聯合資料結構中之下一邏輯位址。讀取聯合資料結構可儲存用於由聯合識別資料結構中之指示符識別之邏輯頁之LA、開始位址、結束位址及對邏輯位址之指標的項目。讀取聯合資料結構可包含對應於在一寫入命令中接收之對應於一聯
合識別資料結構中之一指示符所識別之一邏輯頁之資料以及自一記憶體裝置讀取之對應於由該聯合識別資料結構中之指示符識別之邏輯頁之資料之未校準部分之LA、開始位址、結束位址及指標之項目。
在圖3A中所展示之實例中,讀取聯合資料結構中之每一列包含若干項目。每一項目對應於在緩衝器中儲存之一資料區段。例如,項目315-0對應於與邏輯位址LA-0、開始位址SA-0、結束位址EA-0及指標P-0相關聯之資料。項目315-1對應於與邏輯位址LA-1、開始位址SA-1、結束位址EA-1及指標P-1相關聯之資料。項目315-2對應於與邏輯位址LA-2、開始位址SA-2、結束位址EA-2及指標P-2相關聯之資料。項目315-3對應於與邏輯位址LA-3、開始位址SA-3、結束位址EA-3及指標P-3相關聯之資料。項目315-4對應於與邏輯位址LA-4、開始位址SA-4、結束位址EA-4及指標P-4相關聯之資料。項目315-5對應於與邏輯位址LA-5、開始位址SA-5、結束位址EA-5及指標P-5相關聯之資料。項目315-6對應於與邏輯位址LA-6、開始位址SA-6、結束位址EA-6及指標P-6相關聯之資料。項目315-7對應於與邏輯位址LA-7、開始位址SA-7、結束位址EA-7及指標P-7相關聯之資料。
在一或多項實施例中,未校準資料區段可與對應於一邏輯頁之若干邏輯位址相關聯。當一控制器接收與對應於一邏輯頁之未校準資料區段相關聯之一寫入命令時,可自一記憶體裝置讀取來自該記憶體裝置之與對應於該邏輯頁之
邏輯位址相關聯之資料且可將其儲存於控制器中之一緩衝器中。可將對應於自記憶體裝置讀取之資料之邏輯位址、開始位址、結束位址及指標儲存於一讀取聯合資料結構中。
舉例而言,一控制器可接收與圖1中之第一未校準部分106-1相關聯之一寫入命令。第一未校準部分106-1與LA-4至LA-7相關聯。LA-4至LA-7對應於與LA-0至LA-7相關聯之邏輯頁104-0。來自一記憶體裝置之與LA-0至LA-7相關聯之資料可由控制器讀取並儲存於控制器之一緩衝器中,且可將一指示符儲存在一聯合識別資料結構中以識別出邏輯頁104-0對應於第一未校準部分106-1。與LA-0至LA-7相關聯之每一資料區段可具有讀取聯合資料結構311中之一項目,其中項目315-0、315-1、315-2及315-3對應於自一記憶體裝置讀取且儲存在控制器之緩衝器中之資料,且項目315-4、315-5、315-6及315-7對應於第一未校準部分106-1。讀取聯合資料結構311中之項目可與由儲存在一聯合識別資料結構中之指示符指示之一邏輯頁相關聯。舉例而言,讀取聯合資料結構311中之項目315-0包含針對自記憶體裝置讀取並儲存於緩衝器中之第一資料區段之:邏輯位址LA-0;緩衝器中之開始位址SA-0;緩衝器中之結束位址EA-0;及對下一項目之指標P-0。
在一或多項實施例中,當聯合來自具有指代一共同邏輯頁之指示符之寫入命令之未校準資料區段時可使用讀取聯合資料結構311中之項目315-0、315-1、315-2、315-3、
315-4、315-5、315-6及315-7。讀取聯合資料結構311中之項目315-0、315-1、315-2、315-3、315-4、315-5、315-6及315-7對應於與可由圖2中之聯合識別資料結構中之指示符210-1識別之邏輯頁104-0相關聯之資料。當第一未校準部分106-1將與對應於邏輯頁104-0之另一未校準部分聯合時,可使用項目315-4、315-5、315-6及/或315-7以填入圖3B中之寫入聯合資料結構313,此將在下文中進一步詳細闡述。
圖3B圖解說明根據本發明之一或多項實施例之一寫入聯合資料結構313。第一行312指示與資料區段相關聯之邏輯位址(LA)。第二行314包含一緩衝器中之資料區段之開始位址。第三行316包含一緩衝器中之資料區段之結束位址。第四行318包含對邏輯位址之指標。指標可指向寫入聯合資料結構中之下一邏輯位址。寫入聯合資料結構313中之項目可與關聯於兩個或兩個以上寫入命令之未校準資料區段相關聯,該兩個或兩個以上寫入命令對應於由聯合識別資料結構中之一或多個指示符識別之一共同邏輯位址。寫入聯合資料結構313中之項目可在所聯合之資料區段寫入至記憶體裝置時識別及定位該等資料區段。
在圖3B中所展示之實例中,寫入聯合資料結構中之每一列包含若干項目。每一項目對應於儲存在緩衝器中之一資料區段。項目319-0對應於與邏輯位址LA-0、開始位址SA-0、結束位址EA-0及指標P-0相關聯之資料。項目319-1對應於與邏輯位址LA-1、開始位址SA-1、結束位址EA-1及
指標P-1相關聯之資料。項目319-2對應於與邏輯位址LA-2、開始位址SA-2、結束位址EA-2及指標P-2相關聯之資料。項目319-3對應於與邏輯位址LA-3、開始位址SA-3、結束位址EA-3及指標P-3相關聯之資料。項目319-4對應於與邏輯位址LA-4、開始位址SA-4、結束位址EA-4及指標P-4相關聯之資料。項目319-5對應於與邏輯位址LA-5、開始位址SA-5、結束位址EA-5及指標P-5相關聯之資料。項目319-6對應於與邏輯位址LA-6、開始位址SA-6、結束位址EA-6及指標P-6相關聯之資料。項目319-7對應於與邏輯位址LA-7、開始位址SA-7、結束位址EA-7及指標P-7相關聯之資料。
在一或多項實施例中,當由一控制器接收之一寫入命令及/或一聯合識別資料結構中之一指示符指代該聯合識別資料結構中之另一指示符亦指代之一邏輯頁時,可使用與將在一個頁上聯合之未校準資料區段相關之資訊填入寫入聯合資料結構313中之項目。
舉例而言,一控制器可接收包含一未校準資料部分之一寫入命令。未校準資料部分可與對應於邏輯頁0之LA-0至LA-3相關聯。一指示符(諸如圖2中之指示符210-1)可存在於聯合識別資料結構中且指代與對應於邏輯頁0之LA-4至LA-7相關聯之一第一未校準資料部分(諸如圖1中之第一未校準資料部分106-1)。與LA-0至LA-3相關聯之未校準資料部分及與LA-4至LA-7相關聯之第一未校準資料部分由於其不共用共同邏輯頁且對應於同一邏輯頁(例如,邏輯頁0)
而能夠被聯合。對應於未校準資料部分之項目319-0、319-1、319-2及319-3被鍵入至寫入聯合資料結構313中以與第一未校準資料部分聯合。將來自讀取聯合資料結構311之項目315-4、315-5、315-6及315-7複製至寫入聯合資料結構313作為項目319-4、319-51、319-6及319-7。項目315-4、315-5、315-6及315-7存在於讀取聯合資料結構中,此乃因其與已由控制器接收且具有識別對應於第一未校準資料部分之邏輯頁之一指示符之一第一未校準資料部分(例如,圖1中之第一未校準資料部分106-1)相關聯。基於與第一未校準部分(例如,圖1中之第一未校準資料部分106-1)相關聯之邏輯位址、開始位址、結束位址及指標,分別用LA-4至LA-7、SA-4至SA-7、EA-4至EA-7及P-4至P-7填入項目319-4、319-5、319-6及319-7。
當聯合與具有指代一共同邏輯頁之指示符之寫入命令相關聯之未校準資料區段時,控制器可使用寫入聯合資料結構313中之項目319-0、319-1、319-2、319-3、319-4、319-5、319-6及319-7。控制器可使用項目319-0、319-1、319-2、319-3、319-4、319-5、319-6及319-7來定位未校準資料區段,以聯合未校準資料區段及將經聯合資料區段寫入至一記憶體裝置中之一頁。
圖4係根據本發明之一或多項實施例包含至少一個記憶體系統444之一計算系統400之一功能方塊圖。在圖4中所圖解說明之實施例中,記憶體系統444包含一控制器403及經由匯流排450耦合之一或多個記憶體裝置430-1、...、
430-N。在此實例中,控制器403係在一或多個記憶體裝置430-1、...、430-N外部。記憶體裝置430-1、...、430-N可提供用於記憶體系統之一儲存磁碟區。控制器403可包含硬體、韌體及/或軟體。在一或多項實施例中,控制器403可係耦合至包含一實體介面之一印刷電路板及記憶體裝置430-1、...、430-N之一特殊應用積體電路(ASIC)。控制器403可包含一緩衝器402。緩衝器402可係諸如圖1之緩衝器102之一緩衝器,且可用以儲存一聯合識別資料結構409、一讀取聯合資料結構411、一寫入聯合資料結構413、與自主機接收之命令相關聯之資料及自記憶體裝置430-1、...、430-N讀取之資料。聯合識別資料結構409可係諸如圖2中之聯合識別資料結構209之一聯合識別資料結構。讀取聯合資料結構411可係諸如圖3A中之讀取聯合資料結構311之一讀取聯合資料結構。寫入聯合資料結構413可係諸如圖3B中之寫入聯合資料結構313之一寫入聯合資料結構。
如圖4中所圖解說明,一主機440可耦合至記憶體系統444。主機440可係一膝上型電腦、個人電腦、數位相機、數位記錄及播放裝置、行動電話、PDA、記憶體卡讀取器、介面集線器以及其他主機系統,且可包含一記憶體存取裝置(例如,一處理器)。
在一或多項實施例中,一實體主機介面446可呈一標準化介面之形式。舉例而言,當記憶體系統444用於一計算系統400中之資料儲存時,實體主機介面446可係一串列進
階技術附接(SATA)、高速周邊組件互連(PCIe)或一通用串列匯流排(USB)以及其他連接器及介面。然而,一般而言,一實體主機介面446可提供用於在記憶體系統444與具有用於實體主機介面之相容接受器之一主機440之間傳遞控制、位址、資料及其他信號之一介面。
控制器430可與記憶體裝置430-1、...、430-N通信以讀取、寫入及抹除資料,以及進行其他操作。亦即,控制器403可將自主機440接收之命令轉換成適當命令以達成對一記憶體裝置430-1、...、430-N之所期望存取。控制器403可經組態以執行本文所闡述之一或多項實施例。
一記憶體裝置430-1、...、430-N可包含一或多個記憶體單元(例如,非揮發性記憶體單元)陣列420-1、420-2、420-M。舉例而言,陣列420-1、420-2、420-M可係具有一NAND架構之快閃陣列。實施例不限於一特定類型之記憶體裝置。
圖4之實施例可包含為不模糊本發明之實施例而未加以圖解說明之額外電路。舉例而言,記憶體系統444可包含位址電路以鎖存透過I/O電路經由I/O連接提供之位址信號。位址信號可由一列解碼器及一行解碼器接收及解碼以存取記憶體裝置430-1、...、430-N。
本發明包含用於聯合未校準資料之方法及系統。一種方法包含:接收與一第一未校準資料部分相關聯之一第一寫入命令,接收與一第二未校準資料部分相關聯之一第二寫
入命令,及聯合該第一未校準資料部分與該第二未校準資料部分,其中聯合包含將該第一未校準資料部分及該第二未校準資料部分寫入至一記憶體裝置中之一頁。
儘管本文中已圖解說明及闡述特定實施例,但熟習此項技術者將瞭解,可用經計算以達成相同結果之一配置來替代所展示之特定實施例。本發明意欲涵蓋本發明之若干實施例之變更或變化。應理解,已以一例示性方式而非一約束性方式做出以上說明。在審閱以上說明時,熟習此項技術者將顯而易見以上實施例之組合及在本文中未具體闡述之其他實施例。本發明之若干實施例之範疇包含其中使用以上結構及方法之其他應用。因此,應參考隨附申請專利範圍連同此等申請專利範圍所授權之等效內容之全部範圍來判定本發明之若干實施例之範疇。
在前述實施方式中,出於簡化本發明之目的而將某些特徵一同集合於一單項實施例中。不應將本發明之此方法視為反映本發明所揭示之實施例必須使用比明確陳述於每一請求項中之特徵更多的特徵之意圖。而是,如以下申請專利範圍反映,發明性標的物在於少於一單個所揭示實施例之所有特徵。因此,以下申請專利範圍藉此併入實施方式中,其中每一請求項獨立地作為一單獨實施例。
102‧‧‧緩衝器
104-0‧‧‧邏輯頁/頁
104-1‧‧‧邏輯頁/頁
104-2‧‧‧邏輯頁
104-3‧‧‧邏輯頁
104-4‧‧‧邏輯頁
104-5‧‧‧邏輯頁
104-6‧‧‧邏輯頁/頁
104-7‧‧‧邏輯頁/頁
106-1‧‧‧第一未校準部分/未校準部分/第一未校準資料部分
106-2‧‧‧第二未校準部分/第二未校準資料部分
108‧‧‧經校準部分
209‧‧‧聯合識別資料結構
210-1‧‧‧指示符
210-2‧‧‧指示符
311‧‧‧讀取聯合資料結構
312‧‧‧邏輯位址
313‧‧‧寫入聯合資料結構
314‧‧‧開始位址
315-0‧‧‧項目
315-1‧‧‧項目
315-2‧‧‧項目
315-3‧‧‧項目
315-4‧‧‧項目
315-5‧‧‧項目
315-6‧‧‧項目
315-7‧‧‧項目
316‧‧‧結束位址
318‧‧‧指標
319-0‧‧‧項目
319-1‧‧‧項目
319-2‧‧‧項目
319-3‧‧‧項目
319-4‧‧‧項目
319-5‧‧‧項目
319-6‧‧‧項目
319-7‧‧‧項目
400‧‧‧計算系統
402‧‧‧緩衝器
403‧‧‧控制器
409‧‧‧聯合識別資料結構
411‧‧‧讀取聯合資料結構
413‧‧‧寫入聯合資料結構
420-1‧‧‧記憶體單元陣列/陣列
420-2‧‧‧記憶體單元陣列/陣列
420-M‧‧‧記憶體單元陣列/陣列
430-1‧‧‧記憶體裝置
430-N‧‧‧記憶體裝置
440‧‧‧主機
444‧‧‧記憶體系統
446‧‧‧實體主機介面
450‧‧‧匯流排
圖1圖解說明根據本發明之一或多項實施例與一寫入命令相關聯之資料。
圖2圖解說明根據本發明之一或多項實施例之一聯合識
別資料結構。
圖3A圖解說明根據本發明之一或多項實施例之一讀取聯合資料結構。
圖3B圖解說明根據本發明之一或多項實施例之一寫入聯合資料結構。
圖4係根據本發明之一或多項實施例包含至少一個記憶體系統之一計算系統之一功能方塊圖。
102‧‧‧緩衝器
104-0‧‧‧邏輯頁/頁
104-1‧‧‧邏輯頁/頁
104-2‧‧‧邏輯頁
104-3‧‧‧邏輯頁
104-4‧‧‧邏輯頁
104-5‧‧‧邏輯頁
104-6‧‧‧邏輯頁/頁
104-7‧‧‧邏輯頁/頁
106-1‧‧‧第一未校準部分/未校準部分/第一未校準資料部分
106-2‧‧‧第二未校準部分/第二未校準資料部分
108‧‧‧經校準部分
Claims (30)
- 一種用於未校準資料聯合之方法,該方法包括:接收與一第一未校準資料部分相關聯之一第一寫入命令;接收與一第二未校準資料部分相關聯之一第二寫入命令;及聯合該第一未校準資料部分與該第二未校準資料部分,其中聯合包含將該第一未校準資料部分及該第二未校準資料部分寫入至一記憶體裝置中之一頁。
- 如請求項1之方法,其中該第一未校準資料部分及該第二未校準資料部分與關聯於該頁之邏輯位址相關聯。
- 如請求項1之方法,其中該方法包含建立該頁與該第一未校準資料部分相關聯之一指示符。
- 如請求項3之方法,其中該方法進一步包含回應於至少該頁與該第二資料部分相關聯且該指示符指示該頁與該第一未校準資料部分相關聯而聯合該第一未校準資料部分與該第二未校準資料部分。
- 如請求項1之方法,其中該方法包含將該第一未校準資料部分及該第二未校準資料部分儲存於一緩衝器中。
- 如請求項1之方法,其中該方法包含將與該第一未校準資料部分及該第二未校準資料部分相關聯之邏輯位址儲存於一聯合資料結構中。
- 如請求項6之方法,其中該方法包含將對該第一未校準資料部分及該第二未校準資料部分之指標儲存於該聯合 資料結構中。
- 一種用於未校準資料聯合之方法,該方法包括:接收與一未校準資料部分相關聯之一寫入命令;及建立指代對應於與該未校準資料部分相關聯之一邏輯位址之一邏輯頁之一指示符。
- 如請求項8之方法,其中該方法包含比較該指示符與指代對應於一後續寫入命令中之一未校準資料部分之一邏輯頁之另一指示符。
- 如請求項9之方法,其中該方法包含回應於該等未校準部分與該邏輯頁相關聯而聯合該等未校準部分。
- 如請求項9之方法,其中該方法包含回應於至少該等指示符指代該邏輯頁而聯合該等未校準部分。
- 如請求項9之方法,其中該方法包含寫入來自一記憶體裝置之資料之邏輯位址,其中該邏輯位址與對應於一讀取聯合資料結構中之該未校準資料部分之該邏輯頁相關聯以聯合該等未校準部分。
- 如請求項9之方法,其中該方法包含將與該寫入命令相關聯之該未校準資料部分及該後續寫入命令中之該未校準資料部分寫入一寫入聯合資料結構中以聯合該等未校準部分。
- 一種用於未校準資料聯合之方法,該方法包括:接收與一第一未校準資料部分相關聯之一第一寫入命令;判定對應於與該第一未校準資料部分相關聯之一邏輯 位址之一邏輯頁係由與關聯於一第二寫入命令之一第二未校準資料部分相關聯之一指示符指代之一邏輯頁;及聯合該第一未校準資料部分與該第二未校準資料部分。
- 如請求項14之方法,其中該方法包含在接收該第二寫入命令之後接收該第一寫入命令。
- 如請求項14之方法,其中聯合該第一未校準資料部分與該第二未校準資料部分包含在一單個寫入操作中將該第一未校準資料部分及該第二未校準資料部分寫入至一記憶體裝置。
- 一種系統,其包括:一記憶體單元陣列;及一控制器,其可操作地耦合至該陣列且經組態以:接收與一第一未校準資料部分相關聯之一第一寫入命令;接收與一第二未校準資料部分相關聯之一第二寫入命令;及聯合該第一未校準資料部分與該第二未校準資料部分。
- 如請求項17之系統,其中該控制器經組態以在一單個寫入操作中將該第一未校準資料部分及該第二未校準資料部分寫入至該陣列。
- 如請求項17之系統,其中該控制器經組態以回應於與該第一未校準資料部分及該第二未校準資料部分相關聯之 邏輯位址對應於一共同邏輯頁且該等邏輯位址並非共同而聯合該第一未校準資料部分與該第二未校準資料部分。
- 如請求項19之系統,其中該控制器經組態以將與該第一未校準資料部分相關聯之邏輯位址儲存於一讀取聯合資料結構中。
- 如請求項19之系統,其中該控制器經組態以將與該第一未校準資料部分及該第二未校準資料部分相關聯之邏輯位址儲存於一寫入聯合資料結構中。
- 如請求項17之系統,其中該控制器經組態以建立指代對應於與該第一未校準資料部分相關聯之邏輯位址之一邏輯頁之一指示符。
- 如請求項17之系統,其中該控制器進一步包括經組態以儲存該第一未校準資料部分及該第二未校準資料部分之一緩衝器。
- 如請求項23之系統,其中該緩衝器包含動態隨機存取記憶體(DRAM)記憶體單元。
- 一種系統,其包括:一記憶體單元陣列;及一控制器,其可操作地耦合至該陣列且經組態以:接收與一第一未校準資料部分相關聯之一第一寫入命令;判定對應於與該第一未校準資料部分相關聯之一邏輯位址之一邏輯頁係由與關聯於一第二寫入命令之一 第二未校準資料部分相關聯之一指示符指代之一邏輯頁;及聯合該第一未校準資料部分與該第二未校準資料部分。
- 如請求項25之系統,其中該控制器經組態以在一單個寫入操作中將該第一未校準資料部分及該第二未校準資料部分聯合至該記憶體單元陣列。
- 如請求項25之系統,其中該控制器進一步經組態以判定對應於與該第一未校準資料部分相關聯之該邏輯位址之該邏輯頁是否係由與關聯於一第三寫入命令之一第三未校準資料部分相關聯之一指示符指代之一邏輯頁。
- 如請求項27之系統,其中該控制器進一步經組態以回應於至少判定對應於與該第一未校準資料部分相關聯之該邏輯位址之該邏輯頁係由與該第三未校準資料部分相關聯之該指示符指代之該邏輯頁而聯合該第一未校準資料部分、該第二未校準資料部分及該第三未校準資料部分。
- 如請求項28之系統,其中控制器經組態以聯合該第一、第二及第三未校準資料部分包括該控制器經組態以將該第一未校準資料部分、該第二未校準資料部分及該第三未校準資料部分寫入至該記憶體單元陣列中之一頁。
- 一種系統,其包括:一記憶體單元陣列;及一控制器,其具有一緩衝器且可操作地耦合至該陣 列,且該控制器經組態以:接收與一第一未校準資料部分相關聯之一寫入命令;將指代對應於與該第一未校準資料部分相關聯之一邏輯位址之一邏輯頁之一指示符儲存於該緩衝器中;及回應於至少對應於與關聯於一後續寫入命令之一第二未校準資料部分相關聯之一邏輯位址之一邏輯頁係對應於由該指示符指代之該第一未校準資料部分之該邏輯頁而聯合該第一未校準資料部分與該第二未校準資料部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/175,388 US9898402B2 (en) | 2011-07-01 | 2011-07-01 | Unaligned data coalescing |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201308078A true TW201308078A (zh) | 2013-02-16 |
TWI494758B TWI494758B (zh) | 2015-08-01 |
Family
ID=47391864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101123634A TWI494758B (zh) | 2011-07-01 | 2012-06-29 | 未校準資料聯合 |
Country Status (7)
Country | Link |
---|---|
US (3) | US9898402B2 (zh) |
EP (1) | EP2726989B1 (zh) |
JP (1) | JP6082736B2 (zh) |
KR (2) | KR101868708B1 (zh) |
CN (1) | CN103733183B (zh) |
TW (1) | TWI494758B (zh) |
WO (1) | WO2013006293A2 (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9898402B2 (en) * | 2011-07-01 | 2018-02-20 | Micron Technology, Inc. | Unaligned data coalescing |
TWI448892B (zh) * | 2011-09-06 | 2014-08-11 | Phison Electronics Corp | 資料搬移方法、記憶體控制器與記憶體儲存裝置 |
US8924631B2 (en) * | 2011-09-15 | 2014-12-30 | Sandisk Technologies Inc. | Method and system for random write unalignment handling |
JP5983019B2 (ja) * | 2012-05-17 | 2016-08-31 | ソニー株式会社 | 制御装置、記憶装置、記憶制御方法 |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
JP6255893B2 (ja) * | 2013-10-24 | 2018-01-10 | 富士通株式会社 | ストレージ制御装置、およびストレージ制御プログラム |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US10656842B2 (en) * | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US10101943B1 (en) * | 2014-09-25 | 2018-10-16 | EMC IP Holding Company LLC | Realigning data in replication system |
JP6540363B2 (ja) * | 2015-08-19 | 2019-07-10 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
TWI588824B (zh) * | 2015-12-11 | 2017-06-21 | 捷鼎國際股份有限公司 | 加快在不連續頁面寫入資料之電腦系統及其方法 |
KR102349381B1 (ko) * | 2017-05-17 | 2022-01-13 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10564890B2 (en) * | 2017-07-07 | 2020-02-18 | Seagate Technology Llc | Runt handling data storage system |
US10838639B2 (en) * | 2017-08-16 | 2020-11-17 | Intelliflash By Ddn, Inc. | Intelligent redundant array of independent disks |
US10430330B2 (en) * | 2017-10-18 | 2019-10-01 | Western Digital Technologies, Inc. | Handling of unaligned sequential writes |
US10372603B2 (en) * | 2017-11-27 | 2019-08-06 | Western Digital Technologies, Inc. | Handling of unaligned writes |
JP7408449B2 (ja) | 2020-03-23 | 2024-01-05 | キオクシア株式会社 | 記憶装置及び記憶方法 |
US11513736B2 (en) | 2021-03-08 | 2022-11-29 | Western Digital Technologies, Inc. | Revised host command generation for unaligned access |
US11755324B2 (en) * | 2021-08-31 | 2023-09-12 | International Business Machines Corporation | Gather buffer management for unaligned and gather load operations |
US20240053923A1 (en) * | 2022-08-10 | 2024-02-15 | Western Digital Technologies, Inc. | Write coalescing via hmb to optimize write performance |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05151068A (ja) | 1991-11-29 | 1993-06-18 | Toshiba Corp | メモリカード装置 |
JP3263110B2 (ja) | 1992-01-08 | 2002-03-04 | 富士通株式会社 | ストアマージ制御方式 |
US5459842A (en) | 1992-06-26 | 1995-10-17 | International Business Machines Corporation | System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory |
JPH1055674A (ja) | 1996-08-09 | 1998-02-24 | Nec Corp | 半導体記憶装置 |
US6728865B1 (en) | 1999-10-20 | 2004-04-27 | Transmeta Corporation | Pipeline replay support for unaligned memory operations |
US8108590B2 (en) * | 2000-01-06 | 2012-01-31 | Super Talent Electronics, Inc. | Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear |
US8452912B2 (en) | 2007-10-11 | 2013-05-28 | Super Talent Electronics, Inc. | Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read |
US6708258B1 (en) | 2001-06-14 | 2004-03-16 | Cisco Technology, Inc. | Computer system for eliminating memory read-modify-write operations during packet transfers |
US6928515B2 (en) | 2002-11-09 | 2005-08-09 | International Business Machines Corporation | Integrated sector format-error correction code system and method for efficient writing in a disk array system |
JP4470455B2 (ja) * | 2003-11-05 | 2010-06-02 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
US20090204872A1 (en) * | 2003-12-02 | 2009-08-13 | Super Talent Electronics Inc. | Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US20060036817A1 (en) | 2004-08-10 | 2006-02-16 | Oza Alpesh B | Method and system for supporting memory unaligned writes in a memory controller |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7882299B2 (en) * | 2004-12-21 | 2011-02-01 | Sandisk Corporation | System and method for use of on-chip non-volatile memory write cache |
US7212440B2 (en) * | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
US7437537B2 (en) | 2005-02-17 | 2008-10-14 | Qualcomm Incorporated | Methods and apparatus for predicting unaligned memory access |
US7873683B2 (en) | 2005-07-01 | 2011-01-18 | Qnx Software Systems Gmbh & Co. Kg | File system having transaction record coalescing |
US7953954B2 (en) * | 2007-01-26 | 2011-05-31 | Micron Technology, Inc. | Flash storage partial page caching |
JP4743174B2 (ja) | 2007-06-29 | 2011-08-10 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
KR101431205B1 (ko) * | 2007-07-13 | 2014-08-18 | 삼성전자주식회사 | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 |
US8131972B2 (en) | 2007-09-19 | 2012-03-06 | International Business Machines Corporation | Method and apparatus for improving memory coalescing in a virtualized hardware environment |
CN101632068B (zh) * | 2007-12-28 | 2015-01-14 | 株式会社东芝 | 半导体存储装置 |
JP4653817B2 (ja) * | 2008-03-01 | 2011-03-16 | 株式会社東芝 | メモリシステム |
JP2010080021A (ja) | 2008-09-29 | 2010-04-08 | Toshiba Storage Device Corp | 記録制御方法及び記録制御部、並びに記憶装置 |
KR101515525B1 (ko) * | 2008-10-02 | 2015-04-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
US8078848B2 (en) * | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
TWI405214B (zh) * | 2009-05-06 | 2013-08-11 | A Data Technology Co Ltd | 快閃記憶體儲存系統之資料燒錄方法 |
US9898402B2 (en) * | 2011-07-01 | 2018-02-20 | Micron Technology, Inc. | Unaligned data coalescing |
US8924631B2 (en) * | 2011-09-15 | 2014-12-30 | Sandisk Technologies Inc. | Method and system for random write unalignment handling |
-
2011
- 2011-07-01 US US13/175,388 patent/US9898402B2/en active Active
-
2012
- 2012-06-25 KR KR1020167003854A patent/KR101868708B1/ko active IP Right Grant
- 2012-06-25 WO PCT/US2012/043996 patent/WO2013006293A2/en active Application Filing
- 2012-06-25 KR KR20147001591A patent/KR20140027491A/ko active Search and Examination
- 2012-06-25 EP EP12808040.5A patent/EP2726989B1/en active Active
- 2012-06-25 JP JP2014518887A patent/JP6082736B2/ja active Active
- 2012-06-25 CN CN201280039444.5A patent/CN103733183B/zh active Active
- 2012-06-29 TW TW101123634A patent/TWI494758B/zh active
-
2018
- 2018-02-15 US US15/897,797 patent/US10191843B2/en active Active
- 2018-12-17 US US16/221,846 patent/US10853238B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20140027491A (ko) | 2014-03-06 |
CN103733183A (zh) | 2014-04-16 |
US10191843B2 (en) | 2019-01-29 |
WO2013006293A2 (en) | 2013-01-10 |
JP6082736B2 (ja) | 2017-02-15 |
EP2726989B1 (en) | 2020-05-06 |
TWI494758B (zh) | 2015-08-01 |
US10853238B2 (en) | 2020-12-01 |
CN103733183B (zh) | 2016-08-17 |
WO2013006293A3 (en) | 2013-03-14 |
US9898402B2 (en) | 2018-02-20 |
KR20160025037A (ko) | 2016-03-07 |
JP2014523032A (ja) | 2014-09-08 |
US20190121730A1 (en) | 2019-04-25 |
US20180173621A1 (en) | 2018-06-21 |
US20130007381A1 (en) | 2013-01-03 |
EP2726989A2 (en) | 2014-05-07 |
KR101868708B1 (ko) | 2018-06-18 |
EP2726989A4 (en) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI494758B (zh) | 未校準資料聯合 | |
US10282128B2 (en) | Data deduplication | |
US11232041B2 (en) | Memory addressing | |
US9342371B2 (en) | Boot partitions in memory devices and systems | |
US20100070688A1 (en) | Flash memory device and method for writing data thereto | |
KR20200033985A (ko) | 논리적/물리적 매핑 | |
US20110004720A1 (en) | Method and apparatus for performing full range random writing on a non-volatile memory | |
JP2013544414A (ja) | トランザクションログの復元 | |
KR20210003946A (ko) | 논리적-물리적 데이터 구조 | |
KR101400506B1 (ko) | 비휘발성 메모리 제어기 및 그 제어 방법 | |
US10949348B2 (en) | Storage device and cache area addressing method | |
CN116107917A (zh) | 存储设备和操作方法 |