TW202046111A - 一種硬碟控制方法及相關設備 - Google Patents

一種硬碟控制方法及相關設備 Download PDF

Info

Publication number
TW202046111A
TW202046111A TW109119837A TW109119837A TW202046111A TW 202046111 A TW202046111 A TW 202046111A TW 109119837 A TW109119837 A TW 109119837A TW 109119837 A TW109119837 A TW 109119837A TW 202046111 A TW202046111 A TW 202046111A
Authority
TW
Taiwan
Prior art keywords
mode
data
storage
hard disk
user data
Prior art date
Application number
TW109119837A
Other languages
English (en)
Other versions
TWI779300B (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 大陸商華為技術有限公司
Publication of TW202046111A publication Critical patent/TW202046111A/zh
Application granted granted Critical
Publication of TWI779300B publication Critical patent/TWI779300B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/7206Reconfiguration of flash memory system

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Pinball Game Machines (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本發明提供了一種硬碟控制方法,包括:檢測存放裝置中存儲的使用者資料的資料量是否滿足第一數量條件。當存儲的使用者資料的資料量滿足第一數量條件時,將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式,第一模式與第二模式為SLC模式、MLC模式、TLC模式和QLC模式中不相同的兩種。當以第二模式存儲資料比以第一模式存儲資料的資料密度高時,該存放裝置可以擴大存儲空間的容量,使得容量不受損失。當以第二模式存儲資料比以第一模式存儲資料的資料密度低時,該存放裝置可以提高存放裝置可讀寫次數,延長存放裝置使用壽命。

Description

一種硬碟控制方法及相關設備
本發明涉及存儲領域,具體涉及一種硬碟控制方法及相關設備。
硬碟多使用反及閘快閃記憶體。該反及閘快閃記憶體是一種非易失性隨機訪問存儲介質。當斷電之後,該使用反及閘快閃記憶體的硬碟存儲的資料不會消失。該使用反及閘快閃記憶體的硬碟根據每一個存儲單元存儲的資料量大小不同可以分為單層式存儲單元(single level cell,SLC)、多層式存儲單元(multi level cell,MLC)、三層式存儲單元(triple level cell,TLC)以及四層式存儲單元(quad level cell, QLC)等。該SLC硬碟每一個存儲單元只存儲1比特資料,MLC硬碟每一個存儲單元存儲2比特資料,TLC硬碟每一個存儲單元存儲3比特資料,QLC硬碟每一個存儲單元存儲4比特資料。
目前使用反及閘快閃記憶體的硬碟中每一個存儲單元存儲的資料量越大,則該硬碟的資料密度越高,可讀寫次數越少,壽命越短。一些硬碟可以調整硬碟存儲資料的模式,如QLC硬碟可以將存儲資料的模式調整為SLC模式。這樣可以將QLC硬碟的資料密度降低,可以提高硬碟的硬碟的使用壽命。但是這種方式會使得該硬碟損失相應的容量。
一些硬碟可以將該硬碟整體進行調整,也可以先將該硬碟劃分為多個區域,再將每個區域分別進行調整。比如,可以將一個QLC硬碟整體調整為SLC模式,這樣該QLC硬碟會損失3/4的容量。也可以將一個TLC硬碟的1/2的空間配置為SLC模式,剩下1/2的空間配置為MLC模式,這樣該TLC硬碟被配置為SLC模式的部分會損失2/3的容量,該被配置為MLC模式的部分會損失1/3的容量,則該TLC硬碟總共會損失1/2的容量。所以,該硬碟調整存儲資料的模式之後,該硬碟的容量會受到損失。
本發明實施例第一方面提供了一種硬碟控制方法,該方法應用於存放裝置中,該方法包括:檢測存放裝置中存儲的使用者資料的資料量是否滿足第一數量條件,該存放裝置包括第一存儲區域,第一存儲區域以第一模式存儲資料,第一模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種;當存儲的使用者資料的資料量滿足第一數量條件時,將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式,第二模式是SLC模式、 MLC模式、TLC模式、QLC模式中的其中一種,並且第二模式不同於第一模式。
當該第一數量條件為大於或等於第一預設值時,該存放裝置可以將存放裝置存儲資料的模式由第一模式轉換為第二模式。若第一模式為SLC模式,第二模式可以為QLC模式、TLC模式或MLC模式中的一種;若該第一模式為MLC模式,該第二模式可以為TLC模式或QLC模式;若該第一模式為TLC模式,該第一模式可以為QLC模式。這樣可以提高存放裝置的資料密度,從而擴大存放裝置存儲空間的容量,使得存放裝置的容量不受損失。當該第一數量條件為小於第二預設值時,該存放裝置可以將存放裝置存儲資料的模式由第一模式轉換為第二模式。若第一模式為QLC模式,第二模式為SLC模式、MLC模式或TLC模式中的一種;若該第一模式為TLC模式,該第二模式可以為SLC模式或MLC模式;若該第一模式為MLC模式,該第二模式可以為SLC模式。這樣可以降低存放裝置的資料密度,從而可以提高存放裝置的可讀寫次數,延長存放裝置的使用壽命。
可選的,在將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式之後,該方法還包括:將第一存儲區域的使用者資料中的至少一部分使用者資料移轉至轉換後的第一子區域;釋放第一存儲區域中至少一部分使用者資料所佔用的區域;將至少一部分使用者資料所佔用的區域存儲資料的模式轉換成第二模式。這種情況下,可以先將未存儲資料的第一子區域存儲資料的模式由第一模式轉換為第二模式,然後再將以第一模式存儲資料的空間內的使用者資料移轉至轉換後的第一子區域內。這樣可以釋放出使用者資料移轉之前以第一模式存儲資料的空間,然後再將該以第一模式存儲資料的空間存儲資料的模式轉換為第二模式,從而逐步將該存放裝置所有存儲空間存儲資料的模式都轉換為第二模式。這樣一方面可以提高存放裝置的使用壽命,另一方面可以保證其容量不受損失。
可選的,在將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式之前,該方法還包括:將第一存儲區域的使用者資料中的至少一部分使用者資料移轉至存放裝置的緩存;釋放至少一部分使用者資料佔用的區域;在將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式之後,將至少一部分使用者資料以第二模式寫入轉換後的第一存儲區域。這種方式可以將存放裝置的緩存利用起來,提高存儲資源的利用效率。
可選的,存放裝置還可以包括第二存儲區域,第二存儲區域以第二模式存儲資料,在將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式之前,該方法還包括:將第一存儲區域的使用者資料中的至少一部分使用者資料移轉至存放裝置的第二存儲區域;釋放至少一部分使用者資料所佔用的區域。這種方式可以先將使用者資料進行遷移,再釋放存儲空間,這樣可以保證資料的安全性。
可選的,該方法還包括:接收寫資料請求,寫資料請求包括目標資料;將目標資料以第二模式寫入轉換後的第一子區域。在將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式之後。若該存放裝置再收到寫資料請求,該存放裝置將目標資料以第二模式寫入轉換後的第一子區域。
可選的,該方法還包括:檢測存放裝置中存儲的使用者資料的資料量是否滿足第二數量條件,存放裝置包括第二存儲區域;當存儲的使用者資料的資料量滿足第二數量條件時,將第二存儲區域中的第二子區域存儲資料的模式由第二模式轉換為第三模式,第三模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且第三模式不同於第二模式。在滿足第一數量條件之後,若存放裝置中存儲的使用者資料的資料量繼續發生變化,直至該存放裝置中存儲的使用者資料的資料量滿足第二數量條件,該存放裝置可以將第二存儲區域中的第二子區域存儲資料的模式由第二模式轉換為第三模式。這樣一方面可以提高存放裝置的使用壽命,另一方面可以保證其容量不受損失。
本發明實施例第二方面提供了一種硬碟控制裝置,該硬碟控制裝置應用於硬碟中,該硬碟包括快閃記憶體控制器和快閃記憶體晶片,快閃記憶體晶片包括多個擦除塊,硬碟控制裝置位於快閃記憶體控制器中,該硬碟控制裝置包括:檢測模組,用於檢測存放裝置中存儲的使用者資料的資料量是否滿足第一數量條件,存放裝置包括第一存儲區域,第一存儲區域以第一模式存儲資料,第一模式是SLC模式、MLC模式、三層式存儲單元TLC模式、QLC模式中的其中一種;處理模組,用於當檢測模組檢測到存儲的使用者資料的資料量滿足第一數量條件時,將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式,第二模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且第二模式不同於第一模式。該處理模組將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式,一方面可以提高存放裝置的使用壽命,另一方面可以保證其容量不受損失。
可選的,該硬碟控制裝置包括:處理模組,用於將第一存儲區域的使用者資料中的至少一部分使用者資料移轉至轉換後的第一子區域;處理模組,還用於釋放第一存儲區域中至少一部分使用者資料所佔用的區域;處理模組,還用於將至少一部分使用者資料所佔用的區域存儲資料的模式轉換成第二模式。
可選的,該硬碟控制裝置包括:處理模組,還用於將第一存儲區域的使用者資料中的至少一部分使用者資料移轉至硬碟的第二存儲區域,第二存儲區域以第二模式存儲資料;處理模組,還用於釋放至少一部分使用者資料所佔用的區域。
可選的,該硬碟控制裝置包括:接收模組,用於接收寫資料請求,寫資料請求包括目標資料;處理模組,還用於將目標資料以第二模式寫入轉換後的第一子區域。
可選的,該硬碟控制裝置包括:檢測模組,還用於檢測存放裝置中存儲的使用者資料的資料量是否滿足第二數量條件,該存放裝置包括第二存儲區域;處理模組,還用於當檢測模組檢測到存儲的使用者資料的資料量滿足第二數量條件時,將第二存儲區域中的第二子區域存儲資料的模式由第二模式轉換為第三模式,第三模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且第三模式不同於第二模式。
本發明實施例協力廠商面提供了一種控制器,該控制器位於存放裝置中,該存放裝置包括至少一個硬碟和該控制器,該控制器包括處理器和記憶體,該記憶體中存儲有程式指令,該處理器用於調用記憶體中的程式指令執行如下步驟:檢測存放裝置中存儲的使用者資料的資料量是否滿足第一數量條件,該存放裝置包括第一存儲區域,第一存儲區域以第一模式存儲資料,第一模式是單層式存儲單元SLC模式、多層式存儲單元MLC模式、三層式存儲單元TLC模式、四層式存儲單元QLC模式中的其中一種;當存放裝置中存儲的使用者資料的資料量滿足第一數量條件時,將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式,第二模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且第二模式不同於第一模式。這樣一方面可以提高存放裝置的使用壽命,另一方面可以保證其容量不受損失。
可選的,該處理器還用於調用記憶體中的程式指令執行如下步驟:將第一存儲區域的使用者資料中的至少一部分使用者資料移轉至轉換後的第一子區域;釋放第一存儲區域中至少一部分使用者資料所佔用的區域將至少一部分使用者資料所佔用的區域存儲資料的模式轉換成第二模式。
可選的,該處理器還用於調用記憶體中的程式指令執行如下步驟:將第一存儲區域的使用者資料中的至少一部分使用者資料移轉至存放裝置的緩存;釋放至少一部分使用者資料佔用的區域;在將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式之後,將至少一部分使用者資料以第二模式寫入轉換後的第一存儲區域。
可選的,該處理器還用於調用記憶體中的程式指令執行如下步驟:將第一存儲區域的使用者資料中的至少一部分使用者資料移轉至存放裝置的第二存儲區域,第二存儲區域以第二模式存儲資料;釋放至少一部分資料所佔用的區域。
可選的,該控制器還用於調用記憶體中的程式指令執行如下步驟:接收寫資料請求,寫資料請求包括目標資料;將目標資料以第二模式寫入第二存儲區域或轉換後的第一存儲區域。
可選的,該處理器還用於調用記憶體中的程式指令執行如下步驟:檢測存放裝置中存儲的使用者資料的資料量是否滿足第二數量條件,存放裝置包括第二存儲區域;當存放裝置中存儲的使用者資料的資料量滿足第二數量條件時,將第二存儲區域中的第二子區域存儲資料的模式由第二模式轉換為第三模式,第三模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且第三模式不同於第二模式。
本申請還提供一種電腦可讀存儲介質,該電腦可讀存儲介質中存儲有指令,當其在電腦上運行時,使得電腦執行上述各方面該的方法。
本申請還提供一種包含指令的電腦程式產品,當其在電腦上運行時,使得電腦執行上述各方面該的方法。
本發明實施例提供了一種硬碟控制方法及相關設備,該硬碟控制方法包括:檢測存放裝置中存儲的使用者資料的資料量是否滿足第一數量條件。當存儲的使用者資料的資料量滿足第一數量條件時,將第一存儲區域中的第一子區域存儲資料的模式由第一模式轉換為第二模式,第二模式不同於第一模式。當該第一數量條件為大於或等於第一預設值時,該存放裝置可以將存放裝置存儲資料的模式由第一模式轉換為第二模式。例如,該第一模式為SLC模式,第二模式為QLC模式。這樣可以提高存放裝置的資料密度,從而擴大存放裝置存儲空間的容量,使得存放裝置的容量不受損失。當該第一數量條件為小於第二預設值時,該存放裝置可以將存放裝置存儲資料的模式由第一模式轉換為第二模式。例如,該第一模式為QLC模式,第二模式為SLC模式。這樣可以降低存放裝置的資料密度,從而可以提高存放裝置的可讀寫次數,延長存放裝置的使用壽命。
第1圖描繪了本發明實施例提供的快閃記憶體陣列的組成圖,第1圖所示的快閃記憶體陣列包括至少一個控制器11和多個硬碟12,該硬碟12可以為固態硬碟(solid state disk,SSD)。固態硬碟是以快閃記憶體(flash memory)晶片為介質的記憶體,又名驅動器(solid state drive,SSD)。該控制器11通過存儲區域網路(storage area network,SAN)與其他設備連接。該控制器11可以是一種計算設備,如伺服器、臺式電腦等。在控制器11上安裝有作業系統以及應用程式。控制器11可以接收來自主機的輸入輸出(I/O)請求。控制器11還可以存儲I/O請求中攜帶的資料,並且將該資料寫入硬碟12中。
第1圖僅是示例性說明,在實際應用中存儲系統可包含兩個或兩個以上控制器,每個控制器的物理結構和功能與控制器11類似,並且本實施例並不限定控制器之間,以及任意一個控制器與硬碟12之間的連接方式。只要各個控制器之間,以及各個控制器和硬碟12之間能夠相互通信即可。
第2圖為第1圖中控制器11的結構示意圖,如第2圖所示,控制器11包括介面卡111、記憶體112和處理器113。
介面卡111用於和主機通信,控制器11可以通過介面卡111接收主機的操作指令。處理器113可能是一個中央處理器(central processing unit,CPU)。在本發明實施例中,處理器113可以用於接收來自主機的I/O請求、處理該I/O請求。該I/O請求可以是寫資料請求或者讀數據請求,處理器113還可以將寫資料請求中的資料發送給硬碟12。此外,處理器113還可以用於執行系統垃圾回收操作。介面卡114,用於和硬碟12通信,控制器11可以通過介面卡114將寫資料請求發送給硬碟12存儲。
控制器11還可以包括記憶體112。記憶體112用於臨時存儲從主機接收的資料或從硬碟12讀取的數據。控制器11接收主機發送的多個寫資料請求時,可以將該多個寫資料請求中的資料暫時保存在記憶體112中。當記憶體112的容量達到一定閾值時,將記憶體112存儲的資料以及為該資料分配的邏輯位址發送給硬碟12。硬碟12存儲該資料。記憶體112包括易失性記憶體,快閃記憶體晶片或其組合。易失性記憶體例如為隨機訪問記憶體(random-access memory,RAM)。快閃記憶體晶片例如軟碟、硬碟、固態硬碟、光碟等各種可以存儲程式碼的機器可讀介質。記憶體112具有保電功能,保電功能是指系統發生掉電又重新上電時,記憶體112中存儲的資料也不會丟失。
第3圖為第1圖中硬碟12的結構示意圖,如第3圖所示,該硬碟12可以包括快閃記憶體控制器121和多個快閃記憶體晶片122。其中,快閃記憶體控制器121用於執行控制器11發送的寫資料請求或者讀數據請求等操作。需要說明的是,第1圖中的控制器11屬於系統控制器,系統控制器是獨立的設備,不同於硬碟12中的快閃記憶體控制器121。
快閃記憶體控制器121中包含快閃記憶體翻譯層(flash translation layer,FTL)。快閃記憶體翻譯層用於保存有資料的邏輯位址與實際位址之間的對應關係。因此,快閃記憶體翻譯層用於將系統控制器發送的寫資料請求或者讀數據請求中的邏輯位址轉化為硬碟中資料的實際位址。資料的邏輯位址是由系統控制器分配的,它包括起始邏輯位址和長度。資料的實際位址可以是硬碟中該資料的物理位元元元址,也可以是在該物理位元元元址的基礎上經過虛擬化,只對快閃記憶體控制器可見的位址。實際位址對系統控制器不可見。
硬碟通常包括一個或多個快閃記憶體晶片。每個快閃記憶體晶片包括若干個擦除塊。硬碟在讀取或寫入時是以一個頁(page)為基礎的,但擦除操作只能以一個擦除塊為基礎,擦除操作是指將這個塊的所有位都設置為“1”。在擦除之前,快閃記憶體控制器需要先將這個擦除塊中的有效資料複製到另一個塊的空白頁中去。擦除塊中的有效資料是指該塊中保存的沒有被修改過的資料,這部分資料可能會被讀取。擦除塊中的無效資料是指該塊中保存的已經被修改過的資料,這部分資料不可能會被讀取。
每個擦除塊包含多個頁。硬碟在執行寫資料請求時,是以頁為單位來寫資料的。舉例來說,控制器11向快閃記憶體控制器121發送一個寫資料請求。該寫資料請求包括資料的邏輯位址。快閃記憶體控制器121在接收該寫資料請求之後,按照接收的時間順序將該資料連續寫入一個或多個擦除塊中。連續寫入一個或多個擦除塊是指,快閃記憶體控制器121查找一個空白的擦除塊,將資料寫入該空白的擦除塊,直至將該空白的擦除塊填滿,當該資料的大小超過擦除塊的容量時,快閃記憶體控制器121再查找下一個空白的擦除塊,繼續寫入。快閃記憶體翻譯層建立並保存該邏輯位址與寫入該資料的頁的實際位址之間的對應關係。當控制器11向快閃記憶體控制器121發送讀數據請求,要求讀取該資料時,該讀數據請求中包括該邏輯位址。快閃記憶體控制器121根據該邏輯位址、以及該邏輯位址與實際位址之間的對應關係讀取該資料,並將該資料發送給控制器11。
存儲單元(cell)是頁的最小操作單元,一個存儲單元對應一個浮閘電晶體,它可以存儲1比特(bit)或多比特的資料,這取決於硬碟的類型。一個頁上的存儲單元共用一根字元線。存儲單元包括控制閘極和浮置極,浮置閘極是真正存儲資料的單元。資料在存儲單元中是以電荷(electrical charge)形式存儲的。存儲電荷的多少取決於控制閘極所被施加的電壓,其控制了向浮置閘極中沖入電荷還是使其釋放電荷。而資料的表示,以所存儲的電荷的電壓是否超過一個特定的閾值來表示。往浮置閘極中寫入資料就是對控制閘極施加電壓,使得浮置閘極中存儲的電荷夠多,超過閾值,就表示0。對浮置閘極進行擦除操作就是對浮置閘極放電,使得浮置閘極中存儲的電荷低於閾值,就表示1。
每個存儲單元中存儲一比特資料的硬碟稱之為SLC硬碟,SLC硬碟的每個存儲單元的浮置閘極有一個電壓閾值,因此具有0和1兩種狀態,可以存儲一比特資料,資料密度比較低。SLC硬碟具有高寫入速度、低功耗、更長電池耐久的優點,因此具有更快的傳送速率和更長使用壽命。多層式存儲單元MLC硬碟每個存儲單元具有4種狀態(00、01、10、11四種狀態),可以用每個存儲單元存儲二比特資料。相對於SLC硬碟來說,MLC硬碟的誤碼率更高,資料密度更高,使用壽命更短,但成本更低。每個存儲單元存儲三比特資料的硬碟被稱為TLC硬碟,TLC硬碟的每個存儲單元具有8種狀態。MLC硬碟的缺點在TLC硬碟上同樣存在並更為突出,但TLC硬碟也受益于更高的資料密度和更低的成本。另外,還有每個存儲單元存儲四比特資料的QLC硬碟以及其他多層式存儲單元的硬碟,QLC硬碟的每個存儲單元具有16種狀態,每個存儲單元可以存儲四比特的資料。
一些硬碟可以通過將該硬碟的資料密度調低的方式來增加該硬碟的可讀寫次數,從而提高該硬碟的使用壽命。具體可以通過減少該硬碟中每個存儲單元存儲的資料量來調低該硬碟的資料密度。比如,QLC硬碟可以將每個存儲單元存儲的資料量由四比特調整為三比特。此種情況下,該QLC硬碟中每個存儲單元存儲三比特資料,與TLC的硬碟中每個存儲單元存儲的資料量相同。可以認為該QLC硬碟存儲資料的模式為TLC模式。
QLC硬碟也可以將每個存儲單元存儲的資料量由四比特調整為二比特或一比特。當該QLC硬碟中每個存儲單元存儲二比特時,與MLC的硬碟中每個存儲單元存儲的資料量相同。可以認為該QLC硬碟存儲資料的模式為MLC模式。當該QLC硬碟中每個存儲單元存儲的資料量為一比特時,與SLC的硬碟中每個存儲單元存儲的資料量相同。可以認為該QLC硬碟存儲資料的模式為SLC模式。同理,TLC硬碟也可以將存儲資料的模式調整為MLC模式或SLC模式,MLC硬碟也可以將存儲資料的模式調整為SLC模式。
當硬碟將該硬碟的資料密度調低之後,可讀寫次數會獲得相應的提升,但是會損失一部分存儲空間。以第4圖為例,QLC硬碟401的存儲容量為1024GB(gigabyte)。若該QLC硬碟401將存儲資料的模式調整為TLC模式,該TLC模式的QLC硬碟402的存儲容量為768GB。若該QLC硬碟401將存儲資料的模式調整為MLC模式,該MLC模式的QLC硬碟403的存儲容量為512GB。若該QLC硬碟401將存儲資料的模式調整為SLC模式,該SLC模式的QLC硬碟404的存儲容量為256GB。所以,這種調整方式雖然可以提升硬碟的使用壽命,但是會使得硬碟損失一定的容量。
因此,本發明實施例一提供了一種硬碟控制的方法,既能夠提高硬碟的使用壽命,又能保證其容量不受到損失。該方法可以應用在第1圖所示的快閃記憶體陣列中,如第5圖所示,該方法包括如下步驟:
501、控制器11檢測快閃記憶體陣列中存儲的使用者資料的資料量是否大於或等於第一預設值。
快閃記憶體陣列中的控制器11檢測該快閃記憶體陣列中存儲的使用者資料的資料量是否大於第一預設值。比如該第一預設值可以為當前容量的80%。當該快閃記憶體陣列中存儲的使用者資料的資料量大於或等於該第一預設值時,若該快閃記憶體陣列繼續以當前存儲資料的模式寫入資料,那麼該快閃記憶體陣列剩餘的容量即將耗盡。
示例性的,快閃記憶體陣列中設置有兩個硬碟,該兩個硬碟存儲資料的模式預先設置為SLC模式。該兩個硬碟可以為第4圖中SLC模式的QLC硬碟404,該兩個SLC模式的QLC硬碟的存儲容量均為256GB。此時,整個快閃記憶體陣列的存儲容量為512GB。該第一預設值可以為409.6GB。若該快閃記憶體陣列中的控制器11檢測到快閃記憶體陣列中兩個SLC模式的QLC硬碟中存儲的使用者資料的資料量大於或等於409.6GB時,如果該快閃記憶體陣列繼續以SLC模式寫入資料,那麼該快閃記憶體陣列剩餘的容量即將耗盡。
該快閃記憶體陣列中可以只預先設置以SLC模式存儲資料的存儲空間,也可以預先設置有以MLC、TLC或QLC模式存儲資料的存儲空間。
需要說明的是,該快閃記憶體陣列中的控制器11可以通過快閃記憶體陣列中每個硬碟的快閃記憶體控制器121來檢測每個硬碟的使用者資料的資料量,從而確定整個快閃記憶體陣列的使用者資料的資料量然後確定快閃記憶體陣列中使用者資料的資料量是否大於或等於第一預設值。該控制器11可以與每個硬碟的快閃記憶體控制器121交互,獲取到每個硬碟即時使用者資料的資料量。
502、當檢測到該存儲陣列中存儲的使用者資料的資料量大於或等於第一預設值時,該控制器11將該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第一模式轉換為第二模式。
為了方便描述,第一模式以SLC模式為例,第二模式以MLC模式為例。以第二模式存儲資料的硬碟比以第一模式存儲資料的硬碟的資料密度高。若該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第一模式轉換為第二模式之後,該快閃記憶體陣列的容量可以擴大,可以存儲更多的資料。值得注意的是,由第一模式轉換為第二模式之後,使用者無法感知該快閃記憶體陣列容量的變化。
當該控制器11檢測到該快閃記憶體陣列中存儲的使用者資料的資料量大於或等於第一預設值時,該控制器11將該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第一模式轉換為第二模式。示例性的,當步驟501該的快閃記憶體陣列中存儲的使用者資料的資料量大於或等於409.6GB時,該控制器11可以將該兩個QLC硬碟中以SLC模式存儲資料的50GB存儲空間存儲資料的模式轉換為MLC模式,從而可以獲得100GB以MLC模式存儲資料的存儲空間。這樣該快閃記憶體陣列總存儲空間為462GB以SLC模式存儲資料的存儲空間加上100GB以MLC模式存儲資料的存儲空間。可以擴大該快閃記憶體陣列的存儲空間。
同理,當寫入的使用者資料的資料量繼續上升,直到使用者資料的資料量滿足第二數量條件,該控制器11可以繼續將以SLC模式存儲資料的存儲空間存儲資料的模式轉換為MLC模式,或者將以SLC模式存儲資料的存儲空間存儲資料的模式轉換為TLC模式以及QLC模式。該第二數量條件可以為大於或等於某一個確定的值。該控制器11也可以先將以SLC模式存儲資料的存儲空間存儲資料的模式轉換為MLC模式,若繼續寫入資料達到一定值時,再將以MLC模式存儲資料的存儲空間存儲資料的模式轉換為TLC模式。同樣,若使用者資料的資料量繼續上升,可以將以TLC模式存儲資料的存儲空間存儲資料的模式轉換為QLC模式。
需要說明的是,該控制器11將該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第一模式轉換為第二模式之後,若接收到了使用者的寫資料的請求,該控制器11將需要寫入的目標資料以第二模式寫入該快閃記憶體陣列。
當該快閃記憶體陣列中的兩個QLC硬碟全部存儲空間的模式都轉換為QLC模式時,該快閃記憶體陣列中QLC硬碟的存儲容量可以達到最大值,與該QLC硬碟原始容量一致。
需要說明的是,該控制器11可以向快閃記憶體陣列中每個硬碟的快閃記憶體控制器121反射程式指令,指示該快閃記憶體控制器121將對應的硬碟中存儲空間存儲資料的模式進行轉換。
實施例一提供的這種硬碟控制的方法中,當快閃記憶體陣列的使用者資料的資料量大於或等於第一預設值的時候,該控制器11可以轉換快閃記憶體陣列中存儲空間存儲資料的模式,提高該快閃記憶體陣列中硬碟的資料密度,從而擴大快閃記憶體陣列存儲空間的容量,使得該快閃記憶體陣列的容量不受損失。
在實施例一中,若該第一預設值比較低,當快閃記憶體陣列中的使用者資料的資料量達到第一預設值時,該快閃記憶體陣列中仍然有大量的未存儲資料的存儲空間。該控制器11可以先將該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第一模式轉換為第二模式,然後再將該快閃記憶體陣列中的使用者資料移轉至以第二模式存儲資料的存儲空間內,再繼續將用戶資料移轉之前所佔據的存儲空間的模式轉換為第二模式,直至將該快閃記憶體陣列中所有的存儲空間存儲資料的模式都轉換為第二模式。如第6圖所示,實施例二包括如下步驟:
601、控制器11檢測快閃記憶體陣列中存儲的使用者資料的資料量是否大於或等於第一預設值。
步驟601請參照實施例一中的步驟501進行理解,此處不再贅述。
602、當檢測到該存儲陣列中存儲的使用者資料的資料量大於或等於第一預設值時,該控制器11將該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第一模式轉換為第二模式。
步驟602請參照實施例一中的步驟502進行理解,此處不再贅述。
603、該控制器11將至少一部分使用者資料移轉至以第二模式存儲資料的存儲空間。
控制器11將以第一模式存儲資料的存儲空間內的至少一部分使用者資料的資料量遷移至以第二模式存儲資料的存儲空間內。若該第一預設值較低,例如,快閃記憶體陣列的存儲容量為512GB,快閃記憶體陣列中設置有兩個以SLC模式存儲資料的硬碟,第一預設值為100GB。該控制器11在步驟602中可以將該快閃記憶體陣列中未存儲資料的200GB存儲空間存儲資料的模式轉換為MLC模式,從而可以獲得400GB以MLC模式存儲資料的存儲空間。然後該控制器11將該快閃記憶體陣列中以SLC模式存儲資料的存儲空間內的100GB使用者資料全部遷移至以MLC模式的存儲空間內。
可選的,該控制器11也可以將該以SLC模式存儲資料的存儲空間內的資料部分遷移至以MLC模式存儲資料的存儲空間內。然後再將該以SLC模式存儲資料的存儲空間存儲資料的模式轉換為MLC模式。
需要說明的是,若在該快閃記憶體陣列中,將一個硬碟內的資料移轉到另一個硬碟上,需要該控制器11執行該動作。若在快閃記憶體陣列中一個硬碟上一個區域的資料移轉到另一個區域,則該遷移過程可以由該控制器11執行也可以由該控制器11指示該硬碟的快閃記憶體控制器121執行。
604、該控制器11釋放至少一部分使用者資料佔用的存儲空間。
該控制器11釋放該快閃記憶體陣列中至少一部分使用者資料佔用的存儲空間,該至少一部分使用者資料可以為遷移至以第二模式存儲資料的存儲空間的使用者資料。如步驟603中遷移至以MLC模式存儲資料的存儲空間的100GB使用者資料。該釋放的過程可以包括:將這部分存儲空間存儲的使用者資料刪除,再擦除這部分存儲空間的擦除塊。
可以理解的是,該控制器11可以指示快閃記憶體陣列中每個硬碟的快閃記憶體控制器121釋放該硬碟自己的存儲空間。
605、該控制器11將至少一部分使用者資料佔用的存儲空間存儲資料的模式轉換為第二模式。
該控制器11將至少一部分使用者資料佔用的存儲空間存儲資料的模式轉換為第二模式,該至少一部分資料佔用的空間可以為步驟604中釋放出來的空間。該轉換過程如步驟602該,該控制器11可以指示每個硬碟的快閃記憶體控制器121將對應的硬碟中存儲空間存儲資料的模式進行轉換。
實施例二提供的這種硬碟控制的方法可以在快閃記憶體陣列中使用者資料的資料量大於或等於第一預設值時,先將快閃記憶體陣列中未存儲資料的存儲空間存儲資料的模式由第一模式轉換為第二模式,使得該快閃記憶體陣列的容量擴大。然後再將以第一模式存儲資料的存儲空間內的資料移轉至以第二模式存儲資料的存儲空間內,再釋放被遷移的資料所佔據的存儲空間之後,再將該釋放出來的存儲空間存儲資料的模式繼續轉換為第二模式,這樣可以逐步將該快閃記憶體陣列中所有的存儲空間存儲資料的模式都轉換為第二模式,從而可以擴大該快閃記憶體陣列存儲資料的容量。
在實施例一中,若該第一預設值設置得較高,當該快閃記憶體陣列中的使用者資料的資料量達到第一預設值時,該快閃記憶體陣列中以第一模式存儲資料的存儲空間已經接近耗盡。該控制器11可以先將以第一模式存儲資料的存儲空間內的一部分資料移轉至預先設置的以第二模式存儲資料的存儲空間內。然後再釋放一部分以第一模式存儲資料的存儲空間,將該一部分以第一模式存儲資料的存儲空間存儲資料的模式轉換為第二模式。如第7圖所示,實施例三包括如下步驟:
701、控制器11檢測快閃記憶體陣列中存儲的使用者資料的資料量是否大於或等於第一預設值。
步驟701請參照實施例一中的步驟501進行理解,此處不再贅述。
702、檢測到該存儲陣列中存儲的使用者資料的資料量大於或等於第一預設值時,該控制器11將以第一模式存儲資料的存儲空間內的至少一部分用戶資料移轉至預先設置的以第二模式存儲資料的存儲空間。
為了便於描述,第一模式以SLC模式為例,第二模式以MLC模式為例。當該控制器11檢測到快閃記憶體陣列中存儲的使用者資料的資料量大於或等於第一預設值時,該控制器11將該快閃記憶體陣列中以第一模式存儲資料的存儲空間內的至少一部分使用者資料以第二模式寫入預先設置的以第二模式存儲資料的存儲空間內。示例性的,若快閃記憶體陣列中設置有256GB以SLC模式存儲資料的存儲空間,512GB以MLC模式存儲資料的空間,該第一預設值可以為200GB。當快閃記憶體陣列的使用者資料的資料量低於200GB時,該快閃記憶體陣列將寫入的資料存放在以SLC模式存儲資料的存儲空間內。當該以SLC模式存儲資料的存儲空間內的使用者資料的資料量大於或等於200GB時,該控制器11將該200GB資料中的至少一部分資料移轉至以MLC模式存儲資料的空間。
需要說明的是,資料移轉的過程可以由該控制器11執行也可以由該控制器11指示該快閃記憶體陣列中硬碟的快閃記憶體控制器121執行,具體請參考實施例二中的步驟603進行理解,此處不再贅述。
703、控制器11釋放至少一部分使用者資料佔用的存儲空間。
該控制器11釋放該快閃記憶體陣列中至少一部分使用者資料佔用的存儲空間,該至少一部分使用者資料可以為遷移至以第二模式存儲資料的存儲空間的使用者資料。如步驟702中遷移至以MLC模式存儲資料的存儲空間的資料。該釋放過程如實施例二中步驟604該,此處不再贅述。該釋放過程可以為控制器11指示快閃記憶體陣列中每個硬碟的快閃記憶體控制器121釋放對應的硬碟自身的存儲空間。
704、控制器11將至少一部分使用者資料佔用的存儲空間存儲資料的模式轉換為第二模式。
該控制器11將至少一部分使用者資料佔用的存儲空間存儲資料的模式轉換為第二模式,該至少一部分資料佔用的空間可以為步驟703中釋放出來的空間。該轉換過程如實施例一的步驟502與實施例二的步驟602該,該控制器11可以指示每個硬碟的快閃記憶體控制器121將對應的硬碟中存儲空間存儲資料的模式進行轉換。
實施例三提供的這種硬碟控制的方法可以應用於該第一預設值較高的情況,該快閃記憶體陣列中以第一模式存儲資料的存儲空間已經接近耗盡。該快閃記憶體陣列可以先遷移資料在轉換存儲空間,這樣在擴大快閃記憶體陣列存儲空間的同時可以保證資料安全。
在實施例二和實施例三中,該控制器11將使用者資料移轉至以第二模式存儲資料的存儲空間內,該以第二模式存儲資料的存儲空間位於該快閃記憶體陣列的硬碟上。在另一種實施方式中,該控制器11也可以將用戶資料移轉至該控制器11自身的記憶體112上。在釋放一部分以第一模式存儲資料的存儲空間之後,將以第一模式存儲資料的存儲空間存儲資料的模式轉換為第二模式。再將該遷移至記憶體112上的使用者資料以第二模式寫入以第二模式存儲資料的存儲空間內。
在實施例一至實施例三中,第一數量條件為大於或等於第一預設值。當該快閃記憶體陣列中存儲的使用者資料的資料量大於或等於第一預設值時,該控制器11可以將快閃記憶體陣列中至少一部分空間存儲資料的模式由第一模式轉換為第二模式。以第二模式存儲資料的硬碟比以第一模式存儲資料的硬碟的資料密度高。通過這樣的方式擴大該快閃記憶體陣列的容量。實施例四可以提供另一種硬碟控制的方法,在該方法中,該第一數量條件也可以為小於第二預設值,該第二預設值可以與實施例一至實施例三中的第一預設值相同,也可以不同。
若該快閃記憶體陣列中的使用者資料的資料量小於第二預設值時,該控制器11也可以將快閃記憶體陣列中至少一部分空間存儲資料的模式由第三模式轉換為第四模式。為了便於描述,第三模式以QLC模式為例,第四模式以TLC模式為例。以第三模式存儲資料的硬碟比以第四模式存儲資料的硬碟資料密度高。這種方法可以在資料存儲不受影響的情況下提高硬碟的可讀寫次數,從而提高硬碟的使用壽命。如第8圖所示,實施例四包括如下步驟:
801、控制器11檢測快閃記憶體陣列中存儲的使用者資料的資料量是否小於第二預設值。
快閃記憶體陣列中的控制器11檢測該快閃記憶體陣列中存儲的使用者資料的資料量是否小於第二預設值。比如該第二預設值可以為當前容量的50%。此時,該快閃記憶體陣列中被使用者資料佔據的存儲空間存儲資料的模式為第三模式,以該第三模式存儲資料的硬碟資料密度較大,但是可讀寫次數較少。
示例性的,快閃記憶體陣列中設置有兩個硬碟,該兩個硬碟存儲資料的模式預先設置為QLC模式。該兩個硬碟可以為第4圖中的QLC硬碟401,兩個硬碟的存儲容量均為1024GB。此時,整個快閃記憶體陣列的存儲容量為2048GB。當該快閃記憶體陣列根據使用者的需求刪除該快閃記憶體陣列中的資料,一直刪除到該快閃記憶體陣列中存儲的使用者資料的資料量低於1024GB。此時,該快閃記憶體陣列中至少存在1024GB的存儲空間沒有存儲資料,該沒有存儲資料的存儲空間存儲資料的模式為QLC模式,以QLC模式存儲資料的空間可讀寫次數較少。
該快閃記憶體陣列中可以只預先設置以QLC模式存儲資料的存儲空間,也可以預先設置有以SLC、MLC或TLC模式存儲資料的存儲空間。
需要說明的是,該快閃記憶體陣列中的控制器11可以通過快閃記憶體陣列中每個硬碟的快閃記憶體控制器121來檢測每個硬碟的使用者資料的資料量,從而得到整個快閃記憶體陣列的使用者資料的資料量然後確定快閃記憶體陣列中使用者資料的資料量是否小於第二預設值。該控制器11可以與每個硬碟的快閃記憶體控制器121交互,獲取到每個硬碟即時使用者資料的資料量。
802、當檢測到該存儲陣列中存儲的使用者資料的資料量小於第二預設值時,該控制器11將該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第三模式轉換為第四模式。
當該控制器11檢測到該快閃記憶體陣列中存儲的使用者資料的資料量小於第二預設值時,該控制器11將該快閃記憶體陣列中至少一部分空間存儲資料的模式由第三模式轉換為第四模式,以第三模式存儲資料的硬碟比以第四模式存儲資料的硬碟的資料密度高,這種方式可以使得轉換後的該至少一部分空間獲得可讀寫次數的提升。值得注意的是,該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第三模式轉換為第四模式這個過程對於使用者而言並不感知。
示例性的,當步驟801中該的快閃記憶體陣列中存儲的使用者資料的資料量小於1024GB時,該控制器11可以將兩個QLC硬碟中的以QLC模式存儲資料的500GB存儲空間存儲資料的模式轉換為TLC模式,從而可以獲得375GB以TLC模式存儲資料的存儲空間。該以TLC模式存儲資料的存儲空間的可讀寫次數較高。
同理,當該快閃記憶體陣列中存儲的使用者資料的資料量繼續減少,直到使用者資料的資料量滿足第二數量條件時,該控制器11可以繼續將以QLC模式存儲資料的存儲空間的模式轉換為TLC模式,或者將以QLC模式存儲資料的存儲空間的模式轉換為MLC模式以及SLC模式。該第二數量條件可以為低於某一個確定的值。該控制器11也可以先將以QLC模式存儲資料的存儲空間存儲資料的模式轉換為TLC模式,若使用者資料的資料量繼續減少至一定值,再將以TLC模式存儲資料的存儲空間存儲資料的模式轉換為MLC模式。同樣,若使用者資料的資料量繼續減少,可以將以MLC模式存儲資料的存儲空間存儲資料的模式轉換為SLC模式。
需要說明的是,該控制器11將該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第三模式轉換為第四模式之後,若接收到了使用者的寫資料的請求,該控制器11將需要寫入的目標資料以第四模式寫入該快閃記憶體陣列。
當該快閃記憶體陣列中的兩個QLC硬碟全部存儲空間的模式都轉換為SLC模式時,該快閃記憶體陣列中QLC硬碟的可讀寫次數可以達到最大值。
需要說明的是,該控制器11可以向快閃記憶體陣列中每個硬碟的快閃記憶體控制器121反射程式指令,指示該快閃記憶體控制器121將對應的硬碟中存儲空間存儲資料的模式進行轉換。
可以理解的是,該控制器11將該快閃記憶體陣列中至少一部分存儲空間存儲資料的模式由第三模式轉換為第四模式之後,該控制器11還可以將以第三模式存儲資料的存儲空間內的資料移轉至以第四模式存儲資料的存儲空間內,然後再繼續將以第三模式存儲資料的空間存儲資料的模式轉換為第四模式,直至將該快閃記憶體陣列中所有空間存儲資料的模式都轉換為第四模式,該快閃記憶體陣列可以獲得可讀寫次數上的提高,具體可以參照實施例二進行理解,此處不再贅述。
若該快閃記憶體陣列中預先設置了以第四模式存儲資料的存儲空間,該控制器11也可以先將以第三模式存儲資料的存儲空間內的資料移轉至以第四模式存儲資料的存儲空間內,再將該第三模式存儲資料的存儲空間存儲資料的模式轉換為第四模式。具體可以參照實施例三進行理解,此處不再贅述。
實施例四提供的這種硬碟控制的方法中,當快閃記憶體陣列的使用者資料的資料量小於第二預設值的時候,該控制器11可以轉換快閃記憶體陣列中存儲空間存儲資料的模式,降低該快閃記憶體陣列中硬碟的資料密度,可以提高該快閃記憶體陣列的可讀寫次數,從而可以延長該快閃記憶體陣列的使用壽命。
實施例一至實施例四提供的硬碟控制的方法都是針對第1圖所示的快閃記憶體陣列,該方法也可以應用於如第3圖所示的硬碟中,實施例五提供了一種硬碟控制的方法,如第9圖所示,該方法可以包括如下步驟:
901、快閃記憶體控制器121檢測硬碟中存儲的使用者資料的資料量是否滿足第一數量條件。
快閃記憶體控制器121檢測硬碟中存儲的使用者資料的資料量是否滿足第一數量條件。該第一數量條件可以為實施例一至實施例三該的大於或等於第一預設值。當該快閃記憶體陣列中存儲的使用者資料的資料量大於或等於該第一預設值時,若該硬碟繼續寫入資料,那麼該硬碟剩餘的容量即將耗盡。具體可以參照實施例一的步驟501進行理解,此處不再贅述。
該第一數量條件也可以為實施例四該的小於第二預設值,該第二預設值可以與上述第一預設值相等,也可以不相等。當硬碟中存儲的使用者資料的資料量小於第二預設值時,該硬碟中的快閃記憶體控制器121可以將降低該硬碟的資料密度,從而獲得可讀寫次數的提升。具體可以參照實施例四的步驟801進行理解,此處不再贅述。
902、當檢測到該硬碟中存儲的使用者資料的資料量滿足第一數量條件時,該快閃記憶體控制器121將硬碟中至少一部分存儲空間存儲資料的模式由第五模式轉換為第六模式。
為了便於描述,第五模式可以以MLC模式為例。若在步驟901中,該快閃記憶體控制器121檢測到該硬碟的使用者資料的資料量大於或等於第一預設值時,該快閃記憶體控制器121可以將該硬碟中至少一部分存儲空間存儲資料的模式由第五模式轉換為第六模式,此種情況該第六模式可以以TLC模式為例。該快閃記憶體控制器121將該硬碟中至少一部分存儲空間存儲資料的模式由第五模式轉換為第六模式之後,該硬碟的容量可以擴大,可以存儲更多資料。具體可以參照實施例一中步驟502進行理解,此處不再贅述。
若在步驟902中,該快閃記憶體控制器121檢測到該硬碟的使用者資料的資料量小於第二預設值時,該快閃記憶體控制器121可以將該硬碟中至少一部分存儲空間存儲資料的模式由第五模式轉換為第六模式,此種情況該第六模式可以以SLC模式為例。該快閃記憶體控制器121將該硬碟中至少一部分存儲空間存儲資料的模式由第五模式轉換為第六模式之後,可以獲得可讀寫次數的提升。具體可以參照實施例四的步驟802進行理解,此處不再贅述。
可以理解的是,該快閃記憶體控制器121將該硬碟中至少一部分存儲空間存儲資料的模式由第五模式轉換為第六模式之後,該快閃記憶體控制器121還可以將以第五模式存儲資料的存儲空間內的資料移轉至以第六模式存儲資料的存儲空間內,再釋放該資料佔據的存儲空間,然後再繼續將以第五模式存儲資料的存儲空間存儲資料的模式轉換為第六模式,直至將該硬碟中所有存儲空間存儲資料的模式都轉換為第六模式,具體可以參照實施例二進行理解,此處不再贅述。
若該硬碟中預先設置了以第六模式存儲資料的存儲空間,該快閃記憶體控制器121也可以先將以第五模式存儲資料的存儲空間內的資料移轉至以第六模式存儲資料的存儲空間內,再將該第五模式存儲資料的存儲空間存儲資料的模式轉換為第六模式。具體可以參照實施例三進行理解,此處不再贅述。
可以理解的是,快閃記憶體控制器121將硬碟中至少一部分存儲空間存儲資料的模式由第五模式轉換為第六模式之後,若該快閃記憶體控制器接收到寫資料請求,該快閃記憶體控制器以第六模式將目標資料寫入該硬碟。
實施例六提供的一種硬碟控制裝置,該硬碟控制裝置可以應用於實施例九中硬碟控制的方法,如第10圖所示,該硬碟控制裝置包括:
檢測模組1001,用於檢測硬碟中存儲的使用者資料的資料量是否滿足第一數量條件。可以參照實施例五的步驟901進行理解,此處不再贅述。
處理模組1002,當存儲的使用者資料的資料量滿足第一數量條件時,將該硬碟中至少一部分存儲空間存儲資料的模式由第五模式轉換為第六模式。具體可以參照實施例五的步驟902,此處不再贅述。
該處理模組1002,還用於將以第五模式存儲資料的存儲空間內的資料移轉至以第六模式存儲資料的存儲空間內。具體可以參照實施例五的步驟902,此處不再贅述。
該處理模組1002,還用於釋放至少一部分使用者資料佔用的存儲空間。具體可以參照實施例五的步驟902進行理解,此處不再贅述。
接收模組1003,用於接收寫資料請求,寫資料請求包括目標資料。具體可以參照實施例五的步驟902進行理解,此處不再贅述。該硬碟控制裝置可以位於硬碟中,由快閃記憶體控制器121執行其具體功能。在另一種實現中,該硬碟控制裝置可以位於快閃記憶體陣列的控制器中,各個模組由控制器中的處理器調用記憶體中的程式碼執行。
實施例七提供了一種控制器11,該控制器11應用於實施例一至實施例四該的快閃記憶體陣列中,參見第11圖,本發明實施例七提供了一種控制器11,該控制器11可以包括:
處理器1101、記憶體1102和收發器1103。該控制器11是一種硬體結構的設備,可以用於執行實施例一至實施例四該快閃記憶體陣列中控制器執行的步驟。例如,本領域技術人員可以想到實施例一中步驟501,該控制器11可以通過收發器1103發送信令詢問快閃記憶體陣列中每個硬碟的使用者資料的資料量,然後通過該收發器1103接收每個硬碟的使用者資料的資料量,該處理器1101調用記憶體1102中的程式將所有硬碟的使用者資料的資料量加起來得到快閃記憶體陣列中的使用者資料的資料量,將該使用者資料的資料量與第一預設值進行對比,從而確定該快閃記憶體陣列中的使用者資料的資料量是否大於或等於第一預設值。並且,處理器1101還可以通過該收發器1103向快閃記憶體陣列中每個硬碟發送命令,指示該硬碟中的快閃記憶體控制器將硬碟中相應的區域存儲空間存儲資料的模式由第一模式轉換為第二模式,具體可以參照實施例一的步驟502進行理解。
可選的,上述處理器1101可以是一個或多個中央處理器(central processing unit,      CPU),微處理器,特定應用積體電路(application-specific integrated circuit,ASIC),或一個或多個用於控制本發明方案程式執行的積體電路。
處理器1101、記憶體1102和收發器1103通過匯流排1104相連,匯流排1104可以是外設部件互聯標準(peripheral component interconnect,PCI)匯流排或延伸工業標準架構(extended industry standard architecture,EISA)匯流排等。匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。
以上對本申請實施例所提供的一種硬碟控制方法及相關設備進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用範圍上均會有改變之處,綜上,本說明書內容不應理解為對本申請的限制。儘管參照前述實施例對本申請進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本申請各實施例技術方案的精神和範圍。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
11:控制器 12,401~404:硬碟 111,114:介面卡 112,1102:記憶體 113,1101:處理器 121:快閃記憶體控制器 122:快閃記憶體晶片 501~502,601~605,701~704,801~802,901~902:步驟 1001:檢測模組 1002:處理模組 1003:接收模組 1103:收發器 1104:匯流排
第1圖為本發明實施例提供的存放裝置的組成圖; 第2圖為本發明實施例提供的控制器的結構示意圖; 第3圖為本發明實施例提供的硬碟的結構示意圖; 第4圖為本發明實施例提供的硬碟模式的示意圖; 第5圖為本發明實施例提供的硬碟控制方法的一個實施例示意圖; 第6圖為本發明實施例提供的硬碟控制方式的另一個實施例示意圖; 第7圖為本發明實施例提供的硬碟控制方式的另一個實施例示意圖; 第8圖為本發明實施例提供的硬碟控制方式的另一個實施例示意圖; 第9圖為本發明實施例提供的硬碟控制方式的另一個實施例示意圖; 第10圖為本發明實施例提供的硬碟的一個實施例示意圖; 第11圖為本發明實施例提供的控制器的一個實施例示意圖。
501~502:步驟

Claims (17)

  1. 一種硬碟控制方法,用於存放裝置中,包括: 檢測該存放裝置中存儲的使用者資料的資料量是否滿足第一數量條件,該存放裝置包括第一存儲區域,該第一存儲區域以第一模式存儲資料,該第一模式是單層式存儲單元SLC模式、多層式存儲單元MLC模式、三層式存儲單元TLC模式、四層式存儲單元QLC模式中的其中一種; 當該存儲的使用者資料的資料量滿足第一數量條件時,將該第一存儲區域中的第一子區域存儲資料的模式由該第一模式轉換為第二模式,該第二模式是SLC模式、 MLC模式、TLC模式、QLC模式中的其中一種,並且該第二模式不同於該第一模式。
  2. 如請求項1所述之方法,其中在該將該第一存儲區域中的第一子區域存儲資料的模式由該第一模式轉換為第二模式之後,該方法還包括: 將該第一存儲區域的使用者資料中的至少一部分使用者資料移轉至該轉換後的第一子區域; 釋放該第一存儲區域中該至少一部分使用者資料所佔用的區域; 將該至少一部分使用者資料所佔用的區域存儲資料的模式轉換成該第二模式。
  3. 如請求項1所述之方法,其中在該將第一存儲區域中的第一子區域存儲資料的模式由該第一模式轉換為第二模式之前,該方法還包括: 將該第一存儲區域的使用者資料中的至少一部分使用者資料移轉至該存放裝置的緩存; 釋放該至少一部分使用者資料該佔用的區域; 在該將第一存儲區域中的第一子區域存儲資料的模式由該第一模式轉換為第二模式之後,將該至少一部分使用者資料以該第二模式寫入該轉換後的第一存儲區域。
  4. 如請求項1所述之方法,其中該存放裝置還包括第二存儲區域,該第二存儲區域以第二模式存儲資料,在該將第一存儲區域中的第一子區域存儲資料的模式由該第一模式轉換為第二模式之前,該方法還包括: 將該第一存儲區域的使用者資料中的至少一部分使用者資料移轉至該存放裝置的第二存儲區域; 釋放該至少一部分使用者資料所佔用的區域。
  5. 如請求項1至4任意一項所述之方法,其中該方法還包括: 接收寫資料請求,該寫資料請求包括目標資料; 將該目標資料以該第二模式寫入該轉換後的第一子區域。
  6. 如請求項5所述之方法,其中該方法還包括: 檢測該存放裝置中存儲的使用者資料的資料量是否滿足第二數量條件,該存放裝置包括第二存儲區域; 當該存儲的使用者資料的資料量滿足第二數量條件時,將該第二存儲區域中的第二子區域存儲資料的模式由該第二模式轉換為第三模式,該第三模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且該第三模式不同於該第二模式。
  7. 一種硬碟控制裝置,其中該硬碟控制裝置應用於硬碟中,該硬碟控制裝置包括: 檢測模組,用於檢測該存放裝置中存儲的使用者資料的資料量是否滿足第一數量條件,該存放裝置包括第一存儲區域,該第一存儲區域以第一模式存儲資料,該第一模式是單層式存儲單元SLC模式、多層式存儲單元MLC模式、三層式存儲單元TLC模式、四層式存儲單元QLC模式中的其中一種; 處理模組,用於當該檢測模組檢測到存儲的使用者資料的資料量滿足第一數量條件時,將該第一存儲區域中的第一子區域存儲資料的模式由該第一模式轉換為第二模式,該第二模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且該第二模式不同於該第一模式。
  8. 如請求項7所述之硬碟控制裝置,其中該硬碟控制裝置還包括: 該處理模組,用於將該第一存儲區域的使用者資料中的至少一部分使用者資料移轉至該轉換後的第一子區域; 該處理模組,還用於釋放該第一存儲區域中該至少一部分使用者資料所佔用的區域; 該處理模組,還用於將該至少一部分使用者資料所佔用的區域存儲資料的模式轉換成該第二模式。
  9. 如請求項7所述之硬碟控制裝置,其中該硬碟控制裝置還包括: 該處理模組,還用於將該第一存儲區域的使用者資料中的至少一部分使用者資料移轉至該硬碟的第二存儲區域,該第二存儲區域以該第二模式存儲資料; 該處理模組,還用於釋放該至少一部分使用者資料所佔用的區域。
  10. 如請求項7至9任一所述之硬碟控制裝置,其中該硬碟控制裝置還包括: 接收模組,用於接收寫資料請求,該寫資料請求包括目標資料; 該處理模組,還用於將該目標資料以該第二模式寫入轉換後的第一子區域。
  11. 如請求項10所述之硬碟控制裝置,其中該硬碟控制裝置還包括: 該檢測模組,還用於檢測該存放裝置中存儲的使用者資料的資料量是否滿足第二數量條件,該存放裝置包括第二存儲區域; 該處理模組,還用於當該檢測模組檢測到存儲的使用者資料的資料量滿足第二數量條件時,將該第二存儲區域中的第二子區域存儲資料的模式由該第二模式轉換為第三模式,該第三模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且該第三模式不同於該第二模式。
  12. 一種控制器,其中該控制器位於存放裝置中,該存放裝置包括至少一個硬碟和該控制器,該控制器包括處理器和記憶體,該記憶體中存儲有程式指令,該處理器用於調用記憶體中的程式指令執行如下步驟: 檢測該存放裝置中存儲的使用者資料的資料量是否滿足第一數量條件,該存放裝置包括第一存儲區域,該第一存儲區域以第一模式存儲資料,該第一模式是單層式存儲單元SLC模式、多層式存儲單元MLC模式、三層式存儲單元TLC模式、四層式存儲單元QLC模式中的其中一種; 當該存放裝置中存儲的使用者資料的資料量滿足第一數量條件時,將該第一存儲區域中的第一子區域存儲資料的模式由該第一模式轉換為第二模式,該第二模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且該第二模式不同於該第一模式。
  13. 如請求項12所述之控制器,其中該處理器還用於調用記憶體中的程式指令執行如下步驟: 將該第一存儲區域的使用者資料中的至少一部分使用者資料移轉至該轉換後的第一子區域; 釋放該第一存儲區域中該至少一部分使用者資料所佔用的區域; 將該至少一部分使用者資料所佔用的區域存儲資料的模式轉換成該第二模式。
  14. 如請求項12所述之控制器,其中該處理器還用於調用記憶體中的程式指令執行如下步驟: 將該第一存儲區域的使用者資料中的至少一部分使用者資料移轉至該存放裝置的緩存; 釋放該至少一部分使用者資料該佔用的區域; 在該將第一存儲區域中的第一子區域存儲資料的模式由該第一模式轉換為第二模式之後,將該至少一部分使用者資料以該第二模式寫入該轉換後的第一存儲區域。
  15. 如請求項12所述之控制器,其中該處理器還用於調用該記憶體中的程式指令執行如下步驟: 將該第一存儲區域的使用者資料中的至少一部分使用者資料移轉至該存放裝置的第二存儲區域,該第二存儲區域以第二模式存儲資料; 釋放該至少一部分資料所佔用的區域。
  16. 如請求項12至15任一所述之控制器,其中該處理器還用於調用該記憶體中的程式指令執行如下步驟: 接收寫資料請求,該寫資料請求包括目標資料; 將該目標資料以該第二模式寫入第二存儲區域或該轉換後的第一存儲區域。
  17. 如請求項16所述之控制器,其中該處理器還用於調用該記憶體中的程式指令執行如下步驟: 檢測該存放裝置中存儲的使用者資料的資料量是否滿足第二數量條件,該存放裝置包括第二存儲區域; 當該存放裝置中存儲的使用者資料的資料量滿足第二數量條件時,將該第二存儲區域中的第二子區域存儲資料的模式由該第二模式轉換為第三模式,該第三模式是SLC模式、MLC模式、TLC模式、QLC模式中的其中一種,並且該第三模式不同於該第二模式。
TW109119837A 2019-06-14 2020-06-12 一種硬碟控制方法及相關設備 TWI779300B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/CN2019/091189 WO2020248206A1 (zh) 2019-06-14 2019-06-14 一种硬盘控制方法及相关设备
WOPCT/CN2019/091189 2019-06-14

Publications (2)

Publication Number Publication Date
TW202046111A true TW202046111A (zh) 2020-12-16
TWI779300B TWI779300B (zh) 2022-10-01

Family

ID=73781309

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109119837A TWI779300B (zh) 2019-06-14 2020-06-12 一種硬碟控制方法及相關設備

Country Status (7)

Country Link
US (1) US20220100406A1 (zh)
EP (1) EP3964939A4 (zh)
JP (1) JP2022537520A (zh)
KR (1) KR20220015457A (zh)
CN (1) CN114008580A (zh)
TW (1) TWI779300B (zh)
WO (1) WO2020248206A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722804B (zh) * 2020-06-12 2022-07-08 浪潮电子信息产业股份有限公司 一种非易失内存调度的方法、系统、设备及可读存储介质
US20220229574A1 (en) * 2021-01-20 2022-07-21 Micron Technology, Inc. Data migration techniques
CN118626024A (zh) * 2024-08-14 2024-09-10 合肥康芯威存储技术有限公司 一种存储芯片的数据存储方法及数据存储系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407400B2 (en) * 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
JP5444198B2 (ja) * 2010-12-06 2014-03-19 本田技研工業株式会社 サブフレーム構造体
KR101861170B1 (ko) * 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
US9176862B2 (en) * 2011-12-29 2015-11-03 Sandisk Technologies Inc. SLC-MLC wear balancing
US8935459B2 (en) * 2012-03-08 2015-01-13 Apple Inc. Heuristics for programming data in a non-volatile memory
JP6146675B2 (ja) * 2014-06-03 2017-06-14 コニカミノルタ株式会社 画像形成装置及びフラッシュメモリの制御方法並びに制御プログラム
US10031673B2 (en) * 2014-09-26 2018-07-24 SK Hynix Inc. Techniques for selecting amounts of over-provisioning
CN105843748B (zh) * 2015-01-15 2019-06-11 华为技术有限公司 一种对内存中内存页的处理方法及装置
US9697134B2 (en) * 2015-06-10 2017-07-04 Micron Technology, Inc. Memory having a static cache and a dynamic cache
US10007458B2 (en) * 2015-12-18 2018-06-26 Microsemi Solutions (U.S.), Inc. Method of configuring memory cells in a solid state drive based on read/write activity and controller therefor
US20180129440A1 (en) * 2016-11-09 2018-05-10 Western Digital Technologies, Inc. Self-virtualizing flash memory for solid state drive
US20180165032A1 (en) * 2016-12-14 2018-06-14 Western Digital Technologies, Inc. Read write performance for nand flash for archival application
TWI630540B (zh) * 2017-07-13 2018-07-21 慧榮科技股份有限公司 資料儲存裝置及非揮發式記憶體操作方法
US10572388B2 (en) * 2017-08-30 2020-02-25 Micron Technology, Inc. Managed NVM adaptive cache management
JP7030463B2 (ja) * 2017-09-22 2022-03-07 キオクシア株式会社 メモリシステム
CN111488122A (zh) * 2017-10-25 2020-08-04 华为技术有限公司 数据写入方法和存储设备
JP6805110B2 (ja) * 2017-11-06 2020-12-23 株式会社日立製作所 ストレージシステム及びその制御方法
US20190034330A1 (en) * 2017-12-01 2019-01-31 Intel Corporation Mass storage device with dynamic single level cell (slc) buffer specific program and/or erase settings
US20190034105A1 (en) * 2017-12-28 2019-01-31 Intel Corporation Storage device having programmed cell storage density modes that are a function of storage device capacity utilization
US11132133B2 (en) * 2018-03-08 2021-09-28 Toshiba Memory Corporation Workload-adaptive overprovisioning in solid state storage drive arrays
US10949355B2 (en) * 2018-06-11 2021-03-16 Western Digital Technologies, Inc. Methods and apparatus for workload based dynamic cache control in SSD
CN110795270B (zh) * 2018-08-03 2024-01-30 建兴储存科技(广州)有限公司 固态储存装置及其读取重试方法

Also Published As

Publication number Publication date
JP2022537520A (ja) 2022-08-26
EP3964939A1 (en) 2022-03-09
CN114008580A (zh) 2022-02-01
EP3964939A4 (en) 2022-05-11
TWI779300B (zh) 2022-10-01
KR20220015457A (ko) 2022-02-08
WO2020248206A1 (zh) 2020-12-17
US20220100406A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
US11355197B2 (en) Memory system with nonvolatile cache and control method thereof
JP6817273B2 (ja) 不揮発性大容量メモリ・システムによるキャッシュ移動を提供するための装置および方法
TWI779300B (zh) 一種硬碟控制方法及相關設備
US10209894B2 (en) Memory system and method for controlling nonvolatile memory
WO2016107442A1 (zh) 将数据写入固态硬盘的方法及固态硬盘
CN103838676B (zh) 数据存储系统、数据存储方法及pcm桥
CN114968081A (zh) 数据存储系统中的基于利用率的动态共享缓冲器
WO2016112713A1 (zh) 一种对内存中内存页的处理方法及装置
WO2020007030A1 (zh) 一种系统控制器和系统垃圾回收方法
CN112130749A (zh) 数据储存装置以及非挥发式存储器控制方法
EP3772682A1 (en) Method and apparatus to improve write bandwidth of a block-based multi-level cell non-volatile memory
TW202101223A (zh) 資料儲存裝置以及非揮發式記憶體控制方法
WO2015061921A1 (zh) 用于数据存储系统的动态缓存方法和系统
CN115203079A (zh) 一种将数据写入固态硬盘的方法
TW202318205A (zh) 記憶體系統及資料輸入輸出系統
TWI786288B (zh) 儲存裝置、儲存裝置的控制方法及記錄媒體
US11288197B2 (en) Method and apparatus for performing pipeline-based accessing management in a storage server
KR101363422B1 (ko) 비휘발성 메모리 시스템
WO2021142325A1 (en) Performing a media management operation based on changing a write mode of a data block in a cache
CN115951841A (zh) 存储系统及创建方法、数据处理方法、装置、设备和介质
CN112558879A (zh) 一种提高固态盘内3D-flash性能的方法
CN110888591A (zh) 数据储存装置以及非挥发式存储器控制方法
KR20240134218A (ko) 메모리 시스템을 작동하는 방법, 메모리 제어기, 메모리 시스템 및 전자 디바이스

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent