TWI664568B - 資料儲存裝置之操作方法 - Google Patents

資料儲存裝置之操作方法 Download PDF

Info

Publication number
TWI664568B
TWI664568B TW105137240A TW105137240A TWI664568B TW I664568 B TWI664568 B TW I664568B TW 105137240 A TW105137240 A TW 105137240A TW 105137240 A TW105137240 A TW 105137240A TW I664568 B TWI664568 B TW I664568B
Authority
TW
Taiwan
Prior art keywords
sub
data
item
operation method
patent application
Prior art date
Application number
TW105137240A
Other languages
English (en)
Other versions
TW201818228A (zh
Inventor
許鴻榮
許辰暉
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW105137240A priority Critical patent/TWI664568B/zh
Priority to US15/783,973 priority patent/US10649913B2/en
Priority to CN201711120600.1A priority patent/CN108073359B/zh
Publication of TW201818228A publication Critical patent/TW201818228A/zh
Application granted granted Critical
Publication of TWI664568B publication Critical patent/TWI664568B/zh
Priority to US16/820,749 priority patent/US11269783B2/en

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/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
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • 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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • 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
    • 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
    • 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/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本發明提出一種資料儲存裝置之操作方法。所述方法包括下列步驟:將對照表切割成複數個子對照表;接收包含資料位址以及命令類別的存取命令;判斷資料位址所對應的目標子對照表是否已被快取;以及當判斷為否時,讀取並快取目標子對照表。

Description

資料儲存裝置之操作方法
本發明是有關於資料儲存之相關技術,尤其是有關於一種資料儲存裝置之操作方法。
資料儲存裝置,尤其是採用非揮發性儲存媒體的資料儲存裝置,包括複數個資料區塊,每一資料區塊包含複數個資料頁,每一資料頁用以儲存至少一儲存單位的資料,儲存單位可為512B或較佳為4KB。資料區塊又依據其儲存資料與否而區分為空白資料區塊(或稱為備用資料區塊)與非空白資料區塊(或稱使用中資料區塊)。為了進行資料的管理及存取,資料儲存裝置需要建立及儲存一個資料的邏輯至實體位址對照表(Host logical-to-Flash physical address mapping table,H2F table),在本發明中簡稱為對照表,並於資料儲存裝置運作時將對照表複製至動態隨機存取記憶體(Dynamic random access memory,DRAM),以增加資料的管理及存取上的效率。另外,對照表的大小依其記錄內容而不同,較常見的大小為資料儲存裝置的資料儲存容量的1/1000,以資料儲存容量為256GB(GigaByte)的資料儲存裝置為例,對照表的大小為256MB(MegaByte),因此,資料儲存裝置所配置的DRAM的大小較佳為大於或等於256MB,以儲存一整個對照表以及資料儲存裝置運作時所需要的系統資料、參數、或程式。
對於僅配置小型DRAM或SRAM,即DRAM或SRAM的容量不足以儲存一整個對照表,的資料儲存裝置而言,如何有效率地運用所配置的小型DRAM或SRAM以進行資料的管理及存取,存在著技術上的需求。
本發明之一目的在提供一種資料儲存裝置之操作方法,其可使資料儲存裝置有效率地運用其所配置的小型DRAM或SRAM以進行資料的管理及存取。
本發明提出一種資料儲存裝置之操作方法,此操作方法包括下列步驟:將對照表切割成複數個子對照表;接收包含資料位址以及命令類別的存取命令;判斷資料位址所對應的目標子對照表是否已被快取;以及當判斷為否時,讀取並快取目標子對照表。
本發明另提出一種資料儲存裝置之操作方法,此操作方法包括下列步驟:將對照表切割成複數個子對照表;接收包含資料位址以及命令類別的存取命令;依據快取表來判斷資料位址所對應的目標子對照表是否已被快取;以及當判斷為否時,讀取並以目標子H2F 對照表替代已快取的其中之一複數子對照表,並更新快取表。
由於對照表被分割成複數個子對照表,因此,子對照表可儲存至小型DRAM中,如此一來,資料儲存裝置可依據子對照表進行資料的管理,另外,針對子對照表的管理也提出一個改善的方法,故能達到本發明提高資料儲存裝置的效能的目的。
圖1繪有依照本發明一實施例之資料儲存裝置及其與主機的電性耦接關係。請參照圖1,主機100包括有中央處理單元110與連接介面120。連接介面120適於電性耦接資料儲存裝置200。中央處理單元110用以透過連接介面120傳送命令、資料給資料儲存裝置200,例如是傳送讀取命令給資料儲存裝置200,或是傳送寫入命令及欲寫入資料儲存裝置200的資料給資料儲存裝置200。而在此例中,主機100包括以電腦、手機、平板、相機或是其他具運算功能的手持式電子裝置來實現。
資料儲存裝置200主要包括有控制單元210、非揮發性儲存媒體220與揮發性儲存媒體230。控制單元210係電性耦接非揮發性儲存媒體220與揮發性儲存媒體230,並用以控制非揮發性儲存媒體220與揮發性儲存媒體230的操作(例如進行資料的存取與抹除)。在此例中,揮發性儲存媒體230例如是以DRAM或SRAM來實現,而非揮發性儲存媒體220例如是以快閃記憶體(Flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)等具有長時間資料保存之記憶體裝置來實現。
控制單元210主要包括有介面邏輯212、微處理器214、控制邏輯216與揮發性儲存媒體218,其中揮發性儲存媒體218例如是以暫存器、SRAM、DRAM來實現,且此揮發性儲存媒體218的容量較佳小於揮發性儲存媒體230的容量。控制單元210之微處理器214係電性耦接介面邏輯212與控制邏輯214,而其中控制邏輯214又電性耦接揮發性儲存媒體218、揮發性儲存媒體230與非揮發性儲存媒體220。微處理器214用以透過控制邏輯216存取揮發性儲存媒體218、揮發性儲存媒體230與非揮發性儲存媒體220中的資料,且微處理器214還用以透過介面邏輯212接收來自主機100之命令或資料,例如:寫入命令、欲寫入資料儲存裝置200的資料、傾倒(flush)命令、或抺除命令等。
在下述的說明中,將以下列參數為例進行本發明之說明,但不以此為限。非揮發性儲存媒體220的容量為256GB,不但用以儲存來自於主機100的資料外,也儲存對照表、機密資料、保護資料等;對照表的大小等於非揮發性儲存媒體220的容量的1/1,000,因此,大小為256MB,對照表的一筆記錄為4B,因此對照表包含64,000,000筆記錄;揮發性儲存媒體230較佳為DRAM,其容量為1MB,不足以儲存一整個對照表;揮發性儲存媒體218較佳為SRAM,其容量為128KB,小於揮發性儲存媒體230的容量。
圖2即為依照本發明一實施例之資料儲存裝置的操作方法的流程圖,請同時參照圖1與圖2。步驟S202:將對照表切割成複數個子對照表,其中,對照表較佳以邏輯區塊位址(Logical Block Address,LBA)為索引依序建立;或者,以一個間隔值為單位,例如;間隔值為65536個LBA,依序建立,但是在此單位內的LBA可依LBA值或資料收到的順序依序建立。揮發性儲存媒體218的容量為128KB,並規劃用以儲存2個子對照表,則每一子對照表的大小於64KB。因此,對照表以64KB為單位進行分割,可以分割成4,000個子對照表,分別為子對照表#0~3,999,每一個子對照表可以儲存16384筆記錄。
步驟S204:接收包含一資料位址以及一命令類別的一個存取命令。控制單元210可接收到來自主機100之存取命令,其中,存取命令包含資料位址,其中,資料位址較佳為一個數值,例如:LBA,或者二個數值,分別是第一LBA以及第二LBA,分別代表資料起點以及資料終點;或者,LBA以及一個數量值,分別代表資料起點以及資料的筆數。命令類別用以表示此存取命令的種類,例如,讀取、寫入、傾倒命令或抺除命令,例如,存取命令為讀取資料位址的資料。
步驟S206:判斷資料位址所對應的目標子對照表是否已被快取,如果是則執行步驟S210;如果否則執行步驟S208,其中目標子對照表為複數個子對照表其中之一。假設資料位址為LBA10,000,而一個子對照表可以儲存16384筆記錄,10000除以16384的商(Quotient)為0,因此,LBA10,000所對應的目標子對照表為子對照表#0。如果子對照表#0已儲存在揮發性儲存媒體230或揮發性儲存媒體218,則目標子對照表被快取;相反的,子對照表#0未儲存在揮發性儲存媒體230或揮發性儲存媒體218的話,則目標子對照表未被快取。
步驟S208:讀取並快取目標子對照表。由於子對照表#0並未儲存至揮發性儲存媒體230或揮發性儲存媒體218,因此,控制單元210從非揮發性儲存媒體220讀取出子對照表#0並將它儲存至揮發性儲存媒體218並複製至(或快取)揮發性儲存媒體230,如圖3所示,子對照表#0乃儲存(複製)至揮發性儲存媒體230以及揮發性儲存媒體218,接著,執行步驟S210。
步驟S210:依據目標子對照表以及資料位址來執行存取命令。由於子對照表#0已儲存在揮發性儲存媒體230或揮發性儲存媒體218,因此,控制單元210依據LBA10,000在子對照表#0所對應資料區塊編號以及資料頁編號而找到LBA10,000所對應的資料,並執行存取命令的讀取LBA10,000的所對應的資料,並結束本發明資料儲存裝置的操作方法的執行。
當本發明資料儲存裝置的操作方法執行一段時間後,揮發性儲存媒體230快取了16個子對照表,例如:子對照表#0-15,如圖4所示,此時,如何有效率等管理揮發性儲存媒體230存在著另一個技術需求。在本發明另一實施例中,步驟S202變更為:將對照表切割成複數個子對照表,其中,部份複數子對照表已快取至揮發性儲存媒體230,故稱之為複數已快取子對照表,並將複數已快取子對照表記錄至一快取表;步驟S206變更為:依據一快取表來判斷資料位址所對應的目標子對照表是否為複數已快取子對照表其中之一;步驟S208變更為:讀取並以目標子對照表替代複數已快取子對照表其中之一,並更新快取表,其中,被替代的複數已快取子對照表其中之一的讀取次數(Read count)乃複數已快取子對照表的所有讀取次數中最低者,或者,所有快取時間中最早者。如圖5所示,為了有效率地使用揮發性儲存媒體230的空間,控制單元210較佳建立一張快取表,用以記錄揮發性儲存媒體230的欄位(slot)編號與已快取子對照表的編號的資料,或者,更記錄每一已快取子對照表的讀取次數(Read count)或快取時間等資訊,其中,記錄於欄位#0的子對照表#0具有所有複數已快取子對照表中最低的讀取次數(值為1)或最早的快取時間(100)。如圖6所示,假設,此時的目標子對照表為子對照表#16,由於揮發性儲存媒體230已無空間可以儲存子對照表#16,因此,控制單元210可以直接以子對照表#16替代任何一個已快取子對照表,例如,子對照表#33,並將子對照表#16儲存至子對照表#33所儲存的欄位,即欄位#3,並更新快取表。或者,因為子對照表#0具有所有已快取子對照表中最低的讀取次數(值為1)或最早的快取時間(100),所以控制單元210決定以子對照表#16取代子對照表#0並將子對照表#16儲存至子對照表#0所儲存的欄位,即欄位#0。最後,將子對照表#16的子對照表的編號(值為16)、讀取次數(值為0)及快取時間(400)更新至快取表的欄位#0。
當目標子對照表快取至揮發性儲存媒體230後,如果控制單元210要存取目標子對照表時,控制單元210仍需將目標子對照表從揮發性儲存媒體230複製至揮發性儲存媒體218才能進行存取。由於目標子對照表從揮發性儲存媒體230複製至揮發性儲存媒體218所需的時間遠少於自非揮發性儲存媒體220讀取目標子對照表所需的時間,因此,將目標子對照表快取至揮發性儲存媒體230可顯著地提高資料儲存裝置200的執行效能。
綜上所述,由於對照表被分割成複數個子對照表,因此,複數個子對照表可分別儲存至DRAM中,如此一來,資料儲存裝置200的控制單元210可將子對照表讀取並快取至DRAM中,再依據子對照表進行資料的管理,另外,針對子對照表的管理也提出一個改善的方法,故能達到本發明提高資料儲存裝置的效能的目的。
100‧‧‧主機
110‧‧‧中央處理單元
120‧‧‧連接介面
200‧‧‧資料儲存裝置
210‧‧‧控制單元
212‧‧‧介面邏輯
214‧‧‧微處理器
216‧‧‧控制邏輯
218、230‧‧‧揮發性儲存媒體
220‧‧‧非揮發性儲存媒體
401、402‧‧‧標示
S202~S210‧‧‧步驟
圖1繪有依照本發明一實施例之資料儲存裝置及其與主機的電性耦接關係; 圖2為依照本發明一實施例之資料儲存裝置的操作方法的流程圖; 圖3係繪示將子對照表#0儲存至揮發性儲存媒體230以及揮發性儲存媒體218中; 圖4係繪示揮發性儲存媒體230快取了16個子對照表; 圖5係繪示依照本發明一實施例之快取表; 圖6係繪示以子對照表#16取代子對照表#0並將子對照表#16儲存至揮發性儲存媒體230。

Claims (20)

  1. 一種資料儲存裝置之操作方法,其包括:將一對照表切割成複數個子對照表,且將該些子對照表儲存在該資料儲存裝置的一非揮發性儲存媒體中,並將部分該些子對照表快取至該資料儲存裝置的至少一揮發性儲存媒體中;接收包含一資料位址以及一命令類別的一存取命令;判斷該資料位址所對應的一目標子對照表是否已被快取至該資料儲存裝置的該至少一揮發性儲存媒體中,其中該目標子對照表為該些個子對照表其中之一;以及當判斷為否時,從該些子對照表中讀取並快取該目標子對照表至該資料儲存裝置的該至少一揮發性儲存媒體中。
  2. 如申請專利範圍第1項所述之操作方法,其中更包括:依據該目標子對照表以及該資料位址來執行該存取命令。
  3. 如申請專利範圍第1項所述之操作方法,其中該對照表係以邏輯區塊位址為索引依序建立。
  4. 如申請專利範圍第1項所述之操作方法,其中該對照表係以一間隔值為單位,並在每一單位內依邏輯區塊位址之值的大小依序建立。
  5. 如申請專利範圍第1項所述之操作方法,其中該對照表係以一間隔值為單位,並在每一單位內依資料收到的順序依序建立。
  6. 如申請專利範圍第1項所述之操作方法,其中該資料位址包括一邏輯區塊位址。
  7. 如申請專利範圍第1項所述之操作方法,其中該資料位址包括一第一邏輯區塊位址與一第二邏輯區塊位址。
  8. 如申請專利範圍第1項所述之操作方法,其中該資料位址包括一邏輯區塊位址與一數量值,該數量值表示資料的筆數。
  9. 一種資料儲存裝置之操作方法,其包括:將一對照表切割成複數個子對照表,且將該些子對照表儲存在該資料儲存裝置的一非揮發性儲存媒體中,並將部份該些子對照表快取至該資料儲存裝置的至少一揮發性儲存媒體中,以作為複數已快取子對照表,並記錄至一快取表;接收包含一資料位址以及一命令類別的一存取命令;依據該快取表來判斷該資料位址所對應的一目標子對照表是否為該些已快取子對照表其中之一;以及當判斷為否時,讀取並以該目標子對照表替代其中之一該些已快取子對照表,並更新該快取表。
  10. 如申請專利範圍第9項所述之操作方法,其中更包括:依據該目標子對照表以及該資料位址來執行該存取命令。
  11. 如申請專利範圍第9項所述之操作方法,其中被替代之其中之一該些已快取子對照表的一讀取次數值為該些已快取子對照表的複數讀取次數的一端點值。
  12. 如申請專利範圍第9項所述之操作方法,其中被替代之其中之一該些已快取子對照表的一快取時間為該些已快取子對照表的複數快取時間的一端點值。
  13. 如申請專利範圍第9項所述之操作方法,其中該快取表包括記錄一揮發性儲存媒體的欄位編號與該些已快取子對照表的編號的資料。
  14. 如申請專利範圍第13項所述之操作方法,其中該快取表更包括記錄該些已快取子對照表的複數讀取次數或複數快取時間這二者的至少其中之一。
  15. 如申請專利範圍第9項所述之操作方法,其中該對照表係以邏輯區塊位址為索引依序建立。
  16. 如申請專利範圍第9項所述之操作方法,其中該對照表係以一間隔值為單位,並在每一單位內依邏輯區塊位址之值的大小依序建立。
  17. 如申請專利範圍第9項所述之操作方法,其中該對照表係以一間隔值為單位,並在每一單位內依資料收到的順序依序建立。
  18. 如申請專利範圍第9項所述之操作方法,其中該資料位址包括一邏輯區塊位址。
  19. 如申請專利範圍第9項所述之操作方法,其中該資料位址包括一第一邏輯區塊位址與一第二邏輯區塊位址。
  20. 如申請專利範圍第9項所述之操作方法,其中該資料位址包括一邏輯區塊位址與一數量值,該數量值表示資料的筆數。
TW105137240A 2016-11-15 2016-11-15 資料儲存裝置之操作方法 TWI664568B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW105137240A TWI664568B (zh) 2016-11-15 2016-11-15 資料儲存裝置之操作方法
US15/783,973 US10649913B2 (en) 2016-11-15 2017-10-13 Operating method for data storage device
CN201711120600.1A CN108073359B (zh) 2016-11-15 2017-11-14 数据储存装置的操作方法
US16/820,749 US11269783B2 (en) 2016-11-15 2020-03-17 Operating method for data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105137240A TWI664568B (zh) 2016-11-15 2016-11-15 資料儲存裝置之操作方法

Publications (2)

Publication Number Publication Date
TW201818228A TW201818228A (zh) 2018-05-16
TWI664568B true TWI664568B (zh) 2019-07-01

Family

ID=62106411

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105137240A TWI664568B (zh) 2016-11-15 2016-11-15 資料儲存裝置之操作方法

Country Status (3)

Country Link
US (2) US10649913B2 (zh)
CN (1) CN108073359B (zh)
TW (1) TWI664568B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI709854B (zh) * 2019-01-21 2020-11-11 慧榮科技股份有限公司 資料儲存裝置及用於存取邏輯至物理位址映射表之方法
US11042374B2 (en) * 2019-05-02 2021-06-22 International Business Machines Corporation Non-volatile dual in-line memory module storage
US10997080B1 (en) 2020-02-11 2021-05-04 Western Digital Technologies, Inc. Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address
US20220374360A1 (en) * 2021-05-18 2022-11-24 Macronix International Co., Ltd. Memory device and method for accessing memory device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069852A1 (en) * 2002-02-27 2006-03-30 Microsoft Corporation Free sector manager for data stored in flash memory devices
TW200949536A (en) * 2008-05-28 2009-12-01 Genesys Logic Inc Flash memory storage management system and related method
TW201211763A (en) * 2010-09-14 2012-03-16 Via Tech Inc Flash memory device and operation method thereof
TW201405311A (zh) * 2012-07-19 2014-02-01 Jmicron Technology Corp 記憶體控制方法及記憶體控制電路

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101434567B1 (ko) * 2007-05-18 2014-08-27 삼성전자 주식회사 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법
CN101458659A (zh) * 2007-12-14 2009-06-17 环达电脑(上海)有限公司 闪存储存系统及其方法
US8959280B2 (en) * 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US8806144B2 (en) * 2009-05-12 2014-08-12 Stec, Inc. Flash storage device with read cache
KR101736384B1 (ko) * 2010-09-29 2017-05-16 삼성전자주식회사 비휘발성 메모리 시스템
TWI544334B (zh) * 2012-05-30 2016-08-01 慧榮科技股份有限公司 資料儲存裝置與資料儲存裝置操作方法
TWI514140B (zh) * 2013-02-05 2015-12-21 Via Tech Inc 非揮發性記憶裝置及其操作方法
US9383924B1 (en) * 2013-02-27 2016-07-05 Netapp, Inc. Storage space reclamation on volumes with thin provisioning capability
KR102254392B1 (ko) * 2014-05-12 2021-05-25 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
US9507711B1 (en) * 2015-05-22 2016-11-29 Sandisk Technologies Llc Hierarchical FTL mapping optimized for workload
TWI537728B (zh) * 2015-09-23 2016-06-11 群聯電子股份有限公司 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US10289544B2 (en) * 2016-07-19 2019-05-14 Western Digital Technologies, Inc. Mapping tables for storage devices
US10380028B2 (en) * 2016-12-30 2019-08-13 Western Digital Technologies, Inc. Recovery of validity data for a data storage system
US10459636B2 (en) * 2017-03-24 2019-10-29 Sandisk Technologies Llc System and method for managing data in non-volatile memory systems having multiple mapping layers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069852A1 (en) * 2002-02-27 2006-03-30 Microsoft Corporation Free sector manager for data stored in flash memory devices
TW200949536A (en) * 2008-05-28 2009-12-01 Genesys Logic Inc Flash memory storage management system and related method
TW201211763A (en) * 2010-09-14 2012-03-16 Via Tech Inc Flash memory device and operation method thereof
TW201405311A (zh) * 2012-07-19 2014-02-01 Jmicron Technology Corp 記憶體控制方法及記憶體控制電路

Also Published As

Publication number Publication date
CN108073359A (zh) 2018-05-25
US10649913B2 (en) 2020-05-12
TW201818228A (zh) 2018-05-16
CN108073359B (zh) 2021-01-08
US20180137057A1 (en) 2018-05-17
US11269783B2 (en) 2022-03-08
US20200218667A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
US11354236B2 (en) Garbage collection method for data storage device
TWI602074B (zh) 建立多重命名空間方法與存取多重命名空間的資料的方法
US11269783B2 (en) Operating method for data storage device
CN107402719B (zh) 可用于数据储存装置的数据储存方法与数据回复方法、以及采用这些方法的数据储存装置
KR102530583B1 (ko) 저장 장치 및 메모리 시스템
US20140219041A1 (en) Storage device and data processing method thereof
TWI622890B (zh) 建立多重命名空間方法與存取多重命名空間的資料的方法
US11126624B2 (en) Trie search engine
US20230359550A1 (en) File system integration into data mining model
US20110264848A1 (en) Data recording device
TW201818248A (zh) 可應用於資料儲存裝置之記憶體管理方法
WO2022237916A1 (zh) 基于固态硬盘的快照实现方法、存储系统
US11687263B2 (en) Full die recovery in ZNS SSD
TWI670640B (zh) 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
US11543993B1 (en) Fast garbage collection in zoned namespaces SSDs
CN114840452A (zh) 一种控制部件
CN108984432B (zh) 一种处理io请求的方法及装置
JP5953245B2 (ja) 情報処理システム
TWI616755B (zh) 儲存裝置及其資料映射方法
JP6805501B2 (ja) ストレージ装置
TWI729674B (zh) 資料儲存裝置及其垃圾蒐集方法
US12019589B2 (en) Optimized autonomous defragmentation of storage devices
WO2024060944A1 (zh) 键值存储方法及系统
US20230315689A1 (en) Optimized Autonomous Defragmentation Of Storage Devices
TWI540588B (zh) 資料寫入方法