TWI494761B - 分割實體區塊之方法及記憶體系統 - Google Patents

分割實體區塊之方法及記憶體系統 Download PDF

Info

Publication number
TWI494761B
TWI494761B TW102118968A TW102118968A TWI494761B TW I494761 B TWI494761 B TW I494761B TW 102118968 A TW102118968 A TW 102118968A TW 102118968 A TW102118968 A TW 102118968A TW I494761 B TWI494761 B TW I494761B
Authority
TW
Taiwan
Prior art keywords
block
size
memory
data
sub
Prior art date
Application number
TW102118968A
Other languages
English (en)
Other versions
TW201437808A (zh
Inventor
Yu Tang Chang
Original Assignee
Skymedi 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 Skymedi Corp filed Critical Skymedi Corp
Publication of TW201437808A publication Critical patent/TW201437808A/zh
Application granted granted Critical
Publication of TWI494761B publication Critical patent/TWI494761B/zh

Links

Classifications

    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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
    • 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/7202Allocation control and policies

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)
  • Memory System (AREA)

Description

分割實體區塊之方法及記憶體系統
本發明係指一種分割一記憶體系統中的實體區塊之方法及其記憶體系統,尤指一種可根據連續寫入之資料長度及區塊大小,將記憶體中的實體區塊分割為子區塊之方法及其記憶體系統。
記憶體控制器常見於記憶體系統,尤其是非揮發性之記憶體系統,用來進行記憶體的工作管理。一般來說,由於儲存於非揮發性記憶體系統的資料在電源關閉之後仍不會遺失,因此非揮發性記憶體系統成為一種可用來儲存系統資料的重要媒介。在各種非揮發性記憶體系統中,反及閘快閃記憶體(NAND Flash Memory)具有低耗電及高速度之優點,因此被廣為採用於可攜式電子裝置中。
於反及閘快閃記憶體中,讀/寫之操作係以一頁(Page)為單位來進行,而抹除之操作係以一區塊(Block)為單位來進行,其中一區塊之大小往往遠大於一頁之大小。一般來說,一區塊可能由64或128頁所組成。當一使用者欲存取反及閘快閃記憶體之資料時,資料位址必須由邏輯部分映射至實體部分。常見的二種映射方法為頁映射(Page Mapping)及區塊映射(Block Mapping)。根據頁映射之方式,資料的位址係從邏輯頁映射至實體頁。換句話說,當一頁新資料欲寫入記憶體時,可在記憶體中找出一空的實體頁來寫入此新的資料。接著,一映射表記錄實體頁對應於邏輯頁之位址。然而,當 一記憶體系統採用頁映射方式時,映射表會變得十分龐大,因此需要使用大量的隨機存取記憶體(Random Access Memory,RAM)來儲存映射表。
為了降低用來儲存映射表的隨機存取記憶體,記憶體系統可改用區塊映射之方式。根據區塊映射之方式,資料位址係從邏輯區塊映射至實體區塊,因此映射表只需要記錄實體區塊對應於邏輯區塊之位址。如上所述,一區塊之大小遠大於一頁之大小,亦即每一記憶體系統中,區塊之數量遠少於頁之數量,因此映射表之大小可大幅降低。根據區塊映射之方式,當一頁新資料欲寫入一第一區塊中某一頁時,可選擇一第二區塊並將此頁新資料寫入第二區塊中相對應之實體頁位址。此外,第一區塊之其它頁中的資料必須複製到第二區塊中相對應之頁數。舉例來說,請參考第1圖,第1圖為一頁新資料根據區塊映射機制寫入一記憶體系統10之示意圖。如第1圖所示,記憶體系統10包含四個具有邏輯區塊位址(Logical Block Address,LBA)L0~L3之邏輯區塊及四個具有實體區塊位址(Physical Block Address,PBA)P0~P3之實體區塊。假設邏輯區塊L0中的資料原本對應於實體區塊P1中的資料。當一頁新資料N1寫入記憶體系統10中的邏輯區塊L0時,新資料N1不可直接寫入實體區塊P1中相對應之頁數,寫入的動作必須執行完一實體區塊中每一頁。記憶體系統10先選擇另一實體區塊(如P2),而新的資料及原來資料必須以一預設順序寫入實體區塊P2中每一頁。詳細來說,資料P1A係從實體區塊P1複製到實體區塊P2中相對應之頁數,接著再將新資料N1寫入實體區塊P2。於新資料N1寫入完成之後,再從實體區塊P1將資料P1B複製到實體區塊P2。最後,在映射表中修改紀錄,改為邏輯區塊L0映射於實體區塊P2以取代P1,進而完成寫入流程。
如上所述,即使只有一頁資料須寫入記憶體系統10,寫入的動作必須執行於整個實體區塊,因而大幅降低效率。因此,業界發展出一種混合 映射的方式,可結合區塊映射及頁映射之特性。混合映射將實體區塊分割為頁映射部分及區塊映射部分。當只有極少頁之隨機寫入資料欲執行時,資料可配置於頁映射之部分;當具有較長資料之連續寫入欲執行時,資料可配置於區塊映射之部分。於區塊映射之部分中,若連續寫入之資料長度與區塊大小不同,仍會有部分原來區塊中的舊資料必須複製到目標區塊,這樣的操作稱為複製回存(Copy Back),會降低資料存取之效率。尤其是近年來,記憶體系統的大小持續擴充,使得區塊大小亦逐漸增加。在此情況下,每一區塊中可能有更多頁需執行複製回存,因而使效率更低。有鑑於此,習知技術實有改進之必要。
因此,本發明之主要目的即在於提供一種可根據連續寫入之資料長度及區塊大小,將記憶體中的實體區塊分割為子區塊之方法及其記憶體系統。
本發明揭露一種分割一記憶體中的實體區塊之方法,包含有根據一連續寫入之一資料長度及一實體區塊之大小,判斷一子區塊大小值;將該實體區塊分割為複數個子區塊,其中每一子區塊之大小等於該子區塊大小值;以及將複數個邏輯區塊映射至該複數個子區塊。
本發明另揭露一記憶體系統,包含有一記憶體;以及一記憶體控制器。該記憶體控制器具有一程式碼,該程式碼由一處理器執行,以進行分割該記憶體中的實體區塊之方法,該方法包含有根據一連續寫入之一資料長度及一實體區塊之大小,判斷一子區塊大小值;將該實體區塊分割為複數個子區塊,其中每一子區塊之大小等於該子區塊大小值;以及將複數個邏輯區塊映射至該複數個子區塊。
10‧‧‧記憶體系統
L0~L3‧‧‧邏輯區塊位址
P0~P3‧‧‧實體區塊位址
N1‧‧‧新資料
P1A、P1B‧‧‧資料
20‧‧‧記憶體系統
L20~L23‧‧‧邏輯區塊位址
P20~P23‧‧‧實體區塊位址
LX‧‧‧資料
30‧‧‧記憶體系統
L30~L33‧‧‧邏輯區塊位址
P30~P33‧‧‧實體區塊位址
LY、LO‧‧‧資料
40‧‧‧記憶體系統
LM、LN‧‧‧資料
LM1~LM4、LN1~LN4‧‧‧子資料
50‧‧‧記憶體系統
L50~L53、L50’~L53’‧‧‧邏輯區塊位址
P50~P53、P50’~P53’‧‧‧實體區塊位址
60‧‧‧記憶體系統
LM’、LN’‧‧‧子資料
第1圖為一頁新資料根據區塊映射機制寫入一記憶體系統之示意圖。
第2圖為本發明實施例執行於一記憶體系統之一連續寫入,其資料長度等於區塊大小之示意圖。
第3圖為本發明實施例執行於一記憶體系統之一連續寫入,其資料長度與區塊大小不同之示意圖。
第4圖為本發明實施例一記憶體系統中實體區塊執行一連串連續寫入之示意圖。
第5圖為本發明實施例執行於另一記憶體系統之一連續寫入,其資料長度與區塊大小不同之示意圖。
第6圖為本發明實施例另一記憶體系統中一實體區塊執行一連串連續寫入之示意圖。
如上所述,記憶體系統可使用一種同時具有頁映射及區塊映射功能之混合映射方法,以同時適應隨機寫入及連續寫入二種寫入方式。根據區塊映射方式,不論是否有整個區塊的資料須進行寫入,寫入資料之運作必須執行於區塊中每一頁。若欲寫入資料的大小只有數頁且少於一區塊之大小時,必須從原來區塊中其它頁複製資料至相對應頁數中,此即複製回存(Copy Back)。若有較多頁需執行複製回存時,連續寫入之效率會降低。
請參考第2圖,第2圖為本發明實施例執行於一記憶體系統20之一連續寫入,其資料長度等於區塊大小之示意圖。如上所述,當區塊大小不等於連續寫入之資料長度時,將會有數頁需執行複製回存;亦即,原來區塊中部分舊資料會被複製到目標區塊。當區塊大小等於連續寫入之資料長度時,則不會有任何一頁需執行複製回存,可使效率達到最高。如第2圖所示, 記憶體系統20亦包含四個具有邏輯區塊位址(Logical Block Address,LBA)L20~L23之邏輯區塊以及四個具有實體區塊位址(Physical Block Address,PBA)P20~P23之實體區塊。假設資料長度4MB之一連續寫入資料LX欲寫入記憶體系統20時,連續寫入資料LX可儲存於邏輯區塊L20。在此情況下,由於區塊大小亦等於4MB,邏輯區塊L20可直接映射至實體區塊P21。
如此一來,當一連串連續寫入資料持續寫入記憶體系統20,且每一連續寫入之長度皆等於4MB時,每一連續寫入可分別執行於記憶體系統20中一區塊之每一頁。在此情況下,將不會有任何頁需要執行複製回存,因此,連續寫入之效率可達到最高。
在某些實施例中,連續寫入之資料長度可能與區塊大小不同。請參考第3圖,第3圖為本發明實施例執行於一記憶體系統30之一連續寫入,其資料長度與區塊大小不同之示意圖。如第3圖所示,記憶體系統30包含四個具有邏輯區塊位址L30~L33之邏輯區塊以及四個具有實體區塊位址P30~P33之實體區塊。與記憶體系統20不同之處在於,記憶體系統30中每一邏輯區塊及實體區塊之區塊大小為3MB而不是4MB。當資料長度等於4MB之一連續寫入資料LY欲寫入記憶體系統30時,資料LY須佔用一又三分之一個邏輯區塊,因此,三分之一個額外的實體區塊必須用來儲存資料LY。當記憶體系統30使用習知區塊映射方式時,將會有三分之二個實體區塊必須用來儲存原來映射至邏輯區塊位址L31之其它資料LO。為避免連續寫入之資料長度及區塊大小之差異所造成的複製回存,實體區塊可分割為複數個子區塊,以確保連續寫入可執行於一單獨子區塊中的每一頁。如第3圖所示,每一實體區塊可分割為三個子區塊,且每一子區塊之大小皆等於1MB。由於資料LY之長度等於4MB,資料LY剛好可儲存於四個子區塊。詳細來說,資料LY可分割為子資料LY1~LY4,而每一子資料之大小等於1MB。子資料 LY1~LY4可分別儲存於不同子區塊,在此情況下,邏輯區塊可映射至子區塊,且整個子區塊皆可用來儲存子資料,不會有任何多餘頁需執行複製回存。如此一來,連續寫入之效率可達到最高。
請參考第4圖,第4圖為本發明實施例一記憶體系統40中實體區塊P40~P42執行一連串連續寫入之示意圖。如第4圖所示,當包含有長度為4MB之一連串連續寫入資料LM及LN欲寫入記憶體系統40,且記憶體系統40之區塊大小等於3MB時,資料LM及LN可各自分割為四個子資料LM1~LM4及LN1~LN4,且每一子資料之資料長度等於1MB。每一實體區塊P40~P42皆可分割為三個子區塊,且每一子區塊之大小等於1MB。子區塊可用來儲存每一子資料LM1~LM4及LN1~LN4。因此,邏輯區塊可映射至子區塊,且沒有任何多餘頁需執行複製回存。
在多數情況下,實體區塊分割為子區塊之目的在於避免實體區塊中部分頁需執行複製回存因而儲存到不需要的資料。因此,子區塊之大小可根據連續寫入之資料長度及區塊大小來決定。更具體而言,子區塊之大小可設定為連續寫入之資料長度及區塊大小之最大公因數。如第3圖所示,連續寫入之資料長度為4MB且區塊大小為3MB,因此子區塊之大小可藉由計算連續寫入之資料長度(4MB)及區塊大小(3MB)之最大公因數而取得;亦即,子區塊之大小為1MB。
通常區塊大小會等於一特定數量之最小單位,而此特定數量為2的冪次方,此最小單位為記憶體之一最小執行單位。舉例來說,當區塊以MB為最小單位且區塊大小等於1MB、2MB或4MB時,4MB之連續寫入資料會佔用一或多個完整的邏輯區塊。每一邏輯區塊可分別映射至一實體區塊,且連續寫入之資料可儲存於完整的實體區塊。因此,沒有任何頁需執行複製回 存。另一方面,若此特定數量不為2的冪次方時,例如區塊大小等於3MB或5MB時,4MB之連續寫入資料不會佔用完整的邏輯區塊。在此情況下,則必須將實體區塊分割為子區塊再進行寫入。
值得注意的是,只要沒有任何頁需執行複製回存使得區塊中不需儲存其它資料時,分割可依照任何方式進行。若子區塊大小值較小時,沒有任何頁需執行複製回存的機率更高,但系統需要更多隨機存取記憶體來儲存映射表。根據上述實施例,當子區塊大小值設定為連續寫入之資料長度及區塊大小之最大公因數時,不需執行複製回存,且用來儲存映射表之隨機存取記憶體可達到最小。
於部分實施例中,即使區塊大小等於特定數量之最小單位,且此特定數量為2的冪次方,連續寫入之資料(4MB)亦可能無法恰好佔用一個或數個完整的邏輯區塊。此時區塊大小可能為8MB、16MB等。在此情況下,連續寫入之資料僅佔用部分邏輯區塊,且當邏輯區塊映射至實體區塊時,實體區塊中仍有數頁需執行複製回存,因而降低資料存取之效率。因此,實體區塊仍必須進行分割,以避免複製回存的發生。
請參考第5圖,第5圖為本發明實施例執行於另一記憶體系統50之一連續寫入,其資料長度與區塊大小不同之示意圖。如第5圖所示,記憶體系統50中的記憶體由二個子記憶體所組成,其中之一子記憶體包含有4個具有邏輯區塊位址L50~L53之邏輯區塊,另一子記憶體包含有4個具有邏輯區塊位址LBAL50’~L53’之邏輯區塊。具有實體區塊位址P50~P53及P50’~P53’之相對應實體區塊亦包含於記憶體系統50中。二個子記憶體中所有邏輯區塊及實體區塊之大小皆等於4MB。由於記憶體系統50中每一實體區塊皆由子記憶體中二個實體區塊所組成,記憶體系統50中實體區塊之大小等於 8MB。詳細來說,第一子記憶體中每一實體區塊P50~P53與第二子記憶體中一相對應實體區塊P50’~P53’可相互結合,所產生之區塊大小為原來實體區塊之大小的兩倍,即8MB。在此情況下,當連續寫入之資料長度等於4MB時,連續寫入之資料會儲存於半個實體區塊。為了避免複製回存執行於另外半個實體區塊,可將此實體區塊分割為2個子區塊,且每一子區塊之大小等於4MB,即等於連續寫入之資料長度。如此一來,連續寫入可執行於完整的子區塊,且沒有任何多餘頁需執行複製回存,使得連續寫入之效率達到最大值。
值得注意的是,於上述實施例中,區塊大小為8MB而連續寫入之資料長度為4MB。連續寫入之資料長度及區塊大小之最大公因數等於4MB。因此,最佳的分割方式係將子區塊大小分割為4MB,使邏輯區塊可映射至完整的子區塊,如第5圖所示。
同樣地,請參考第6圖,第6圖為本發明實施例另一記憶體系統60中一實體區塊執行一連串連續寫入之示意圖。如第6圖所示,當包含有長度等於4MB之資料LM’及LN’的一連串連續寫入執行於記憶體系統60,且記憶體系統60中區塊之大小等於8MB時,實體區塊P60可分割為二個子區塊,其中一子區塊可儲存資料LM’而另一子區塊可儲存資料LN’。因此,邏輯區塊可映射至完整的子區塊,且沒有任何多餘頁需執行複製回存。
值得注意的是,於記憶體系統50及60中,實體區塊係分割為大小值等於4MB之子區塊,因此,長度為4MB之連續寫入資料可寫入一子區塊中所有頁,且沒有任何頁需執行複製回存。實體區塊亦可使用其它方法進行分割,以確保連續寫入可執行於完整的區塊以避免複製回存。其它可實行的子區塊大小值為2MB或1MB,然而,相較於子區塊大小值等於4MB的分 割方式,較細的分割方式需佔用更多隨機存取記憶體來儲存映射表。因此,最佳的分割方式係調整子區塊之大小使其等於連續寫入之資料長度及區塊大小之最大公因數。另一方面,上述實施例之記憶體系統20,30,40,50及60中使用的分割方式更適用於一連串具有相同長度連續寫入資料。當具有不同長度之連續寫入資料欲寫入時,亦可使用上述分割方式,在此情況下,則無可避免地有數頁需執行複製回存。
值得注意的是,本發明之主要精神在於提供一種可根據一連續寫入之資料長度及記憶體之區塊大小,將記憶體中的實體區塊分割為子區塊之方法。本領域具通常知識者當可據以修飾或變化,而不限於此。舉例來說,雖然上述實施例中連續寫入之資料長度皆為4MB,但資料長度亦可能是2MB、8MB或任何其它長度。於上述實施例中,當區塊大小等於2.5MB或3.5MB時,若區塊大小及資料長度的單位為MB,則無法以最大公因數作為分割的依據。在此情況下,可定義一頁為單位。舉例來說,若區塊大小等於3.5MB且每一頁之大小等於16kB,則一實體區塊包含有224頁。當一連串資料長度等於4MB之連續寫入資料欲寫入記憶體系統時,每一連續寫入可包含256頁之資料,子區塊之大小可設定為224頁及256頁之最大公因數;亦即,子區塊大小值等於32頁之大小或0.5MB。
上述實施例皆有益於使用區塊映射機制的記憶體系統,其實體區塊可根據區塊大小及連續寫入之資料長度來進行分割。更具體而言,本發明之實施例可用於各類型之非揮發性記憶體。非揮發性記憶體包含反及閘快閃記憶體或其它類型之記憶體,在非揮發性記憶體中,資料寫入之前必須先將原來的資料抹除,且區塊大小即為用來抹除資料的最小單位之大小。由於區塊大小等於用來抹除資料的最小單位之大小,且遠大於一頁之大小(用來讀/寫資料的最小單位大小),若欲寫入之資料無法寫入一區塊中之每一頁,複 製回存需執行於部分頁中,因而降低資料存取之效率。在此情況下,本發明分割實體區塊之方法可用於避免複製回存的發生。近年來,記憶體系統的大小逐漸擴充,使得區塊大小亦隨之而擴大,若連續寫入之資料長度為固定值時,複製回存可能需要執行於每一實體區塊中更多頁。因此,本發明之實施例更適用於容量更大的記憶體系統。
於習知技術中,當只有一頁資料須寫入記憶體系統時,寫入的動作必須執行於整個實體區塊,因而大幅降低效率。即使使用混合映射的方式,當連續寫入之資料長度與區塊大小不同時,仍會有數筆舊資料須從原來的區塊複製到目標區塊,此複製回存之步驟同樣會降低資料存取之效率。相較之下,本發明提供一種於記憶體系統中分割實體區塊之方法,而實體區塊係根據連續寫入之資料長度及原來的區塊大小分割為子區塊。如此一來,需執行複製回存之頁數可達到最小,使資料存取之效率達到最大。
20‧‧‧記憶體系統
L20~L23‧‧‧邏輯區塊位址
P20~P23‧‧‧實體區塊位址
LX‧‧‧資料

Claims (18)

  1. 一種分割一記憶體中的實體區塊之方法,包含有:根據一連續寫入之一資料長度及一實體區塊之大小,判斷一子區塊大小值;將該實體區塊分割為複數個子區塊,其中每一子區塊之大小等於該子區塊大小值;以及將複數個邏輯區塊映射至該複數個子區塊。
  2. 如請求項1所述之方法,其中根據該連續寫入之該資料長度及該實體區塊之大小,判斷該子區塊大小值之步驟包含將該子區塊大小值設定為該連續寫入之該資料長度及該實體區塊大小之一最大公因數。
  3. 如請求項1所述之方法,其中一連串之連續寫入持續執行於該記憶體,且每一連續寫入之長度等於該資料長度。
  4. 如請求項1所述之方法,其中該記憶體係一非揮發性記憶體。
  5. 如請求項4所述之方法,其中該非揮發性記憶體係一反及閘快閃記憶體(NAND Flash Memory)。
  6. 如請求項1所述之方法,其中當一第二資料寫入該記憶體之前,必須先於該記憶體中抹除一第一資料,而該實體區塊之大小等於抹除該第一資料之一最小單位之大小。
  7. 如請求項1所述之方法,其中該記憶體係由二子記憶體所組成,而該實體區塊之大小等於該子記憶體中原來的一實體區塊之兩倍大小。
  8. 如請求項1所述之方法,其中該實體區塊之大小等於一特定數量之最小單位,其中該特定數量非2的冪次方。
  9. 如請求項8所述之方法,其中該最小單位為該記憶體之一最小執行單位。
  10. 一記憶體系統,包含有:一記憶體;以及一記憶體控制器,具有一程式碼,該程式碼由一處理器執行,以進行分割該記憶體中的實體區塊之方法,該方法包含有:根據一連續寫入之一資料長度及一實體區塊之大小,判斷一子區塊大小值;將該實體區塊分割為複數個子區塊,其中每一子區塊之大小等於該子區塊大小值;以及將複數個邏輯區塊映射至該複數個子區塊。
  11. 如請求項10所述之記憶體系統,其中根據該連續寫入之該資料長度及該實體區塊之大小,判斷該子區塊大小值之步驟包含將該子區塊大小值設定為該連續寫入之該資料長度及該實體區塊大小之一最大公因數。
  12. 如請求項10所述之記憶體系統,其中一連串之連續寫入持續執行於該記憶體,且每一連續寫入之長度等於該資料長度。
  13. 如請求項10所述之記憶體系統,其中該記憶體係一非揮發性記憶體。
  14. 如請求項13所述之記憶體系統,其中該非揮發性記憶體係一反及閘快閃記憶體(NAND Flash Memory)。
  15. 如請求項10所述之記憶體系統,其中當一第二資料寫入該記憶體之前,必須先於該記憶體中抹除一第一資料,而該實體區塊之大小等於抹除該第一資料之一最小單位之大小。
  16. 如請求項10所述之記憶體系統,其中該記憶體係由二子記憶體所組成,而該實體區塊之大小等於該子記憶體中原來的一實體區塊之兩倍大小。
  17. 如請求項10所述之記憶體系統,其中該實體區塊之大小等於一特定數量之最小單位,其中該特定數量非2的冪次方。
  18. 如請求項17所述之記憶體系統,其中該最小單位為該記憶體之一最小執行單位。
TW102118968A 2013-03-26 2013-05-29 分割實體區塊之方法及記憶體系統 TWI494761B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/850,310 US20140297921A1 (en) 2013-03-26 2013-03-26 Method of Partitioning Physical Block and Memory System Thereof

Publications (2)

Publication Number Publication Date
TW201437808A TW201437808A (zh) 2014-10-01
TWI494761B true TWI494761B (zh) 2015-08-01

Family

ID=51598503

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102118968A TWI494761B (zh) 2013-03-26 2013-05-29 分割實體區塊之方法及記憶體系統

Country Status (3)

Country Link
US (1) US20140297921A1 (zh)
CN (1) CN104077235A (zh)
TW (1) TWI494761B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632801B2 (en) * 2014-04-09 2017-04-25 Intel Corporation Banked memory access efficiency by a graphics processor
TWI544335B (zh) * 2014-10-31 2016-08-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
KR102036514B1 (ko) * 2015-07-13 2019-10-28 엘에스산전 주식회사 메모리 소자를 이용한 데이터 엑세스 장치
TWI575374B (zh) * 2015-08-04 2017-03-21 群聯電子股份有限公司 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元
CN105975403A (zh) * 2016-04-28 2016-09-28 浪潮(北京)电子信息产业有限公司 一种地址映射方法、系统及固态硬盘
US10446238B2 (en) * 2017-09-27 2019-10-15 Intel Corporation Pseudo single pass NAND memory programming
TWI655541B (zh) * 2017-10-24 2019-04-01 宇瞻科技股份有限公司 延長固態硬碟壽命之方法
US10515701B1 (en) * 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
EP3671423B1 (en) 2017-12-29 2021-09-01 Huawei Technologies Co., Ltd. Data access method and storage array
US11139959B2 (en) * 2018-02-01 2021-10-05 The University Of Chicago Stream ciphers for digital storage encryption
US10860584B2 (en) * 2018-03-22 2020-12-08 Google Llc Method and system for performing inner-joins on a sharded data set
CN109885509B (zh) * 2019-02-26 2021-10-26 京信网络系统股份有限公司 非易失性存储器的访问方法及装置
US11630595B2 (en) * 2019-03-27 2023-04-18 Alibaba Group Holding Limited Methods and systems of efficiently storing data
US10665303B1 (en) * 2019-05-10 2020-05-26 Macronix International Co., Ltd. Erasing blocks with few programmed pages
CN112286838B (zh) * 2019-07-25 2024-09-06 戴尔产品有限公司 存储设备可配置的映射粒度系统
KR20210037367A (ko) 2019-09-27 2021-04-06 삼성전자주식회사 비휘발성 메모리 장치
US11501847B2 (en) 2019-09-27 2022-11-15 Samsung Electronics Co., Ltd. Nonvolatile memory device with address re-mapping
US11287989B2 (en) 2020-03-24 2022-03-29 Western Digital Technologies, Inc. Dynamic allocation of sub blocks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070279964A1 (en) * 2006-05-25 2007-12-06 Honeywell International Inc. SRAM split write control for a delay element
CN101095115A (zh) * 2004-11-05 2007-12-26 数据机器人技术公司 存储系统条件指示器和方法
TW200929226A (en) * 2007-10-30 2009-07-01 Spansion Llc Non-volatile memory array partitioning architecture and method to utilize single level cells and multi-level cells within the same memory
CN102236612A (zh) * 2010-04-22 2011-11-09 群联电子股份有限公司 动态切换分割区方法、记忆卡控制器与记忆卡储存系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
JP5166118B2 (ja) * 2008-05-21 2013-03-21 株式会社東芝 半導体メモリの制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101095115A (zh) * 2004-11-05 2007-12-26 数据机器人技术公司 存储系统条件指示器和方法
US20070279964A1 (en) * 2006-05-25 2007-12-06 Honeywell International Inc. SRAM split write control for a delay element
TW200929226A (en) * 2007-10-30 2009-07-01 Spansion Llc Non-volatile memory array partitioning architecture and method to utilize single level cells and multi-level cells within the same memory
CN102236612A (zh) * 2010-04-22 2011-11-09 群联电子股份有限公司 动态切换分割区方法、记忆卡控制器与记忆卡储存系统

Also Published As

Publication number Publication date
TW201437808A (zh) 2014-10-01
US20140297921A1 (en) 2014-10-02
CN104077235A (zh) 2014-10-01

Similar Documents

Publication Publication Date Title
TWI494761B (zh) 分割實體區塊之方法及記憶體系統
US11232041B2 (en) Memory addressing
US9229876B2 (en) Method and system for dynamic compression of address tables in a memory
EP2920698B1 (en) Methods and devices for avoiding lower page corruption in data storage devices
JP5649742B2 (ja) トランザクションログの復元
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US10168940B2 (en) Data storage using SLC and TLC memory banks and data maintenance method thereof
US20090198952A1 (en) Memory Mapping Architecture
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
KR20120060236A (ko) 파워 인터럽트 관리
CN118302740A (zh) 使用写时复制的固态驱动器上复制技术
US20170285953A1 (en) Data Storage Device and Data Maintenance Method thereof
TW201443644A (zh) 管理非揮發性記憶體之方法及其非揮發性儲存裝置
US9552289B1 (en) Bitwise addressing of entries in a forward lookup table
JP6148996B2 (ja) 区分された読み出し‐修正‐書き込み操作のための装置および方法
CN106844229B (zh) 固态硬盘固件映射表的组织方法、系统及装置
CN113590505B (zh) 地址映射方法、固态硬盘控制器及固态硬盘
US11113205B2 (en) Die addressing using a reduced size translation table entry
KR102589609B1 (ko) 분할된 저장장치에서의 스냅샷 관리
US11269534B2 (en) Data storage device and non-volatile memory control method
US9361040B1 (en) Systems and methods for data storage management
CN109002265B (zh) 一种数据处理的方法以及相关装置
US20210406169A1 (en) Self-adaptive wear leveling method and algorithm
CN118778908A (zh) 一种虚拟块的管理方法以及应用了该方法的存储设备