TWI514140B - 非揮發性記憶裝置及其操作方法 - Google Patents
非揮發性記憶裝置及其操作方法 Download PDFInfo
- Publication number
- TWI514140B TWI514140B TW102115472A TW102115472A TWI514140B TW I514140 B TWI514140 B TW I514140B TW 102115472 A TW102115472 A TW 102115472A TW 102115472 A TW102115472 A TW 102115472A TW I514140 B TWI514140 B TW I514140B
- Authority
- TW
- Taiwan
- Prior art keywords
- sub
- memory device
- volatile memory
- power
- access instruction
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
本發明是有關於一種記憶裝置或儲存裝置,且特別是有關於一種非揮發性記憶裝置及其操作方法。
一般固態硬碟(solid state disk/drive,SSD)或快閃存儲器(Flash memory)在使用時,需要使用映射表(mapping table)來記錄邏輯位址至實體位址的映射關係。主機(host)通常係依據頁面映射(Page Mapping)、區塊映射(Block Mapping)、置換區塊(Replacement Block)或日誌區塊(Log Block)等模式對固態硬碟(solid state disk/drive,SSD)或快閃存儲器(Flash memory)內之資料進行存取。
儘管不同模式對應的映射表所存儲的內容各不相同,但當固態硬碟或快閃存儲器接收主機(host)的存取指令時,固態硬碟或快閃存儲器均須依據映射表而將該存取指令的邏輯位址轉換為固態硬碟或快閃存儲器中快閃記憶體(FLASH memory)的實體位址,然後對轉換獲得的實體位址所指的實體頁執行該存取指
令。
在不斷執行主機的眾多存取指令的過程中,邏輯位址與實體位址之對應關係可能會被對應地改變,因此映射表的內容可能會被不斷地更新。通常映射表被儲存在動態隨機存取記憶體(dynamic random access memory,DRAM)中,以便加快存取速度。當固態硬碟進行正常斷電程序時,映射表會被保存於固態硬碟內的快閃記憶體(FLASH memory)中,以確保不會因為斷電(power-off)而佚失了映射表的內容。當供電給固態硬碟時,固態硬碟會進行初始化程序。於初始化程序中,固態硬碟從快閃記憶體讀出映射表,以及將該映射表寫回動態隨機存取記憶體。
然而,當固態硬碟發生非正常斷電事件時,由於映射表來不及寫入快閃記憶體中,以至於佚失了映射表的內容。當發生非正常斷電後再重新供電給固態硬碟時,由於映射表的內容已經佚失,傳統固態硬碟於初始化程序中需要重建整個映射表。在重建映射表的過程中,固態硬碟需要掃描固態硬碟內所有快閃記憶體晶片,掃描快閃記憶體晶片內所有實體塊(physical block),甚至掃描實體塊內所有實體頁(physical page),以便重建整個映射表。傳統固態硬碟需要等整個映射表重建完成後,才會結束初始化程序並進入正常操作模式。
固態硬碟的記憶容量越多,映射表的內容也越多,使得需要花費更多的時間重建整個映射表。一些大容量的固態硬碟甚至需要花費超過30分鐘來重建整個映射表。因此,當發生非正常
斷電後再重新供電給固態硬碟時,傳統固態硬碟需要花費大量時間重建整個映射表與執行初始化程序,造成主機的存取指令需要被滯後較長的時間才能被響應。
本發明提供一種非揮發性記憶(non-volatile memory,NVM)裝置及其操作方法,以在發生非正常斷電(power-off)後再重新上電(power-on)時可以加速非揮發性記憶裝置的啟動速度。
本發明實施例提出一種非揮發性記憶裝置的操作方法。此操作方法包括:將多個邏輯位址(logical address)分群為多個邏輯位址群組;依據該些邏輯位址群組,將在該非揮發性記憶裝置的主記憶體內的映射表(mapping table)分割為多個子映射表;當該非揮發性記憶裝置處理主機(host)的存取指令時,由該非揮發性記憶裝置依據該存取指令的邏輯位址而從該些子映射表中選擇至少一個對應子映射表;若所述至少一個對應子映射表為需重建,則重建所述至少一個對應子映射表;以及依據重建後的所述至少一個對應子映射表,轉換該存取指令的邏輯位址以存取該非揮發性記憶裝置中的非揮發性儲存單元。
本發明實施例提出一種非揮發性記憶裝置,包括主記憶體、非揮發性儲存單元以及控制器。控制器耦接至主記憶體與非揮發性儲存單元。控制器將多個邏輯位址分群為多個邏輯位址群組,且依據該些邏輯位址群組,將在主記憶體內的映射表分割為
多個子映射表。當控制器處理主機的存取指令時,控制器依據該存取指令的邏輯位址而從該些子映射表中選擇至少一個對應子映射表。若所述至少一個對應子映射表為需重建,則控制器重建所述至少一個對應子映射表,並依據重建後的所述至少一個對應子映射表,轉換存取指令的邏輯位址以存取非揮發性儲存單元。
基於上述,本發明實施例所提供的非揮發性記憶裝置及其操作方法,其依據邏輯位址群組將在映射表分割為多個子映射表。在發生非正常斷電(power-off)後再重新上電(power-on)時,所述非揮發性記憶裝置及其操作方法可以暫時不對整個映射表進行重建,或僅選擇部份的子映射表進行重建。當非揮發性記憶裝置接收/處理主機的存取指令時,若該存取指令的邏輯位址所屬的子映射表為需要重建,非揮發性記憶裝置才會對該存取指令所對應的子映射表進行重建,而不是一次對整個映射表進行重建。由於每一個子映射表的大小可以遠小於整個映射表的大小,因此本發明實施例所提供的非揮發性記憶裝置及其操作方法可以在發生非正常斷電後再重新上電時加速非揮發性記憶裝置的啟動速度。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
10‧‧‧主機
100‧‧‧非揮發性記憶裝置
110‧‧‧控制器
120‧‧‧主記憶體
121‧‧‧信息表
122‧‧‧索引表
130‧‧‧非揮發性儲存單元
1211‧‧‧重建標誌
1212‧‧‧實體塊位址信息
MT‧‧‧映射表
S205~S240、S305~S315、S405~S430‧‧‧步驟
SMT_1、SMT_2、SMT_n‧‧‧子映射表
圖1是依照本發明實施例說明一種非揮發性記憶裝置的電路方塊示意圖。
圖2是依照本發明一實施例說明圖1所示非揮發性記憶裝置的操作方法示意圖。
圖3是依照本發明一實施例說明圖1所示非揮發性記憶裝置重建某個子映射表的示意圖。
圖4是依照本發明另一實施例說明圖1所示非揮發性記憶裝置的操作方法示意圖。
圖5是依照本發明又一實施例說明圖1所示非揮發性記憶裝置的操作方法示意圖。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
圖1是依照本發明實施例說明一種非揮發性記憶(non-volatile memory,NVM)裝置100的電路方塊示意圖。非揮發
性記憶裝置100耦接至主機10。非揮發性記憶裝置100的例子包括個人電腦記憶卡國際協會(Personal Computer Memory Card International Association,PCMCIA)卡、小型快閃(compact flash,CF)卡、智慧型媒體卡(smart media card,SM,SMC)、隨身碟(memory stick)、多媒體卡(multimedia card,MMC、RS-MMC、MMC-micro)、安全數位卡(security card,SD,miniSD,microSD,SDHC)、通用快閃儲存(universal flash storage,UFS)裝置、固態硬碟(solid state disk/drive,SSD)等等。依照不同的應用情境,非揮發性記憶裝置100可以儲存音訊、影像及/或視訊資料。
主機10的例子包括電腦、手持式電子裝置或其他電子裝置。例如,主機10可以是個人電腦、手持式電腦、個人數位助理(personal digital assistant,PDA)、可攜式媒體播放器(portable media player,PMP)、MP3播放器、智慧型手機(smart phone)、數位相機、攝錄機(camcorders)、錄音機、遊戲機、傳真機、掃描器、印表機等等。
主機10與非揮發性記憶裝置100可利用任一種標準化介面予以有效地相互連接。例如,小型電腦系統介面(small computer system interface,SCSI)、串列連接小型電腦系統介面(Serial Attached SCSI,SAS)、增強型小型裝置介面(Enhanced Small Disk Interface,ESDI)、串列先進技術連接(serial advanced technology attachment,SATA)、快速週邊元件互連(peripheral component interconnect express,PCI-express)、整合式電子裝置
(integrated drive electronics,IDE)介面、所述標準化介面包括通用串列匯流排(universal serial bus,USB)、或雷電(Thunderbolt)。本發明並未侷限於主機10與非揮發性記憶裝置100之間的介面結構。
非揮發性記憶裝置100包括控制器110、主記憶體120以及非揮發性儲存單元130。控制器110透過上述標準化介面耦接至主機10。控制器110耦接至主記憶體120與非揮發性儲存單元130。主記憶體120具有映射表(mapping table)MT、信息表121與索引表122。非揮發性記憶裝置100的控制器110依據主記憶體120內的映射表MT,將主機10的存取指令的邏輯位址轉換為非揮發性儲存單元130的實體位址。
主記憶體120的例子包括動態隨機存取記憶體(dynamic random access memory,DRAM)、靜態隨機存取記憶體(static random access memory,SRAM)或是其他揮發性記憶體(volatile memory)。非揮發性儲存單元130舉例而言是快閃記憶體(FLASH memory)。
圖2是依照本發明實施例說明圖1所示非揮發性記憶裝置100的操作方法示意圖。請參照圖1與圖2,控制器110進行步驟S205,以便將主機(host)端的多個邏輯位址(例如,邏輯塊位址(logical block address,以下稱LBA))分群為多個邏輯位址群組(Stripe)。例如,假設共有10000個邏輯位址,則步驟S205可以將這些邏輯位址分群為400個邏輯位址群組,其中每一個邏
輯位址群組各自具有25個邏輯位址。上述邏輯位址的數量以及邏輯位址群組的數量,可以依據實際設計需求而決定之。
上述分群的方式,可以依據實際設計需求而決定之。在一些實施例中,邏輯位址的分群方式可以依照邏輯位址值的順序。例如,假設每一個邏輯位址群組各自具有30個邏輯位址,則步驟S205可以將邏輯位址0~29分群為邏輯位址群組0,將邏輯位址30~59分群為邏輯位址群組1,其餘依此類推。在另一些實施例中,基於平均磨損(wear-leveling)的考量,步驟S205可以用不連續的方式對邏輯位址進行分群。例如,假設將10000個邏輯位址分群為400個邏輯位址群組且每一個邏輯位址群組各自具有25個邏輯位址,則步驟S205可以將邏輯位址0、400、800、1200、1600……分群為邏輯位址群組stripe0,將邏輯位址1、401、801、1201、1601……分群為邏輯位址群組stripe1,其餘依此類推,最後將邏輯位址399、799、1199、1599、1999……分群為邏輯位址群組stripe399。在其他實施例,步驟S205可以用雜湊函數(hash function)對邏輯位址進行分群。
假設主機端是檔案配置表(File Allocation Table,FAT)檔案系統(file system),通常越熱(hot)的資料寫在越低的LBA,越冷(cold)的資料寫在越高的LBA,如此可以避免將熱資料集中寫在某個邏輯位址群組stripe對應的非揮發性儲存單元130之實體區塊,如此滿足提高性能,以及平均磨損(wear-leveling)的要求。在某些實施例,也可以將預先識別為冷(cold)的LBA集中
放在一些邏輯位址群組中,將熱(hot)的LBA集中放在另一些邏輯位址群組中,如此為熱的邏輯位址群組提供更多的資源,以提高性能。
控制器110進行步驟S210,以便依據步驟S205的邏輯位址群組,將在主記憶體120內的映射表MT分割為多個子映射表,例如分割為圖1所示之n個子映射表SMT_1、SMT_2、…、SMT_n。將主機端的邏輯位址分為多個群組,依據這些群組將映射表MT分割為多個子映射表SMT_1~SMT_n。每個子映射表可以視為獨立的映射表。這些子映射表的邏輯塊位址(logical block address,以下稱LBA)不重疊,對應的實體塊位址(physical block address,以下稱PBA)也不重疊。依據步驟S205將邏輯位址分群後,每個子映射表對應的邏輯位址(例如LBA)可以是固定的,而對應的實體位址(例如PBA)是動態分配的。非揮發性儲存單元130中所有尚未被分配的自由塊(Free Block)被放在一個自由塊池(Free Block Pool)中。當某個子映射表需要額外的實體塊時,控制器110從自由塊池申請一個自由塊給所述某個子映射表。前述從自由塊池申請一個自由塊,可以根據平均磨損(Wear leveling)的策略進行分配。
主記憶體120的信息表121資料結構中存放各個子映射表SMT_1~SMT_n的資訊,包括時間戳記(TimeStamp)、PBA信息1212、指出子映射表是否需要重建的一重建標誌1211、…等,其中該PBA信息1212,即子映射表各自包括哪些實體位址(例如
PBA)的信息。主記憶體120的索引表122存放所有的子映射表SMT_1~SMT_n備份至非揮發性儲存單元130的相關資訊,包括對應的子映射表是否髒(Dirty)、各子映射表存儲的實體位置、…等。這裏要說明的是,主記憶體120內之信息表121、索引表122和映射表MT是可以隨著主機10的存取操作而隨時更新的,但主記憶體120為揮發性儲存單元,斷電后其所存儲的內容會丟失,因此控制器110須每隔固定時間或在正常斷電時,將信息表121、索引表122和映射表MT備份至非揮發性儲存單元130。索引表122隨時記錄上一次備份至非揮發性儲存單元130的映射表MT中各子映射表SMT_1~SMT_n在隨後的存取操作中是否有更新,即對應的子映射表是否髒(Dirty);索引表122還記錄最近一次各子映射表備份至非揮發性儲存單元130的實體位置等相關資訊。當下次非揮發性記憶裝置100被供電而進行初始化程序時,控制器110可以根據索引表122的相關資訊將各子映射表SMT_1~SMT_n從非揮發性儲存單元130載入至主記憶體120中。
如果是正常斷電,非揮發性記憶裝置100會進行一正常斷電程序,以便信息表121、索引表122和映射表MT都會存儲到非揮發性儲存單元130中。因此,當下次非揮發性記憶裝置100被供電而進行初始化程序時,控制器110可以從非揮發性儲存單元130讀出信息表121、索引表122和映射表MT,以及將信息表121、索引表122和映射表MT載入主記憶體120。若不是正常斷電,則控制器110需要重建主記憶體120的所有的表格,包括映
射表MT、索引表122和信息表121等。
控制器110可以用任何方式判斷最近一次斷電是否為正常斷電。例如,控制器110可以依據非揮發性儲存單元130內的一組斷電標記來判斷非揮發性記憶裝置100是否曾發生過非正常斷電。當非揮發性記憶裝置100啟動成功後,(無論是上次正常斷電後的啟動,或者是非正常斷電之後的啟動),控制器110將一啟動完成標記寫入非揮發性儲存單元130。當非揮發性記憶裝置100進行正常斷電程序時,控制器110將一斷電完成標記寫入非揮發性儲存單元130。啟動完成標記和斷電完成標記為一組,稱為斷電標記。當下次啟動的時候,控制器110會尋找最近的一組斷電標記。若只能找到啟動完成標記,而無法找到斷電完成標記,則控制器110可以判斷為非正常斷電。另一種方法,也可以當非揮發性記憶裝置100進行正常斷電程序時,控制器110將該斷電標記寫入非揮發性儲存單元130。當非揮發性記憶裝置100被供電而進行初始化程序時,控制器110在讀取於非揮發性儲存單元130內的該斷電標記後,控制器110便會抹除於非揮發性儲存單元130內的該斷電標記。一旦非揮發性記憶裝置100發生非正常斷電,控制器110來不及將該斷電標記寫入非揮發性儲存單元130。因此,控制器110可以依據非揮發性儲存單元130內有無斷電標記來判斷最近一次斷電是否為正常斷電。
接下來再返回參照圖2說明“重建”的一個實施例。於步驟S215中,控制器110可以接收/處理來自於主機10的存取指
令。當控制器110處理主機10的存取指令時,控制器110依據主機10的存取指令的LBA而從子映射表SMT_1~SMT_n中選擇至少一個對應子映射表(步驟S220),並判斷所述至少一個對應子映射表是否需要重建(步驟S225)。例如,假設步驟S205與步驟S210將邏輯位址0、400、800、1200、…分群至子映射表SMT_1,將邏輯位址1、401、801、1201、…分群至子映射表SMT_2。若存取指令的LBA為801,則步驟S220對LBA做雜湊(hash)運算,可知對應子映射表為SMT_2,而步驟S225判斷所述對應子映射表SMT_2是否需要重建。
控制器110可以用任何方式判斷子映射表SMT_1~SMT_n是否需要重建。例如,信息表121中的重建標誌1211記錄了子映射表SMT_1~SMT_n各自的重建狀態,因此控制器110在步驟S225可以依據信息表121的內容來判斷步驟S220所選的子映射表是否需要重建。也就是說,控制器110可以依據信息表121的內容來判斷步驟S220所選的子映射表是否需要進行重建。然而,在非揮發性記憶裝置100發生非正常斷電時,信息表121的內容亦可能佚失。在斷電事件後再一次供電給非揮發性記憶裝置100時,控制器110進行初始化程序。於該初始化程序中,控制器110判斷該斷電事件是否為非正常斷電。若該斷電事件為正常斷電,則控制器110於該初始化程序中從非揮發性儲存單元130讀出信息表121,以及將信息表121寫回主記憶體120。若該斷電事件為非正常斷電,還須首先重建信息表121。關於初始化程序的
細節請參照後面圖5的敘述。
若控制器110在步驟S225中判斷所述至少一個對應子映射表(即步驟S220所選的子映射表,例如子映射表SMT_2)為不需要進行重建,因此控制器110進行步驟S230,以依據所述至少一個對應子映射表,轉換該存取指令的邏輯位址以存取非揮發性儲存單元130,例如將資料寫入非揮發性儲存單元130,或從非揮發性儲存單元130讀出資料。這裡以採用頁面映射(page mapping)模式為例說明如何利用子映射表轉換邏輯位址轉換以存取非揮發性儲存單元130。子映射表SMT_1~SMT_n之每一個子映射表所存儲的內容為對應邏輯位址群組stripe所包括的LBA之所有邏輯頁位址(logic page address,以下稱LPA)及所對應之實體頁地址(physical page address,以下稱PPA)。即是說,每個子映射表均以各自固定的LPA為索引,以動態變化的PPA為表項。當採用頁面映射處理主機10之讀/寫指令時,則可以解析主機10發出之讀/寫指令的LBA,得到要讀/寫的LPA,再查找/更新對應之子映射表以完成相關實體頁面之讀/寫操作。
若控制器110在步驟S225中判斷所述至少一個對應子映射表(即步驟S220所選的子映射表)為需要重建,則控制器進行步驟S240,以重建所述至少一個對應子映射表。完成步驟S240後,控制器110接著進行步驟S230,以依據所述至少一個對應子映射表,轉換該存取指令的邏輯位址以存取非揮發性儲存單元130。
也就是說,若主機10發來的存取指令對應一個尚未重建好的子映射表,則控制器110只需於該主記憶體內重建存取指令所對應的子映射表即可,而不需要一次重建整個映射表MT。由於一個子映射表所覆蓋(所對應)的實體塊數量有限,所以重建速度很快。存取指令所對應的子映射表重建完成以後,控制器110將信息表121中對應的重建標誌1211設置為“不需重建”。若主機10的存取指令訪問的是重建好的子映射表,則不需進行重建操作,如此可大大加快對主機10的存取指令的響應速度。
如果主機10發來的存取指令較長,同時覆蓋了重建好了的子映射表和沒有重建好的子映射表,則對沒有重建好的子映射表進行重建,然後執行步驟S230。
關於步驟S240之如何“重建”某個子映射表,以下結合圖3說明如下。
於步驟S305,控制器110首先重置索引表122,以進入重建狀態。以下將假設主機10發來的存取指令是對應於子映射表SMT_1。因此,以下將說明子映射表SMT_1的重建過程。其他子映射表SMT_2~SMT_n可以參照子映射表SMT_1的相關說明而類推之。
於步驟S310,控制器110查找信息表121,以獲得子映射表SMT_1使用了哪些實體位址。存在一种情形是,信息表121中該子映射表SMT_1對應的實體位址為零個,說明該子映射表SMT_1所對應的邏輯區域還未被寫過,則圖3的流程可以直接结
束。接下來執行步驟S315,控制器110掃描子映射表SMT_1對應的每個實體位址所指的實體塊(physical block,PB),以從這些實體塊中多個實體頁的備用區中讀取出實體位址所對應的邏輯位址。以整個非揮發性儲存單元130都採用頁面映射(page mapping)演算法為例,控制器110掃描子映射表SMT_1對應的每個實體塊的每個實體頁的備用區(spare area)。每個實體頁的實體頁位址(physical page address,以下稱PPA)對應的邏輯頁位址(logic page address,以下稱LPA)分散存儲在這些實體頁的備用區,這些實體頁的備用區同時還存儲了寫入這些LPA的時間戳記(TimeStamp)。因此,掃描這些實體頁的備用區即可獲取這些實體頁位址(例如PPA)對應的邏輯位址(例如LPA)和寫入這些LPA的時間先後順序。
接下來執行步驟S320,控制器110按所述對應邏輯位址的順序,將對應的實體頁位址記錄於所述子映射表SMT_1以重建所述子映射表SMT_1。仍以採用頁面映射(page mapping)演算法為例,由於每個PPA對應的LPA已經獲知,因此只需要按照寫入這些LPA時間先後順序,將每個LPA對應的PPA存儲在子映射表SMT_1中,即重建了該子映射表SMT_1。在另外一實施例的實現方法中,也可以不按照LPA寫入的順序更新子映射表SMT_1,而是按照其他任意順序,在每次將一個PPA對應的LPA更新至子映射表SMT_1的時候,判斷子映射表SMT_1中,此LPA到PPA的映射是否較新(具有較新的TimeStamp)。若已存在
于子映射表SMT_1中的映射較舊,則用這個重建的LPA到PPA的表項替換子映射表SMT_1的對應項。當子映射表SMT_1使用的所有實體塊都被更新過一次,子映射表SMT_1的重建即完成。至此,控制器110完成了子映射表SMT_1的重建。在重建過程中,控制器110亦將索引表122也更新一次,即為最新狀態。最後執行步驟S325,將信息表121中子映射表SMT_1對應的重建標誌1211設置為“不需重建”。
在另一實施例中,控制器110也可掃描每個實體塊的最後一個實體頁。所述最後一個實體頁存儲了所屬實體塊中所有實體頁的LPA。若該實體塊所有實體頁都已完成寫入,則控制器110不需要掃描每個實體頁的備用區,而只需掃描該最後一個實體頁即可,進一步節省時間。具體而言,於步驟S310,控制器110查找信息表121,以獲得所述子映射表SMT_1使用了哪些對應實體位址。於步驟S315,控制器110掃描子映射表SMT_1對應的每個對應實體位址所指的實體塊,以從這些實體塊中最後一個實體頁讀取出所述對應實體頁位址(例如PPA)所對應的對應邏輯位址(例如LPA)。於步驟S320,控制器110按所述對應邏輯位址的順序,將對應的實體頁位址記錄於所述子映射表SMT_1以重建所述子映射表SMT_1。最後執行步驟S325,將信息表121中子映射表SMT_1的重建標誌1211設置為“不需重建”。
綜上所述,本實施例所提供的非揮發性記憶裝置100及其操作方法,其依據步驟S205的邏輯位址群組將映射表MT分割
為多個子映射表SMT_1~SMT_n。在發生非正常斷電(power-off)後再重新上電(power-on)時,所述非揮發性記憶裝置100及其操作方法可以暫時不對整個映射表MT進行重建。當非揮發性記憶裝置100接收/處理主機10的存取指令時,若該存取指令的邏輯位址所屬的子映射表(例如SMT_2)需要重建,則非揮發性記憶裝置100的控制器110只重建該存取指令所對應的子映射表SMT_2於主記憶體120內,而不是一次對整個映射表MT進行重建。由於每一個子映射表的大小可以遠小於整個映射表MT的大小,因此本實施例所提供的非揮發性記憶裝置100及其操作方法可以在發生非正常斷電後再重新上電時加速非揮發性記憶裝置100響應主機10之存取指令的速度。
圖4是依照本發明另一實施例說明圖1所示非揮發性記憶裝置100的操作方法示意圖。圖4所示實施例可以參照圖2的相關說明。不同於圖2所示實施例之處在於,圖4所示實施例中,若步驟S215判斷結果為否,則非揮發性記憶裝置100的控制器110會進行步驟S405、步驟S410及/或步驟S415。請參照圖1與圖4,控制器110在步驟S405判斷非揮發性記憶裝置100是否處於閒置(Idle)狀態。當非揮發性記憶裝置100處於閒置狀態時,控制器110查找信息表121,以便從子映射表SMT_1~SMT_n中尚未被重建且需要被重建的子映射表中選擇至少一個未重建子映射表(步驟S410)。接下來,控制器110可以重建步驟S410所選擇的未重建子映射表(步驟S415)。步驟S415重建子
映射表的實施細節也可以參照圖3的相關說明而類推之。
需注意的是,本實施例不限步驟S410的選擇方式與被選擇的子映射表數量。例如,控制器110可以用隨機方式或其他方式從尚未被重建且需要被重建的子映射表中選擇一個或多個未重建子映射表,以便進行重建。
圖4的“重建子映射表”的操作並非只在接收主機10的存取指令,需要使用映射表MT來進行邏輯地址至實體地址轉換時才發生,在主機10和非揮發性記憶裝置100處於空閒狀態時,也可以主動進行一些重建工作。
圖5是依照本發明又一實施例說明圖1所示非揮發性記憶裝置100的操作方法示意圖。圖5所示實施例可以參照圖2的相關說明。不同於圖2所示實施例之處在於,圖5所示實施例還包括步驟S505、步驟S510、步驟S515、步驟S520、步驟S525及步驟S530。請參照圖1與圖5,在於斷電事件後再一次供電給非揮發性記憶裝置100時,非揮發性記憶裝置100進行初始化程序(步驟S505)。控制器110在步驟S510判斷所述斷電事件是否為非正常斷電。若步驟S510的判斷結果顯示所述斷電事件是正常斷電,則控制器110於該初始化程序中從非揮發性儲存單元130讀出信息表121、索引表122以及所有子映射表SMT_1~SMT_n,以及將信息表121、索引表122以及所有子映射表SMT_1~SMT_n載入主記憶體120(步驟S515)。完成步驟S515後,非揮發性記憶裝置100繼續完成初始化程序(步驟S520)。
在完成初始化程序後,控制器110可以進行步驟S215~S240(詳參圖2的相關說明)。
若步驟S510的判斷結果顯示所述斷電事件是非正常斷電,則控制器110於該初始化程序中重建信息表121(步驟S525)。具體而言,重建信息表121包括對重建標誌1211和PBA信息1212進行重建。
本段詳述如何重建所述重建標誌1211於主記憶體120。若步驟S510判斷到為非正常斷電,則控制器110將所有的重建標誌1211設置為子映射表SMT_1~SMT_n均為“需要重建”狀態。即是說,一旦判斷到是非正常斷電,則控制器110將重建整個映射表MT。在另一實施例的初始化程序中,當控制器110判斷到該斷電事件為非正常斷電時,並非將所有子映射表SMT_1~SMT_n的重建標誌1211均設置為“需要重建”狀態,而是先判斷從非揮發性儲存單元130載入的各子映射表是否有效。舉例而言,控制器110可根據該斷電事件發生時的時間戳記(TimeStamp)判斷從非揮發性儲存單元130載入的各子映射表是否有效,若有效則直接將信息表121中的相應該子映射表的重建標誌1211設置為“不需重建”狀態。
本段詳述如何重建PBA信息1212於主記憶體120。若步驟S510判斷到為非正常斷電,則控制器110掃描非揮發性儲存單元130中每一個實體塊中第一個實體頁。根據寫在所述第一個實體頁之備用區的資訊,控制器110可以辨識出每一個實體塊屬於
哪個子映射表,以此重建信息表121之一PBA信息1212(即,子映射表SMT_1~SMT_n各自包括哪些實體塊的信息)。如果是某一個實體塊是自由塊(Free Block,即不屬於任何一個子映射表),則該實體塊會保存在自由塊池(Free Block Pool)中。
完成信息表121重建後,控制器110可以於初始化程序中查找信息表121,以便從子映射表SMT_1~SMT_n中尚未被重建且需要被重建的子映射表中選擇至少一個未重建子映射表,并重建該未重建子映射表(步驟S530)。完成步驟S530後,非揮發性記憶裝置100繼續完成初始化程序(步驟S520)。
需注意的是,本實施例不限步驟S530的選擇該未重建子映射表方式與數量。例如,控制器110可以用隨機方式或其他方式從尚未被重建且需要被重建的子映射表中選擇一個或多個未重建子映射表,以便進行重建。步驟S530重建的子映射表數量,可以視實際產品的設計需求而決定。例如,在完成初始化程序所耗時間不超出規範時間的前提下,步驟S530可以盡可能重建更多的子映射表。剩下來尚未被重建且需要被重建的子映射表,則留待正常操作過程中,依據主機10的存取指令而選擇性地進行重建。
也就是說,本實施例在初始化程序中不是一次對整個映射表MT進行重建,而是從子映射表SMT_1~SMT_n中選擇部份子映射表進行重建。在完成初始化程序後,當非揮發性記憶裝置100接收/處理主機10的存取指令時,若該存取指令的邏輯位址所屬的子映射表(例如SMT_2)需要重建,則非揮發性記憶裝置100
的控制器110只重建該存取指令所對應的子映射表SMT_2於主記憶體120內即可。因此,在發生非正常斷電後再重新上電時,本實施例所提供的非揮發性記憶裝置100及其操作方法可以加速非揮發性記憶裝置100的啟動速度。當然,在其它實施例的初始化程序中,也可僅重建信息表(步驟S525),而並不重建任何子映射表(即不執行步驟S530)。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S205~S240‧‧‧步驟
Claims (20)
- 一種非揮發性記憶裝置的操作方法,包括:將多個邏輯位址分群為多個邏輯位址群組;依據該些邏輯位址群組,將在該非揮發性記憶裝置的一主記憶體內的一映射表分割為多個子映射表;在該非揮發性記憶裝置處理一主機的一存取指令期間,由該非揮發性記憶裝置依據該存取指令的邏輯位址而從該些子映射表中選擇至少一個對應該存取指令的子映射表,並判斷所述至少一個對應該存取指令的子映射表是否需要重建;在該非揮發性記憶裝置處理該存取指令期間,若所述至少一個對應該存取指令的子映射表為需要重建,則重建所述至少一個對應該存取指令的子映射表;以及依據重建後的所述至少一個對應該存取指令的子映射表,轉換該存取指令的邏輯位址以存取該非揮發性記憶裝置中一非揮發性儲存單元。
- 如申請專利範圍第1項所述非揮發性記憶裝置的操作方法,其中若所述至少一個對應該存取指令的子映射表為不需要重建,則直接依據所述至少一個對應該存取指令的子映射表,轉換該存取指令的邏輯位址以存取該非揮發性儲存單元。
- 如申請專利範圍第1項所述非揮發性記憶裝置的操作方法,其中每個所述邏輯位址群組對應該些子映射表之一,且每個所述邏輯位址群組所對應的邏輯位址是固定的,每個該些子映射 表對應的所述非揮發性儲存單元的多個實體位址是動態分配的。
- 如申請專利範圍第1項所述非揮發性記憶裝置的操作方法,其中該主記憶體為一動態隨機存取記憶體,而該非揮發性儲存單元包括一快閃記憶體。
- 如申請專利範圍第1項所述非揮發性記憶裝置的操作方法,更包括:依據該非揮發性儲存單元的一組斷電標記來判斷該非揮發性記憶裝置是否發生非正常斷電,其中如果該組斷電標記包括一啟動完成標記以及一斷電完成標記,則該非揮發性記憶裝置係正常斷電,如果該組斷電標記僅包括一啟動完成標記,則該非揮發性記憶裝置係非正常斷電。
- 如申請專利範圍第5項所述非揮發性記憶裝置的操作方法,更包括:當該非揮發性記憶裝置進行一正常斷電程序時,該斷電完成標記被寫入該非揮發性儲存單元;以及當該非揮發性記憶裝置被供電而進行一初始化程序時,該啟動完成標記被寫入該非揮發性儲存單元。
- 如申請專利範圍第1項所述非揮發性記憶裝置的操作方法,更包括:提供一信息表,用以記錄至少一重建標誌,該些重建標誌分別標示該些子映射表是否需要重建。
- 如申請專利範圍第7項所述非揮發性記憶裝置的操作方 法,更包括:在於一斷電事件後再一次供電給該非揮發性記憶裝置時,進行一初始化程序;於該初始化程序中,判斷該斷電事件是否為非正常斷電;若該斷電事件為正常斷電,則於該初始化程序中從該非揮發性儲存單元讀出該信息表,以及將該信息表寫入該主記憶體;以及若該斷電事件為非正常斷電,則於該初始化程序中將該些重建標誌設置為該些子映射表均為需要重建。
- 如申請專利範圍第1項所述非揮發性記憶裝置的操作方法,更包括:提供一信息表,用以記錄至少一實體塊位址信息,該些實體塊位址信息分別指出該些子映射表各自對應於所述非揮發性儲存單元中的哪些實體塊。
- 如申請專利範圍第9項所述非揮發性記憶裝置的操作方法,更包括:在於一斷電事件後再一次供電給該非揮發性記憶裝置時,進行一初始化程序;於該初始化程序中,判斷該斷電事件是否為非正常斷電;若該斷電事件為正常斷電,則於該初始化程序中從該非揮發性儲存單元讀出該信息表,以及將該信息表寫入該主記憶體;以及 若該斷電事件為非正常斷電,則於該初始化程序中重建該些實體塊位址信息於該主記憶體。
- 如申請專利範圍第10項所述非揮發性記憶裝置的操作方法,其中所述重建該些實體塊位址信息之步驟包括:掃描該非揮發性儲存單元中多個實體塊的第一個實體頁,以辨識該些實體塊的實體位址對應於該些子映射表的哪一個;以及將該些子映射表與該些實體位址的對應關係記錄為該些實體塊位址信息。
- 如申請專利範圍第9項所述非揮發性記憶裝置的操作方法,其中所述重建所述至少一個對應該存取指令的子映射表之步驟包括:查找該信息表以獲得所述至少一個對應該存取指令的子映射表所使用的至少一個對應實體位址;掃描所述至少一個對應實體位址所指的至少一個實體塊,以從所述至少一個實體塊中多個實體頁的備用區中讀取出多個實體頁位址所對應的多個對應邏輯位址;按該些對應邏輯位址的順序,將該些實體頁位址記錄於所述至少一個對應該存取指令的子映射表;以及將該信息表中對應於所述至少一個對應該存取指令的子映射表的重建標誌設置為不需要重建。
- 如申請專利範圍第9項所述非揮發性記憶裝置的操作方法,其中所述重建所述至少一個對應該存取指令的子映射表之步 驟包括:查找該信息表以獲得所述至少一個對應該存取指令的子映射表所使用的至少一個對應實體位址;掃描所述至少一個對應實體位址所指的至少一個實體塊,以從所述至少一個實體塊中最後一實體頁中讀取出多個實體頁位址所對應的多個對應邏輯位址;按該些對應邏輯位址的順序,將該些實體頁位址記錄於所述至少一個對應該存取指令的子映射表;以及將該信息表中對應於所述至少一個對應該存取指令的子映射表的重建標誌設置為不需要重建。
- 如申請專利範圍第1項所述非揮發性記憶裝置的操作方法,更包括:當該非揮發性記憶裝置處於一閒置狀態時,從該些子映射表中尚未被重建的子映射表中選擇至少一個未重建子映射表;以及由該非揮發性記憶裝置重建所述至少一個未重建子映射表。
- 一種非揮發性記憶裝置,包括:一主記憶體;一非揮發性儲存單元;以及一控制器,耦接至該主記憶體與該非揮發性儲存單元,其中該控制器將多個邏輯位址分群為多個邏輯位址群組,且依據該些邏輯位址群組,將在該主記憶體內的一映射表分割為多個子映射表;當在該控制器處理一主機的一存取指令時期間,該控制器依 據該存取指令的邏輯位址而從該些子映射表中選擇至少一個對應該存取指令的子映射表,並判斷所述至少一個對應該存取指令的子映射表是否需要重建;在該控制器處理該存取指令期間,若所述至少一個對應該存取指令的子映射表為需重建,則該控制器重建所述至少一個對應該存取指令的子映射表,並依據重建後的所述至少一個對應該存取指令的子映射表,轉換該存取指令的邏輯位址以存取該非揮發性儲存單元。
- 如申請專利範圍第15項所述非揮發性記憶裝置,其中若所述至少一個對應該存取指令的子映射表為不需要重建,則該控制器直接依據所述至少一個對應該存取指令的子映射表,轉換該存取指令的邏輯位址以存取該非揮發性儲存單元。
- 如申請專利範圍第15項所述之非揮發性記憶裝置,其中該主記憶體為一動態隨機存取記憶體,而該非揮發性儲存單元包括一快閃記憶體。
- 如申請專利範圍第15項所述之非揮發性記憶裝置,其中該主記憶體內更包括一信息表,所述信息表記錄至少一重建標誌,該些重建標誌分別標示該些子映射表是否需要重建;所述信息表更記錄至少一實體塊位址信息,該些實體塊位址信息分別指出該些子映射表各自對應於所述非揮發性儲存單元中的哪些實體塊。
- 如申請專利範圍第18項所述之非揮發性記憶裝置,其中在於一斷電事件後再一次供電給該非揮發性記憶裝置時,該控制 器進行一初始化程序;於該初始化程序中,該控制器判斷該斷電事件是否為非正常斷電;若該斷電事件為正常斷電,則該控制器於該初始化程序中從該非揮發性儲存單元讀出該信息表,以及將該信息表寫入該主記憶體;以及若該斷電事件為非正常斷電,則該控制器於該初始化程序中將該些重建標誌設置為該些子映射表均為需要重建,且該控制器於該初始化程序中重建該些實體塊位址信息於該主記憶體。
- 如申請專利範圍第19項所述之非揮發性記憶裝置,其中該控制器掃描該非揮發性儲存單元中多個實體塊的第一個實體頁,以辨識該些實體塊的實體位址對應於該些子映射表的哪一個,且該控制器將該些子映射表與該些實體位址的對應關係記錄為該些實體塊位址信息以重建該些實體塊位址信息於該主記憶體。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310046028.4A CN103064641B (zh) | 2013-02-05 | 非易失性存储装置及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201432449A TW201432449A (zh) | 2014-08-16 |
TWI514140B true TWI514140B (zh) | 2015-12-21 |
Family
ID=48107285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102115472A TWI514140B (zh) | 2013-02-05 | 2013-04-30 | 非揮發性記憶裝置及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9218280B2 (zh) |
TW (1) | TWI514140B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI691841B (zh) * | 2017-05-17 | 2020-04-21 | 旺宏電子股份有限公司 | 記憶體裝置的邊讀邊寫存取方法 |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8895107B2 (en) * | 2008-11-06 | 2014-11-25 | Veeco Instruments Inc. | Chemical vapor deposition with elevated temperature gas injection |
US9383924B1 (en) * | 2013-02-27 | 2016-07-05 | Netapp, Inc. | Storage space reclamation on volumes with thin provisioning capability |
TWI562158B (en) * | 2014-10-13 | 2016-12-11 | Silicon Motion Inc | Non-volatile memory device and controller |
KR102473665B1 (ko) * | 2015-07-28 | 2022-12-02 | 삼성전자주식회사 | 스토리지 디바이스 및 스토리지 가상화 시스템 |
KR20170056765A (ko) * | 2015-11-13 | 2017-05-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20170058482A (ko) * | 2015-11-18 | 2017-05-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI573033B (zh) * | 2016-01-14 | 2017-03-01 | 群聯電子股份有限公司 | 資料搜尋方法、記憶體儲存裝置及記憶體控制電路單元 |
US10162561B2 (en) | 2016-03-21 | 2018-12-25 | Apple Inc. | Managing backup of logical-to-physical translation information to control boot-time and write amplification |
TWI631463B (zh) | 2016-03-22 | 2018-08-01 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其操作方法 |
TWI599880B (zh) | 2016-03-22 | 2017-09-21 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其操作方法 |
CN107544913B (zh) * | 2016-06-29 | 2021-09-28 | 北京忆恒创源科技股份有限公司 | 一种ftl表快速重建方法与装置 |
TWI619018B (zh) * | 2016-11-10 | 2018-03-21 | 慧榮科技股份有限公司 | 可用於資料儲存裝置之垃圾蒐集方法 |
TWI664568B (zh) * | 2016-11-15 | 2019-07-01 | 慧榮科技股份有限公司 | 資料儲存裝置之操作方法 |
TW201818248A (zh) * | 2016-11-15 | 2018-05-16 | 慧榮科技股份有限公司 | 可應用於資料儲存裝置之記憶體管理方法 |
JP6867156B2 (ja) * | 2016-12-28 | 2021-04-28 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
TWI659307B (zh) * | 2017-01-06 | 2019-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
KR20180091296A (ko) | 2017-02-06 | 2018-08-16 | 삼성전자주식회사 | 손상된 메타 데이터를 처리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
TWI613652B (zh) * | 2017-03-27 | 2018-02-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
CN108877856B (zh) * | 2017-05-10 | 2021-02-19 | 慧荣科技股份有限公司 | 储存装置、记录方法以及预载方法 |
TWI646551B (zh) * | 2017-05-10 | 2019-01-01 | 慧榮科技股份有限公司 | 儲存裝置、記錄方法以及預載方法 |
KR102233400B1 (ko) * | 2017-05-29 | 2021-03-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102435890B1 (ko) * | 2017-08-17 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치의 어드레스 맵핑 방법 및 동작 방법 |
US10929285B2 (en) * | 2018-02-27 | 2021-02-23 | Western Digital Technologies, Inc. | Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer |
JP7020989B2 (ja) * | 2018-04-23 | 2022-02-16 | 株式会社メガチップス | 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法 |
CN110489052B (zh) * | 2018-05-14 | 2022-11-25 | 慧荣科技股份有限公司 | 数据储存装置 |
WO2019222958A1 (en) | 2018-05-24 | 2019-11-28 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
US11816043B2 (en) | 2018-06-25 | 2023-11-14 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of I/O requests |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
CN111610931B (zh) * | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610929B (zh) | 2019-02-26 | 2023-04-14 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610930B (zh) | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111611178B (zh) | 2019-02-26 | 2023-05-26 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
CN110704337B (zh) | 2019-09-23 | 2021-01-19 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
US11617282B2 (en) | 2019-10-01 | 2023-03-28 | Alibaba Group Holding Limited | System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers |
US11042481B1 (en) * | 2019-12-19 | 2021-06-22 | Micron Technology, Inc. | Efficient processing of commands in a memory sub-system |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US11379447B2 (en) | 2020-02-06 | 2022-07-05 | Alibaba Group Holding Limited | Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller |
US11449386B2 (en) | 2020-03-20 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory |
US11416163B2 (en) * | 2020-04-09 | 2022-08-16 | SK Hynix Inc. | Systems and methods for dynamic logical block address distribution between multicores |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11354200B2 (en) * | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
CN113407120B (zh) * | 2021-06-30 | 2023-02-10 | 深圳忆联信息系统有限公司 | 基于hmb的映射表管理方法、装置及计算机设备 |
US11768631B2 (en) * | 2021-08-31 | 2023-09-26 | Micron Technology, Inc. | Rapid reliable file system access |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200929238A (en) * | 2007-10-25 | 2009-07-01 | Samsung Electronics Co Ltd | Data management method for non-volatile memory device |
CN101930404A (zh) * | 2010-08-27 | 2010-12-29 | 威盛电子股份有限公司 | 存储装置及其操作方法 |
US8098522B2 (en) * | 2009-10-06 | 2012-01-17 | Macronix International Co., Ltd. | Non-volatile memory and operation method thereof |
TW201214111A (en) * | 2010-09-23 | 2012-04-01 | Phison Electronics Corp | Data writing method, memory controller and memory storage apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI240863B (en) * | 2003-09-05 | 2005-10-01 | Megawin Technology Co Ltd | Method for efficiently controlling flash memory read/write |
US7711923B2 (en) * | 2006-06-23 | 2010-05-04 | Microsoft Corporation | Persistent flash memory mapping table |
US8612666B2 (en) * | 2009-06-30 | 2013-12-17 | Intel Corporation | Method and system for managing a NAND flash memory by paging segments of a logical to physical address map to a non-volatile memory |
CN101794261B (zh) | 2009-11-24 | 2013-05-08 | 深圳市硅格半导体有限公司 | 映射表数据恢复方法及装置 |
-
2013
- 2013-04-30 TW TW102115472A patent/TWI514140B/zh active
- 2013-08-06 US US13/959,761 patent/US9218280B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200929238A (en) * | 2007-10-25 | 2009-07-01 | Samsung Electronics Co Ltd | Data management method for non-volatile memory device |
US8098522B2 (en) * | 2009-10-06 | 2012-01-17 | Macronix International Co., Ltd. | Non-volatile memory and operation method thereof |
CN101930404A (zh) * | 2010-08-27 | 2010-12-29 | 威盛电子股份有限公司 | 存储装置及其操作方法 |
US20120054419A1 (en) * | 2010-08-27 | 2012-03-01 | Via Technologies, Inc. | Memory device and operating method thereof |
TW201214111A (en) * | 2010-09-23 | 2012-04-01 | Phison Electronics Corp | Data writing method, memory controller and memory storage apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI691841B (zh) * | 2017-05-17 | 2020-04-21 | 旺宏電子股份有限公司 | 記憶體裝置的邊讀邊寫存取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103064641A (zh) | 2013-04-24 |
US9218280B2 (en) | 2015-12-22 |
TW201432449A (zh) | 2014-08-16 |
US20140223079A1 (en) | 2014-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI514140B (zh) | 非揮發性記憶裝置及其操作方法 | |
US8874833B1 (en) | Sequential writes to flash memory | |
CN106354615B (zh) | 固态硬盘日志生成方法及其装置 | |
TWI408551B (zh) | 快閃記憶體儲存系統及其控制器與資料處理方法 | |
US9535628B2 (en) | Memory system with shared file system | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
US20150019794A1 (en) | Data storage device and operating method thereof | |
KR101678911B1 (ko) | 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템 | |
US9081692B2 (en) | Information processing apparatus and method thereof | |
CN108595349B (zh) | 大容量存储设备的地址转换方法与装置 | |
US20150074355A1 (en) | Efficient caching of file system journals | |
KR20110119408A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
TWI463313B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI712881B (zh) | 電子機器及其控制方法、電腦系統及其控制方法以及主機之控制方法 | |
KR20170038853A (ko) | 호스트-관리 비휘발성 메모리 | |
TWI726314B (zh) | 資料儲存裝置與資料處理方法 | |
CN1719422A (zh) | 一种存储器文件数据虚拟存取方法 | |
CN103514095A (zh) | 一种数据库写入ssd 的方法和系统 | |
US10339045B2 (en) | Valid data management method and storage controller | |
KR101392062B1 (ko) | 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법 | |
CN107544912B (zh) | 一种日志记录方法、加载方法及其装置 | |
CN102880553B (zh) | 一种基于mcu的片外flash文件系统的读写方法 | |
KR20130079706A (ko) | 휘발성 메모리를 포함하는 저장 장치의 구동 방법 | |
US10346234B2 (en) | Information processing system including physical memory, flag storage unit, recording device and saving device, information processing apparatus, information processing method, and computer-readable non-transitory storage medium | |
TWI792534B (zh) | 以局部清理操作來進行垃圾回收的方法與相關控制器和儲存系統 |