TWI790628B - 記憶體系統及控制方法 - Google Patents
記憶體系統及控制方法 Download PDFInfo
- Publication number
- TWI790628B TWI790628B TW110119412A TW110119412A TWI790628B TW I790628 B TWI790628 B TW I790628B TW 110119412 A TW110119412 A TW 110119412A TW 110119412 A TW110119412 A TW 110119412A TW I790628 B TWI790628 B TW I790628B
- Authority
- TW
- Taiwan
- Prior art keywords
- mentioned
- namespace
- logical
- volatile memory
- controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Power Engineering (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
Abstract
本發明之一實施型態係實現能減少非揮發性記憶體之消耗的記憶體系統及控制方法。 控制器係因應從主機接收到指定第1屬性的第1命名空間作成指令,作成包含第1邏輯位址範圍且具有第1屬性的第1命名空間。在從主機接收電源切斷預告通知或檢測出不正常電源切斷後,至電力再次被供給至記憶體系統而控制器成為準備狀態之第1期間,控制器使第1邏輯位址範圍所含的邏輯位址之各者成為非揮發性記憶體之物理位址未被映射的未分配狀態。
Description
本發明之實施型態係關於具備非揮發性記憶體的記憶體系統及控制非揮發性記憶體的方法。 [相關申請案] 本申請案享有作為基礎申請的日本專利申請案第2021-11137號(申請日:2021年1月27日)的優先權。本申請藉由參照該基礎申請而包含基礎申請的全部內容。
近年來,具備非揮發性記憶體的記憶體系統廣泛普及。作為如此的記憶體系統之一,所知有具備NAND型快閃記憶體的固態驅動器(SSD)。 能夠高速資料的輸入輸出的SSD般的儲存裝置由於其高性能,而作為交換區域被有效利用。交換區域係為了暫時性地迴避藉由在主機中被實行的作業系統之交換機能而從主機之記憶體被換出的資料而被使用的記憶區域。在SSD中,實行用以非揮發性地記憶從主機之記憶體被換出至SSD之資料的處理。依此,該被換出的資料成為跨越SSD之電源循環而被保持在SSD內。 但是,在交換區域所要求的係與被設置在主機的揮發性之記憶體相同,僅在主機之電源為接通的期間保持被記憶的資料。因此,跨越SSD之電源循環而將主機之記憶體被換出的資料保持在SSD內之事項,成為在SSD內持續保持主機不再使用的資料。依此,會引起SSD內之非揮發性記憶體之不必要的消耗。 因此,追求能夠減少非揮發性記憶體之消耗的嶄新技術的實現。
本發明之一實施型態所欲解決的課題,係提供能夠減少非揮發性記憶體之消耗的記憶體系統及控制方法。 若藉由實施型態時,能夠連接於主機的記憶體系統具備非揮發性記憶體,被電性連接於非揮發性記憶體的控制器。控制器係因應從主機接收到指定第1屬性的第1命名空間作成指令,作成包含第1邏輯位址範圍且具有第1屬性的第1命名空間。控制器係在從主機接收預告切斷對記憶體系統供給電力的電源切斷預告通知或者檢出記憶體系統之不正常電源切斷後,至電力再次被供給至記憶體系統而控制器成為能夠處理來自主機之指令的準備狀態的第1期間,使第1邏輯位址範圍所含的邏輯位址之各者,成為非揮發性記憶體之物理位址未被映射的未分配狀態。
以下,參照圖面說明實施型態。 圖1為表示包含實施型態所涉及之記憶體系統的資訊處理系統1之構成例的方塊圖。資訊處理系統1包含主機(主機裝置)2和SSD3。 記憶體系統係被構成對非揮發性記憶體寫入資料,從非揮發性記憶體讀出資料的半導體儲存裝置。記憶體系統能作為包含例如NAND型快閃記憶體5的SSD3而被實現。 SSD3即使經由纜線或網路被連接於主機2亦可。或是,即使SSD3被內置在主機2亦可。作為用以連接主機2和SSD3之邏輯介面之規格,能使用NVM Express
TM(NVMe
TM)、Serial Attached SCSI(SAS)、或Serial ATA(SATA)等。 主機2係被構成控制SSD3的資訊處理裝置。在主機2之例中,包含個人電腦、伺服器電腦、行動終端機、車載機器。 主機2包含處理器101和記憶體102。處理器101係被構成控制主機2內之各分量之動作的CPU(Central Processing Unit)。處理器101係實行被連接於主機2之其他的儲存裝置或從SSD3被載入至記憶體102之軟體(主機軟體)。在主機軟體中包含操作系統(OS)1011。在主機軟體中,除了操作系統1011之外,也包含檔案系統、裝置驅動器及運用程式。 記憶體102係被設置在主機2之主記憶體。記憶體102係藉由例如DRAM(Dynamic Random Access Memory)般之隨機存取記憶體而被實現。DRAM係當電源之供給被切斷時,被記憶的資料遺失的揮發性記憶體。 操作系統1011係管理包含處理器101、記憶體102及SSD3的資訊處理系統1全體的資源。再者,操作系統1011係進行在主機2上動作的運用程式(以下,單稱為「程式」之管理)。 在圖1之例中,操作系統1011包含製程管理部1111和記憶體管理部1112。製程管理部1111係管理在主機2中被實行的各製程之生成,各製程之實行、各製程之結束。記憶體管理部1112係根據來自製程管理部1111之記憶體分配要求,實行將記憶體102內之一部分的記憶體區域分配至特定製程分配的處理。 在開始某程式之實行時,操作系統1011內之製程管理部1111係生成該程式用的製程。而且,製程管理部1111係對記憶體管理部1112要求對該被生成的製程的記憶體分配。接受到記憶體分配之要求的記憶體管理部1112係將記憶體102內之一部分的記憶體區域分配至該製程。製程管理部1111係從SSD3或資訊處理系統1內之其他儲存裝置讀出該程式,在該被分配的記憶體區域,載入該程式。 在此,說明被分配至某製程的記憶體區域之內容,係在換出或換進的時序,被寫入至SSD3,或從SSD3被讀出之情形。 從製程管理部1111接收到記憶體分配要求的記憶體管理部1112為了確保用以分配至該製程的記憶體區域,有將被儲存於被分配至另外製程的記憶體區域的資料退避至SSD3之情形。該退避處理被稱為換出。從記憶體102被換出至SSD3之資料被寫入至SSD3內之非揮發性記憶體。一旦在處理器101上再次實行被換出的製程之時,進行從SSD3讀出換出的資料,而回復至記憶體102內之記憶體區域的處理。該回復處理被稱為換進。 在此,記憶體102和SSD3之間的換出及換進僅在主機2之電源接通時被進行。藉由操作系統1011被關機,主機2之電源成為斷開之後,即是從主機2對SSD3供給電力被切斷之後,藉由換出而被寫入至SSD3的資料成為主機2不再使用的資料。 與藉由換出而被寫入至SSD3的資料相同,例如被寫入至被稱為「Tmp資料夾」(或「/Tmp目錄」)的資料夾,也藉由操作系統1011之關機而主機2之電源成為斷開之後,即是對SSD3供給電力被切斷之後,成為主機2未使用的資料。 接著,針對SSD3之構成予以說明。SSD3包含控制器4、非揮發性記憶體(例如NAND型快閃記憶體5)、隨機存取記憶體(例如DRAM6)和電源電路7。 控制器4係控制根據從主機2接收到的指令而將資料寫入至NAND型快閃記憶體5的資料寫入動作,和根據從主機2接收到的指令而將讀出對象資料從NAND型快閃記憶體5予以讀出的資料讀出動作。 控制器4即使藉由System-on-a-chip(SoC)般之電路而被實現亦可。控制器4之各機能能夠藉由專用硬體電路、實現程式(韌體)的處理器,或是該些組合中之任一者而被實現。 控制器4並不被限定於此,經由以Toggle NAND快閃記憶體介面或開放式NAND快閃記憶體介面(ONFI)為依據的NAND介面13,而被電性連接於NAND型快閃記憶體5。控制器4係作為被構成控制NAND型快閃記憶體5之記憶體控制器而動作。 控制器4係夠作為被構成實行NAND型快閃記憶體5之資料管理及區塊管理的快閃轉譯層(FTL)而發揮機能。 藉由FTL而被實行的資料管理包含(1)表示邏輯位址之各者和NAND型快閃記憶體5之物理位址之各者之間的對應關係的位址轉換資料(映射資訊)之管理,(2)用以隱蔽NAND型快閃記憶體5之制約(例如,頁單位之讀取/寫入動作和區塊單位之消除動作)的處理等。與某邏輯位址對應的物理位址係表示與該邏輯位址對應的資料被寫入的NAND型快閃記憶體5內的物理性記憶位置。控制器4係使用邏輯物理位址轉換表(logical-to-physical address translation table:L2P表),管理邏輯位址之各者和物理位址之各者之間的映射。作為邏輯位址,能夠使用邏輯區塊位址(LBA)。 在本實施型態中,控制器4係被構成使用分別與複數命名空間對應的複數L2P表(例如,L2P表31-1~31-n),對每命名空間,管理與該命名空間對應的邏輯位址之各者和NAND型快閃記憶體5之物理位址之各者之間的映射。 L2P表31-1~31-n之各者的位址轉換資料之一部分或全部係在因應電力被供給至SSD3而藉由控制器4被實行的初期化處理之間,從NAND型快閃記憶體5被載入至DRAM5。 L2P表31-1~31-n之各者不被限定,即使作為包含與複數階層等級對應的複數表的階層L2P表而被實現亦可。針對階層L2P表之構成例參照圖3於後述。 NAND型快閃記憶體5包含記體單元陣列,該記憶體單元陣列包含被配置成矩陣狀的複數記憶體單元。NAND型快閃記憶體5即使為二次元構造的快閃記憶體亦可,即使為三次元構造之快閃記憶體亦可。 如圖2所示般,NAND型快閃記憶體5之記憶體單元陣列包含複數區塊BLK0~BLKx-1。區塊BLK0~BLKx-1之各者包含複數頁(在此,為頁P0~Py-1)。各頁包含被連接於相同字元線的複數記憶體單元。區塊BLK0~BLKx-1之各者係消除資料的資料消除動作之單位。頁P0~Py-1之各者係資料寫入動作及資料讀出動作之單位。 返回圖1予以說明。NAND型快閃記憶體5係為了儲存分別與複數命名空間NS#1~NS#n對應的複數L2P表31-1~31-n,和分別與複數命名空間NS#1~NS#n對應的複數使用者資料41-1、…、41-n而被使用。 DRAM6為揮發性記憶體。DRAM6之記憶體區域之一部被使用於L2P表31-1~31-n、命名空間管理表32、區塊管理表33及區塊使用順序管理表34之儲存。參照圖5、圖6及圖7於後詳細敘述命名空間管理表32、區塊管理表33及區塊使用順序管理表34。 電源電路7係使用從主機2被供給的電力,即是電源電壓Vcc,而生成用以驅動控制器4之電源電壓,和用以驅動NAND型快閃記憶體5之電源電壓,和用以驅動DRAM6之電源電壓,將該些生成後的電源電壓分別供給至控制器4和NAND型快閃記憶體5和DRAM6。 再者,電源電路7係進行與控制器4的通訊。在電源電壓Vcc之電壓值下降至特定值以下之情況,電源電路7係將對SSD3供給電力被切斷之旨通知至控制器4(以下,稱為電源斷開檢出通知)。例如,於從主機2接收預告對SSD3供給電力被切斷之通知(以下,稱為電源切斷預告通知)之前,在從電源電路7接收到電源斷開檢出通知之情況,控制器4檢出發生不正常電源切斷。不正常電源切斷並非對SSD3的電力供給即將被切斷之旨被通知至SSD3,而係指對SSD3的電力供給突然被切斷的現象之意。 再者,電源電路7即使具有不正常電源切斷發生後,在特定期間之間,能夠持續對控制器4、NAND型快閃記憶體5及DRAM6之各者供給電源電壓的關機保護(PLP)功能亦可。在此情況,電源電路7即使被連接於例如電容器71亦可。在由於不正常電源切斷使得從主機2對電源電路7供給電源電壓Vcc被切斷之時,電源電路7使用被蓄積於電容器71的能量,發生不正常電源切斷後,在特定期間之間,對控制器4、NAND型快閃記憶體5及DRAM6之各者供給電源電壓。 接著,針對控制器4之詳細構成予以說明。控制器4包含主機介面(主機I/F)11、CPU12、NAND介面(NAND I/F)13、DRAM介面(DRAM I/F)14、直接記憶體存取控制器(DMAC)15、靜態隨機存取記憶體(SRAM)16、錯誤校正碼(ECC)編碼/解碼部17。該些主機介面11、CPU12、NAND介面13、DRAM介面14、DMAC15、SRAM16、ECC編碼/解碼部17係經由匯流排10而互相連接。 主機介面11係被構成實行與主機2通訊的主機介面電路。主機介面電路11係從主機2接收各種要求或通知。各種要求或通知之例包含電源切斷預告通知、命名空間作成要求(命名空間作成指令)、命名空間刪除要求(命名空間刪除指令)、寫入要求(寫入指令)、讀取要求(讀取指令)。 電源切斷預告通知係如上述般,預告對SSD3供給電力被切斷的通知。於主機2之電源成為斷開之前,主機2係對SSD3發送電源切斷預告通知,將對SSD3供給電力即將被切斷之旨通知至SSD3。 作為電源切斷預告通知,能使用例如以NVMe規格被規定的Shutdown Notification,以SATA規格被規定的STANDBY IMMEDIATE指令。 在從主機2接收到電源切斷預告通知之情況,控制器4係進行包含將還未被寫入至NAND型快閃記憶體5之DRAM6之內容(例如,已更新的L2P表之內容)寫入至NAND型快閃記憶體5之處理的關機準備處理。主機2係至SSD3之關機準備處理完成之旨從控制器4被通知,或至對SSD3發送電源切斷預告通知後經過特定期間,不切斷對SSD3供給電力。 命名空間作成指令係向SSD3要求命名空間之作成的指令。命名空間刪除指令係SSD3要求特定命名空間之刪除的指令。 寫入指令係向SSD3要求將資料(寫入資料)寫入至特定命名空間的指令。寫入指令係指定寫入資料被寫入的命名空間之命名空間識別元,和與寫入資料對應的開始LBA,和儲存寫入資料之尺寸(LBA之數量),和表示儲存寫入資料之記憶體102內之位置的資料指標(緩衝位址)等。 讀取指令係向SSD3要求讀取對象資料之讀出的指令。讀取指令係指定讀取對象資料應被讀出之命名空間之命名空間識別元,和與讀取對象資料對應的開始LBA,和讀取對象資料之尺寸(LBA之數量),和讀取對象資料應被傳送的表示記憶體102內之位置的資料指標(緩衝位址)等。 NAND介面13係被構成在CPU12之控制下,控制NAND型快閃記憶體5的NAND控制器。即使在NAND型快閃記憶體5由複數NAND型快閃記憶體晶片(NAND型快閃記體晶粒)構成之情況,NAND介面13係經由複數通道(Ch)而與NAND型快閃記憶體晶片連接亦可。 DRAM介面14係被構成在CPU12之控制下,控制DRAM6的DRAM控制器。 DMAC15係在CPU12之控制下,實行主機2之記憶體102和SRAM16(或DRAM6)之間的資料傳送。 SRAM16為揮發性記憶體。SRAM16為內部緩衝器161。即使內部緩衝器161係作為暫時性地記憶應寫入至NAND型快閃記體5之寫入資料的寫入緩衝器使用亦可。 ECC編碼/解碼部17係將寫入資料寫入至NAND型快閃記憶體5之時,藉由對寫入資料進行編碼,將ECC作為冗長碼附加於該寫入資料。資料從NAND型快閃記憶體5被讀取之時,ECC編碼/解碼部17係使用被施加於被讀取到的資料的ECC,進行該資料錯誤更正。 CPU12係被構成控制主機介面11、NAND介面13、DRAM介面14、DMAC15、SRAM16、ECC編碼/解碼部17的處理器。CPU12係將被儲存於NAND型快閃記憶體5或無圖示之ROM的控制程式(韌體)載入至SRAM16(或DRAM6),然後實行該韌體而進行各種處理。 CPU12係可以作為命名空間管理指令處理部21、I/O指令處理部22、清除處理部23及復原處理部24而發揮功能。即使該些命名空間管理指令處理部21、I/O指令管理部22、清除處理部23及復原處理部24之各者之一部分或全部藉由控制器4內之專用的硬體而被實現亦可。 命名空間管理指令處理部21係因應從主機2被接收的命名空間作成指令而作成命名空間,管理作成後的命名空間。命名空間管理指令處理部21可以作成及管理複數命名空間。複數命名空間為彼此獨立的邏輯位址範圍。複數命名空間係為了使一個位址暫存器宛如複數儲存裝置般地動作而被使用。複數命名空間係為了存取SSD3而藉由主機2被使用。 再者,因應從主機2被接收的命名空間刪除指令,命名空間管理指令處理部21係藉由該命名空間刪除指令刪除被指定的命名空間。 在本實施型態中,命名空間管理指令處理部21係被構成作成及管理具有清除屬性的命名空間。具有清除屬性之命名空間係於對SSD3供給電力被切斷之後,使與該命名空間之邏輯位址範圍建立關聯的資料無效化被許可的命名空間。換言之,具有清除屬性的命名空間係不需要跨越SSD3之電源循環而保持被寫入至該命名空間之資料的命名空間。 從主機2對SSD3供給電力被切斷,之後,電力從主機2再次被供給至SSD3之過程相當於SSD3之一次的電源循環。 一旦對SSD3供給電力被切斷時,即使電力再次被供給至SSD3,於對SSD3供給電路被切斷之前,藉由主機2被寫入至具有清除屬性的命名空間的資料無法再從主機2參照。被寫入至具有清除屬性之命名空間的資料僅在電力被供給至SSD3之期間,即是主機2之電源狀態僅在主機軟體能夠實行之運轉狀態(電源接通狀態)之期間,被保持。 命名空間管理指令處理部21係支援能夠指定清除屬性之新的命名空間作成指令。該新的命名空間作成指令包含指定應作成的命名空間之屬性為為清除屬性或非清除屬性中之任一者。該參數係藉由主機2而被設定為表示清除屬性之值,或表示非清除屬性之值中之任一者。 在從主機2接收到指定清除屬性之命名空間作成指令,即是包含被設定為表示清除屬性之值的參數之命名空間作成指令之情況,命名空間管理指令處理部21係作成具有清除屬性之命名空間,將作成的命名空間之命名空間識別元發送至主機2。而且,命名空間管理指令處理部21係藉由使用命名空間管理表32,將該作成的命名空間之命名空間識別元與表示清除屬性之屬性資訊建立關聯並予以管理。 主機2可以將具有清除屬性的命名空間作為不需要跨越SSD3之電源循環而予以保持的資料之寫入目的地命名空間,例如作為交換區域而予以使用。 在從主機2接收到不指定清除屬性之命名空間作成指令,即是包含被設定為表示非清除屬性之值的參數之命名空間作成指令之情況,命名空間管理指令處理部21作成具有非清除屬性的命名空間。具有非清除屬性的命名空間係需要跨越SSD3之電源循環而保持與該命名空間之邏輯位址範圍建立關聯之資料的命名空間。而且,命名空間管理指令處理部21係藉由使用命名空間管理表32,將該作成的命名空間之命名空間識別元與表示非清除屬性之屬性資訊建立關聯並予以管理。 主機2可以將具有非清除屬性的命名空間作為需要跨越SSD3之電源循環而予以保持的資料之寫入目的地命名空間而予以使用。 I/O指令處理部22係實行從主機2接收到的各種I/O指令之處理。在I/O指令包含寫入指令、讀取指令等。 在控制器4從主機2接收到指定某命名空間識別元之寫入指令之情況,I/O指令處理部22係實行將與接收到的寫入指令建立關聯的資料寫入至NAND型快閃記憶體5的處理。在此情況,I/O指令處理部22係分配藉由命名空間識別元被識別的特定命名空間用之寫入目的地區塊,且該命名空間識別元係藉由接收到的寫入指令而被指定。接著,I/O指令處理部22係將與接收到的寫入指令建立關聯性的資料寫入至該寫入目的地區塊。另外,在該特定命名空間用之寫入目的地區塊已被分配之情況,不需要進行重新分配寫入目的地區塊的處理。而且,I/O指令處理部22係以與該資料對應的邏輯位址,被映射表示被寫入該資料的NAND型快閃記憶體5內之物理記憶位置的物理位址之方式,更新與該特定命名空間建立關聯的L2P表。與該特定命名空間建立關聯的L2P表係為了管理該特定命名空間之邏輯位址範圍所含的邏輯位址之各者和NAND型快閃記憶體5內之物理位址之各者之間的映射而被使用。 控制器4係在從主機2接收到指定某命名空間識別元的讀取指令之情況,I/O指令處理部22係參照與藉由該命名空間識別元而被指定的命名空間建立關聯的L2P表,而取得被映射至藉由接收到的讀取指令而被指定的讀取對象資料之LBA的物理位址。I/O指令處理部22係從NAND型快閃記體5讀出被儲存於藉由取得到的物理位址而被表示的NAND型快閃記憶體5內之物理記憶位置的資料。而且,I/O指令處理部22係將讀出後的資料作為讀取對象資料而返回至主機2。 清除處理部23係對具有清除屬性之命名空間實行清除處理。清除處理係在控制器4檢測從主機2接收到電源切斷預告通知或不正常電源切斷後,至電力再次被供給至SSD3而控制器4成為能夠處理指令之準備狀態的期間被實行。 清除處理係使包含在具有清除屬性之命名空間的邏輯位址範圍所含的邏輯位址之各者成為物理位址未被映射的未分配狀態的處理。藉由該清除處理,與包含在具有清除屬性之命名空間的邏輯位址範圍建立關聯的資料全部成為無效資料。因此,藉由清除處理,具有清除屬性之命名空間成為與資料還未被寫入之剛作成後的命名空間相同的狀態。依此,與具有清除屬性之命名空間建立關聯的全部區塊成為不包含有效資料的自由區塊。 因此,例如,藉由將具有清除屬性的命名空間作為不需要跨越SSD3之電源循環而予以保持的資料之儲存目的地,例如交換區域使用,可以防止由於不需要跨越SSD3之電源循環而予以保持的資料而使得NAND型快閃記憶體5內之物理記憶區域被浪費的情形。 清除處理部23係例如在電力再次被供給至SSD3後,至控制器4成為準備狀態之期間,能實行清除處理。 或是,清除處理部23即使因應控制器4從主機2接收到電源切斷預告通知,或因應控制器4檢測到不正常電源切斷,而實行清除處理亦可。因控制器4從主機2接收到電源切斷預告通知,或控制器4因應檢測到不正常電源切斷,清除處理部23實行清除處理之狀況中,清除處理部23係在清除理完成時,以將表示清除處理完成的資訊作為清除處理之狀態資訊,寫入至NAND型快閃記憶體5為佳。依此,電力再次被供給至SSD3之後,清除處理部23可以判定對具有清除屬性之命名空間的清除處理是否正常地完成。 電力再次被供給至SSD3後,至控制器4成為準備狀態之期間,實行清除處理的狀況中,清除處理部23係在控制器4從主機2接收到電源切斷預告通知之時,或控制器4檢測出不正常電源切斷之時,不需要實行清除處理。依此,例如,可以縮短SSD3接收電源切斷預告通知後,至遷移到SSD3能安全地關機之狀態所需的時間。並且,因不需要實行將表示清除處理是否完成的狀態資訊寫入至NAND型快閃記憶體5之處理,故比起因應接收電源切斷預告通知或檢測到不正常電源切斷而實行清除處理之狀況,可以減少控制器4需要實行的處理量。 清除處理部23係為了使具有清除屬性的命名空間(例如,命名空間NS#1)所含的各邏輯位址成為未分配狀態,能將與具有清除屬性之命名空間NS#1對應的L2P表31-1設定為初期狀態。L2P表31-1為初期狀態係用以表示未分配狀態之特定值(例如,初期值)作為位址轉換資料而被儲存於L2P表31-1之狀態。 或是,清除處理部23即使廢棄與具有清除屬性之命名空間NS#1對應的L2P表31-1,以取代將與具有清除屬性之命名空間NS#1對應的L2P表31-1設定為初期狀態,依此使命名空間NS#1所含的邏輯位址之各者成為未分配狀態亦可。在此情況,即使清除處理部23重新生成初期狀態之L2P表,將該生成的表當作命名空間NS#1用之新的L2P表31-1而分配於命名空間NS#1亦可。 在L2P表31-1作為包含與複數階層等級對應的複數表的階層L2P表而被實現之情況,清除處理部23可以藉由僅將階層L2P表內之複數階層等級之中的最上位階層等級之表設定為初期狀態或廢棄,使命名空間NS#1所含的邏輯位址之各者容易成為未分配狀態。 作為電腦般之系統的電力控制用的標準規格,已知有Advanced Configuration and Power Interface(ACPI)規格。在ACPI規格中,系統之電源狀態,係以系統狀態(S0狀態~S5狀態)而被規定,裝置之電源狀態係以裝置功率狀態(D0狀態~D3狀態)而被規定。在以下之說明中,雖然不被限定於此,作為主機2及SSD3可以採用的電源狀態,例示以ACPI規格被規定的電源狀態。 主機2之電源狀態,即是系統電源狀態從運轉狀態(S0狀態)移行至暫停狀態(S3狀態或S4狀態)之時,主機2係將用以使SSD3之現在的電源狀態(即是,SSD3之現在的裝置功率狀態)從接通狀態(D0狀態)變更至與主機2之暫停狀態(S3狀態或S4狀態)對應的低電力狀態(例如,D1狀態、D2狀態或D3狀態)的指示(以下,稱為暫停指示)發送至SSD3。 在此,運轉狀態(S0狀態)係處理器101實行命令,記憶體102之讀取及寫入能藉由處理器101而被實行的狀態。作為暫停狀態,使用睡眠狀態(S3狀態)或休眠狀態(S4狀態)。在睡眠狀態(S3狀態)中,除了記憶體102外,主機2內之幾乎全部的構成要素成為電源斷開狀態。另一方面,在休眠狀態(S4狀態)中,記憶體102之內容作為休眠檔案被保存在SSD3內之非清除屬性之命名空間之狀態,包含記憶體102之主機2內之幾乎全部的構件成為電源斷開狀態。 因應從主機2接收到該暫停指示,控制器4係使SSD3之現在的電源狀態從接通狀態(D0狀態)遷移至低電力狀態(D1狀態、D2狀態或D3狀態)。 接通狀態(D0狀態)係電力被供給至SSD3,SSD3能實行指令處理的狀態。低電力狀態(D1狀態、D2狀態或D3狀態)係比起接通狀態(D0狀態)消耗電力較少的電源狀態。在低電力狀態中,基本上指令處理不被實行。在D3狀態中,被供給至SSD3的電力被中斷。在D1狀態及D2狀態中,為了減少SSD3之消耗電力,例如在維持電力被供給至SSD3之狀態的原樣,對SSD3之構件之至少一部分,例如DRAM6供給電力被中斷。 例如,主機2之電源狀態從運轉狀態(S0狀態)遷移至睡眠狀態(S3狀態)之時,即使主機2將用以使SSD3之現在的電源狀態從例如D0狀態變更為D1狀態或D2狀態的暫停指示發送至SSD3亦可。在此情況,SSD3之現在的電源狀態係從D0狀態遷移至D1狀態或D2狀態。 再者,例如,主機2之電源狀態從運轉狀態(S0狀態)遷移至休眠狀態(S4狀態)之時,即使主機2將用以使SSD3之現在的電源狀態從例如D0狀態變更為D3狀態的暫停指示發送至SSD3亦可。在此情況,SSD3之現在的電源狀態係從D0狀態遷移至D3狀態。 再者,主機2之電源狀態從暫停狀態回復至運轉狀態而操作系統101再次開始處理之時,主機2係將用以使SSD3之現在的電源狀態,從低電力狀態(例如,D1狀態、D2狀態或D3狀態)回復至動作狀態(D0狀態)的指示(以下,稱為恢復指示)發送至SSD3。 SSD3為D3狀態之期間,停止對SSD3供給電源電壓Vcc。因此,在使SSD3之現在的電源狀態從D3狀態回復至D0狀態之時,主機2也開始對SSD3供給電源電壓Vcc,依此電力(電源電壓Vcc)再次被供給至SSD3。 因應從主機2接收到該恢復指示,控制器4係使SSD3之現在的電源狀態從低電力狀態(D1狀態、D2狀態或D3狀態)遷移至接通狀態(D0狀態)。 主機2之電源狀態從暫停狀態回復至運轉狀態之時,有操作系統1011使在遷移至暫停狀態之前換出至SSD3之資料返回至記憶體102的情況。 因此,從主機2接收到暫停指示之情況,或是從主機2接收到恢復指示之情況,清除處理部23不進行清除處理。依此,SSD3可以持續保持被寫入至具有清除屬性的命名空間的資料。依此,主機2係可以從SSD3正常地讀出在遷移至暫停狀態之前換出至SSD3的資料。 復原處理部24係實行將L2P表從NAND型快閃記憶體5載入至DRAM6的處理,和關機準備處理,和用以復原L2P表的復原處理,和作為該復原處理用的準備處理的復原準備處理。 電力從主機2被供給至SSD3之後,復原處理部24係將被儲存於NAND型快閃記憶體5的L2P表31-1~31-n之各者所含的位址轉換資料載入DRAM6。在此情況,復原處理部24不一定要將各L2P表所含的位址轉換資料全體載入至DRAM6,即使僅將各L2P表所含的位址轉換資料之一部分載入至DRAM6亦可。在實行對某命名空間寫入資料之情況,I/O指令處理部22係以與該資料對應的邏輯位址,映射寫入該資料的物理位址之方式,更新被儲存於DRAM6之與該命名空間對應的位址轉換資料。如此一來,L2P表31-1~31-n之各者的位址轉換資料在DRAM6上被更新。 針對與具有非清除屬性的命名空間之各者對應的L2P表,復原處理部24係因應控制器4從主機2接收到電源切斷預告通知,進行關機準備處理。在該關機準備處理中,復原處理部24係將還未反映於被儲存於NAND型快閃記憶體5之L2P表的DRAM6內的已更新的位址轉換資料寫入至NAND型快閃記憶體5。依此,對SSD3供給電力被切斷之前,可以使還未反映於被儲存於NAND快閃記憶體5之L2P表的DRAM6內的已更新的位址轉換資料,反映於被儲存於NAND型快閃記憶體5之L2P表。另外,電源電路7具有PLP功能之情況,即使藉由控制器4檢測出發生不正常電源切斷之情況,復原處理部24亦可以對與具有非清除屬性之命名空間之各者對應的L2P表,進行關機準備處理。 針對與具有清除屬性之命名空間之各者對應的L2P表,復原處理部24省略關機準備處理之實行。即是,在控制器4從主機2接收到電源切斷預告之情況,復原處理部24不將還未反映於被儲存於NAND型快閃記憶體5之L2P表的DRAM6內的已更新的位址轉換資料寫入至NAND型快閃記憶體5。電源電路7具有PLP功能之情況,即使藉由控制器4檢測出發生不正常電源切斷之情況,復原處理部24亦省略對與具有清除屬性之命名空間對應的L2P表實行關機準備處理。 如此一來,藉由省略對與具有清除屬性之各命名空間對應的L2P表實行關機準備處理,比起對與全部的命名空間對應的全部L2P表實行關機準備處理的構成,可以減少對NAND型記憶體5的寫入量。 在發生不正常電源切斷之情況,無法正常地對與具有非清除屬性之各命名空間對應的L2P表實行關機準備處理,有損失與具有非清除屬性之各命名空間對應的最新的L2P表之內容的情況。在此情況,於不正常電源切斷之後,電力再次被供給至SSD3之後,復原處理部24係實行用以復原與具有非清除屬性之命名空間之各者對應的L2P表的復原處理。復原處理部24係不實行用以復原與具有清除屬性之命名空間之各者對應的L2P表之復原處理。針對復原處理之詳細,參照圖9A~圖9B於後述。 再者,在SSD3為接通狀態(D0狀態)之期間,復原處理部24係僅實行與具有非清除屬性之命名空間之各者對應的L2P表用的復原準備處理,不實行與具有清除屬性之命名空間之各者對應的L2P表用的復原準備處理。 在與具有非清除屬性之命名空間對應的L2P表用的復原準備處理中,復原處理部24係實行以下的處理。 復原處理部24係實行(1)在每個確認點,將還未反映於被儲存於NAND型快閃記憶體5之L2P表的DRAM6內的已更新的位址轉換資料寫入至NAND型快閃記憶體5之動作,和(2)在每個確認點,將對現在分配為該命名空間用之寫入目的地區塊的區塊賦予的序列號碼,作為用以特定應使用於該命名空間用之L2P表之復原處理的區塊群之資訊而寫入至NAND型快閃記憶體5之動作。針對復原準備之處理詳細,參照圖9A~圖9B於後述。 針對與具有清除屬性之命名空間對應的L2P表,復原處理部24係不實行復原準備處理。 即是,針對與具有清除屬性之命名空間對應的L2P表,復原處理部24係不實行包含以下動作的復原準備處理:(3)在每個確認點,將還未反映於被儲存於NAND型快閃記憶體5之L2P表的DRAM6內的已更新的位址轉換資料寫入至NAND型快閃記憶體5之動作,和(4)在每個確認點,將對現在分配為該命名空間用之寫入目的地區塊的區塊賦予的序列號碼,作為用以特定應使用於該命名空間用之L2P表之復原處理的區塊群之資訊而寫入至NAND型快閃記憶體5之動作。 如此一來,藉由省略對與具有清除屬性之命名空間對應的L2P表實行的復原準備處理,比起對與全部的命名空間對應的全部L2P表實行復原準備處理的構成,可以減少控制器4之負荷。 接著,針對位址轉換表之構成例予以說明。圖3為表示在實施型態所涉及之SSD3中被管理的位址轉換表之構成例的圖。 L2P表31-1~31-n之各者係能作為不具有階層構造之單一等級的L2P表,或具有階層構造之階層L2P表而被實現。在圖3中,假設與命名空間NS#1對應的L2P表31-1作為階層L2P表而被實現之情況。 作為階層L2P表而被實現的L2P表31-1包含分別與複數階層等級對應的複數表。若階層等級之數量為2以上之任意的數量即可,但是在此例示階層等級之數量為3之情況。 L2P表31-1包含下位表T1-1、上位表T1-2、最上位表T1-3。 下位表T1-1係用以管理從主機2接收到的資料被寫入的NAND型記憶體5內之物理位址之各者的表。命名空間NS#1之邏輯位址範圍進一步被分割為複數範圍。複數範圍之各者包含連續的特定個數的邏輯位址(LBA)。例如,下位表T1-1包含與該些複數範圍之個數相同數量的複數位址轉換資料。在命名空間NS#1之邏輯位址範圍被分割為各者包含32個之LBA的128個之範圍之狀況,下位表T1-1包含被稱為區段的128個之位址轉換資料,即是區段#0、#1、…、#96、…、#127。 下位表T1-1之一個區段係包含分別與連續的32個LBA對應的32個物理位址以作為映射資訊。屬於下位表T1-1的各區段也被稱為下位區段。藉由一個下位區段而被覆蓋的邏輯位址範圍相當於32個LBA。 上位表T1-2係用以管理各下位區段被寫入的NAND型快閃記憶體5內之物理位址的表。上位表T1-2也包含被稱為區段的複數位址轉換資料,例如區段#0、#1、…、#3。 上位表T1-2之一個區段係表示例如連續的32個下位區段之各者被儲存的NAND型快閃記憶體5內之32個的位置(物理記憶位置)。因表示上位表T1-2之各區段為32個之下位區段之位置,故上位表T1-2所含的區段之總數為下位區段之總數的1/32。藉由上位表T1-2之一個區段而被覆蓋的邏輯位址之範圍相當於32×32個LBA。上位表T1-2之各區段也被稱為上位區段。 最上位表T1-3包含被稱為區段的一個位址轉換資料。最上位表T1-3之區段表示全部上位區段#0、#1、…、#3之各者被儲存的NAND型快閃記憶體5內之位置(物理記憶位置)。即是,最上位表T1-3之區段包含與上位區段#0、#1、…、#3之各者對應的4個指標(指標0、1、2、3)。4個指標之各者表示對應的上位區段之位置。藉由最上位表T1-3之區段而被覆蓋的邏輯位址之範圍相當於4×32×32個LBA。最上位表T1-3之區段被稱為最上位區段或路由表。 如此一來,藉由一個最上位區段而被覆蓋的邏輯位址範圍較藉由一個上位表區段而被覆蓋的邏輯位址範圍廣。再者,藉由一個上位表區段而被覆蓋的邏輯位址範圍較藉由一個下位表區段而被覆蓋的邏輯位址範圍廣。 因此,控制器4藉由例如對上位區段#0內的32個條目之各者僅設定表示未分配狀態的特定值,可以將與上位區段#0對應的32×32個LBA設為未分配狀態。再者,即使控制器4係將例如最上位區段內之指標0的值設定為表示未分配狀態的特定值,以取代對上位區段#0內之32個條目之各者設定特定值亦可。即使在此情況,亦可以使與上位區段#0對應的32×32個LBA成為未分配狀態。 在對命名空間NS#1的清除處理中,控制器4係將例如最上位區段內之4個指標設定為表示未分配狀態的特定值。依此,可以使命名空間NS#1所含的全部LBA容易成為未分配狀態。或是,控制器4即使廢棄最上位區段本身亦可。即使在此情況,亦可以使命名空間NS#1所含的全部LBA成為未分配狀態。在廢棄最上位區段之情況,即使控制器4係作成新的最上位區段,將作成的新的最上位區段再分配為命名空間NS#1的L2P表之最上位表亦可。 圖4為用以說明在實施型態所涉及之SSD3中被管理的複數命名空間的圖。 在圖4中,例示命名空間NS#1、命名空間NS#2、…、命名空間NS#n藉由SSD3之控制器4而被管理之情況。各命名空間係藉由命名識別元(NSID)而被識別。 各命名空間包含連續的複數邏輯位址(LBA)之集合。與各命名空間對應的邏輯位址範圍從LBA0開始。各命名空間能夠設定為任意尺寸。各命名空間之尺寸與各命名空間所含的LBA之個數對應。 在圖4中,例如命名空間NS#1包含從LBA0連續至LBAi的i+1個LBA,命名空間NS#2包含從LBA0連續至LBAj的j+1個LBA,命名空間NS#n包含從LBA0連續至LBAk的k+1個LBA之情況。 為了管理與該些命名空間關聯的資訊,使用命名空間管理表32。 圖5為用以說明在實施型態所涉及之SSD3中被管理的命名空間管理表32的圖。在命名空間管理表32中,針對作成的命名空間之各者,命名空間識別元,和清除識別元和命名空間之尺寸作為命名空間資訊而被管理。 各命名空間之命名空間識別元(NSID)係為了對各命名空間存取,而藉由控制器4而被使用的識別元。清除識別元係表示對應的命名空間是否具有清除屬性的識別元。清除識別元係作為表示清除屬性或非清除屬性之一方的屬性資訊而被使用。例如,被設定為「1」的清除識別元表示對應的命名空間具有清除屬性。另外,被設定為「0」的清除識別元表示對應的命名空間具有非清除屬性。 在圖5中,例示被賦予命名空間識別元NSID1的命名空間NS#1,和被賦予命名空間識別NSIDn的命名空間NS#n具有清除屬性,被賦予命名空間識別元NSID2的命名空間NS#2不具有清除屬性(具有非清除屬性)之情況。 命名空間之尺寸係藉由對應的命名空間具有的邏輯位址範圍所含的邏輯位址(LBA)之數量而被表示。 接著,針對實施型態所涉及之SSD3中的區塊管理予以說明。 I/O指令處理部22係控制器4從主機2接收寫入指令時,根據寫入指令所含的命名空間識別元,決定寫入目的地之命名空間。現在分配成各命名空間用的寫入目的地區塊係藉由區塊管理表33而被管理。如圖6所示般,在區塊管理表33中,管理分別與命名空間NS#1、NS#2、…、NS#n對應的現用區塊清單331-1、331-2、…、331-n。 在現用區塊清單331-1、331-2、…、331-n之各者中,對應的命名空間之有效資料被儲存的現用區塊之各者的區塊識別元被管理。在現用區塊清單331-1、331-2、…、331-n之各者中,現在分配給對應的命名空間用的寫入目的地區塊之區塊識別元也作為現用區塊之區塊識別元之一而被管理。 有效資料係指與某邏輯位址建立關聯的資料之意。例如,從某L2P表被參照的被記憶於物理位址的資料(即是,與邏輯位址建立關聯的資料作為最新的資料)為有效資料。有效資料係有可能之後從主機2被讀取的資料。至少一個有效資料被寫入的區塊係做為現用區塊而被管理。 無效資料係指不與任何某邏輯位址建立關聯的資料之意。例如,也不從任何的L2P表被參照的被記憶於物理位址的資料為無效資料。無效資料係已經不可能從主機2被讀取的資料。當與某邏輯位址建立關聯的更新資料被寫入至NAND型快閃記憶體5時,至此與其邏輯位址建立關聯的資料成為無效資料,更新資料成為有效資料。再者,即使在對某命名空間實行清除處理之情況,至此與其命名空間之邏輯位址建立關聯的全部有效資料成為無效資料。 不含有效資料的各區塊之區塊識別元係作為自由區塊之區塊識別元而藉由自由區塊清單332而被管理。 以下,針對當對命名空間NS#2寫入時,被分配給命名空間NS#2的各區塊之管理予以說明。即使針對其他命名空間也進行相同的處理。 現用區塊清單331-2係管理與命名空間NS#2建立關聯的現用區塊之各者的區塊識別元的清單。例如,在控制器4從主機2接收到的寫入指令包含命名空間NS#2之命名空間識別元(NSID2)之情況,I/O指令處理部22係對被分配給命名空間NS#2的寫入目的地區塊內之下一個能寫入的頁,寫入與該寫入指令建立關聯的寫入資料。而且,I/O指令處理部22係以與寫入資料對應的邏輯位址與寫入資料被寫入的NAND型快閃記憶體5內之物理位址建立關聯之方式,更新與命名空間NS#2建立關聯的L2P表31-2。 I/O指令處理部22係在將下一個資料寫入至寫入目的地之時不存在能夠寫入至其寫入目的地之頁的情況,從自由區塊清單332選擇任意的自由區塊,將選擇到的自由區塊作重新分配為命名空間NS#2用之寫入目的地區塊。 當新的區塊被分配為命名空間NS#2用之寫入目的地區塊時,控制器4係對其新的區塊賦予序列號碼。序列號碼係表示區塊被分配為命名空間NS#2用之寫入目的地區塊的號碼。 圖7為表示在實施型態所涉及之SSD3中被管理的區塊使用順序管理表34的圖。 區塊使用順序管理表34係對每命名空間,管理被分配為其命名空間用之寫入目的地區塊的區塊之各者的區塊識別元,和被賦予於該些區塊之各者的序列號碼之間的對應關係。 在此,注目於與命名空間NS#2建立關聯的區塊使用順序管理表341-2予以說明。首先,作成命名空間NS#2,當最初接收與命名空間NS#2建立關聯的寫入指令時,控制器4從自由區塊清單332選擇任意的自由區塊(例如,區塊BLK1),將區塊BLK1分配為命名空間NS#2用之寫入目的地區塊。此時,控制器4係對區塊BLK1賦予序列號碼1。 進行對區塊BLK1寫入資料,在已不存在能夠寫入至區塊BLK1之頁之後,控制器4係從自由區塊清單332選擇例如區塊BLK3,將區塊BLK3分配為命名空間NS#2用之寫入目的地區塊。而且,控制器4係對區塊BLK3賦予序列號碼2。 藉由重複該動作,控制器4係對被分配為命名空間NS#2用之下一個寫入目的地區塊的區塊BLK0,並且被分配為下一個寫入目的地區塊的區塊BLK2賦予序列號碼3、4。 依此,在區塊使用順序管理表341-2中,作為被賦予序列號碼1、2、3、4的區塊之各者的區塊識別元,管理BLK1、BLK3、BLK0、BLK2。 圖8為用以針對被寫入實施型態所涉及之SSD3所含之NAND型快閃記憶體5之資料予以說明的圖。 在此,針對被寫入至區塊BLK1之資料之一例予以說明。在圖8中,區塊BLK1內之各行表示頁,從上依序為頁0、頁1、…、頁y-1。 在各頁,同時儲存例如各具有4KiB之尺寸的4個資料,和分別與該4個資料對應的4個邏輯位址(LBA)。例如,被寫入至頁0的4個資料分別與LBA16、LBA17、LBA18、LBA20對應。控制器4係從區塊BLK1內之各頁可以讀出4個資料和與該些4個資料對應的4個LBA,依此,可以知道與該些4個資料分別被寫入的4個物理位址對應的4個LBA。另外,控制器4即使將與被寫入至區塊BLK1之資料之各者對應的LBA之清單,寫入至區塊BLK1內之最後的頁Py-1,以取代在各頁儲存資料和LBA之一對亦可。 如此一來,藉由在各區塊寫入資料和LBA的構成,即使在例如由於不正常電源切斷,還未反映於NAND型快閃記憶體5內之L2P表的DRAM6內的已更新的位址轉換資料遺失之情況,藉由解析最後進行了寫入的幾個區塊之內容,可以復原NAND型快閃記憶體5內之L2P之表。 接著,針對藉由復原處理部24被實行的復原準備處理之例予以說明。在此,針對對具有非清除屬性的命名空間NS#2的復原準備處理予以說明。 首先,針對將L2P表31-2的已更新的位址轉換資料寫入至NAND型快閃記憶體5的動作予以說明。 圖9A為用以針對在實施型態所涉及之SSD3中被實行的L2P表31-2之復原準備處理予以說明的第1個圖,圖9B為用以針對在實施型態所涉及之SSD3中被實行的L2P表31-2之復原元準備處理予以說明的第2個圖。 復原處理部24係週期性地進行將L2P表31-2的已更新的位址轉換資料從DRAM6寫入至NAND型快閃記憶體5的動作。進行該動作的時序被稱為確認點。確認點之週期即使為每一定時間亦可,即使係藉由特定的演算法而被決定亦可。 在最初的確認點cp1,復原處理部24係將還未反映於NAND型快閃記憶體5上之L2P表31-2的DRAM6內的已更新的位址轉換資料寫入至NAND型快閃記憶體5,依此,將已更新的位址轉換資料之內容反映於NAND型快閃記憶體5上之L2P表31-2。 在圖9A中,假設分別與LBA10、LBA35、LBA290對應的位址轉換資料還未反映於NAND型快閃記憶體5上之L2P表31-2的情況。在此情況,復原處理部24係以分別與LBA10、LBA35、LBA290對應的位址轉換資料被反映於NAND型快閃記憶體5內之L2P表31-2之方式,將分別與該些LBA10、LBA35、LBA290對應的位址轉換資料作為已更新的位址轉換資料,寫入至NAND型快閃記憶體5。 此時,復原處理部24係將被賦予至現在分配為命名空間NS#2用之寫入目的地區塊的區塊的序列號碼,作為確認點資訊,而寫入至NAND型快閃記憶體5。如圖9B所示般,在確認點cp1之時點,區塊BLK0被分配為命名空間NS#2用之寫入目的地區塊。因此,復原處理部24係將被賦予至區塊BLK0的序列號碼3作為確認點資訊而寫入至NAND型快閃記憶體5。 在下一個的確認點cp2,復原處理部24係將還未反映於NAND型快閃記憶體5上之L2P表31-2的DRAM6內的已更新的位址轉換資料再寫入至NAND型快閃記憶體5,依此,將已更新的位址轉換資料之內容反映於NAND型快閃記憶體5上之L2P表31-2。 在圖9A中,假設分別與LBA26、LBA34、LBA553對應的位址轉換資料還未反映於NAND型快閃記憶體5上之L2P表31-2的情況。在此情況,復原處理部24係以分別與LBA26、LBA34、LBA553對應的位址轉換資料被反映於NAND型快閃記憶體5內之L2P表31-2之方式,將分別與該些LBA26、LBA34、LBA553對應的位址轉換資料作為已更新的位址轉換資料,寫入至NAND型快閃記憶體5。 此時,復原處理部24係將被賦予至現在分配為命名空間NS#2用之寫入目的地區塊的區塊的序列號碼,作為確認點資訊,而寫入至NAND型快閃記憶體5。如圖9B所示般,在確認點cp2之時點,區塊BLK20被分配為命名空間NS#2用之寫入目的地區塊。因此,復原處理部24係將被賦予至區塊BLK20的序列號碼8作為確認點資訊而寫入至NAND型快閃記憶體5。 如圖9A所示般,在下一個確認點cp3,復原處理部24係將分別與LBA7、LBA88、LBA357對應的位址轉換資料,作為已更新的位址轉換資料,而寫入至NAND型快閃記憶體5。 再者,復原處理部24係將被賦予至現在分配為命名空間NS#2用之寫入目的地區塊的區塊的序列號碼,作為確認點資訊,而寫入至NAND型快閃記憶體5。如圖9B所示般,在確認點cp3之時點,區塊BLK31被分配為命名空間NS#2用之寫入目的地區塊。因此,復原處理部24係將被賦予至區塊BLK31的序列號碼23作為確認點資訊而寫入至NAND型快閃記憶體5。 於不正常電源切斷之後,在電力從主機2再次被供給SSD3之情況,復原處理部24係根據在最後的確認點取得的確認點資訊(序列號碼),特定應使用於L2P表31-2之復原處理之區塊群。 例如,假設在確認點cp1之後立即發生不正常電源切斷之情況。在此情況,在L2P表31-2之復原處理中,復原處理部24係從區塊使用順序管理表341-2取得被賦予至現在分配為命名空間NS#2用之寫入目的地的區塊的區塊,即是在發生不正常電源切斷時被分配為寫入目的地區塊的區塊的序列號碼。而且,將分別被賦予屬於從在確認點cp1取得的序列號碼3,至被賦予至發生不正常電源切斷之時被分配為寫入目的地區塊的區塊的序列號碼為止的範圍的序列號碼的區塊群,特定為應使用於L2P表31-2之復原處理的區塊群。 例如,在區塊BLK2被分配為寫入目的地區塊之狀態,發生不正常電源切斷之情況,因在發生不正常電源切斷之時被分配為寫入目的地區塊的區塊BLK2的序列號碼為4,故被賦予在確認點cp1取得的序列號碼3的區塊BLK0,和被賦予序列號碼4的區塊BLK2被特定為應使用於L2P表31-2的復原處理的區塊群。 接著,復原處理部24係使用該些被儲存於區塊BLK0及區塊BLK2之各者的LBA群,特定區塊BLK0及區塊BLK2內之物理位址之各者,和與被儲存於該些物理位址之各者的資料對應的LBA之間的對應關係。而且,復原處理部24係使用各物理位址和各LBA之間的特定的對應關係,而使NAND型快閃記憶體5內之L2P表31-2復原成最新內容。 圖10為用以說明在實施型態所涉及之SSD3中被實行的作成具有清除屬性的命名空間的動作,和省略與具有清除屬性之命名空間建立關聯的L2P表用的復原準備處理的動作之圖。 例如,欲作成作為交換區域被使用的命名空間之情況,主機2將指定清除屬性之命名空間作成指令發送至SSD3。當控制器4從主機2接收該命名空間作成指令時,命名空間管理指令處理部21係作成具有清除屬性之命名空間。命名空間管理指令處理部21係藉由使用命名空間管理表32,將該作成的命名空間之命名空間識別元與表示清除屬性之屬性資訊建立關聯並予以管理。而且,控制器4係作成與被作成的命名空間對應的L2P表。再者,對藉由命名空間管理指令處理部21而被作成的每命名空間,控制器4使用區塊管理表33而進行現用區塊清單之管理,同時使用區塊使用順序管理表34而進行區塊使用順序之管理。 命名空間管理指令處理部21係當控制器4從主機2接收要求刪除命名空間之命名空間刪除指令時,刪除具有藉由命名空間刪除指令而被指定的命名空間識別元的命名空間。 復原處理部24係跳過與具有清除屬性之命名空間建立關聯的L2P表之復原準備處理。復原準備處理包含在每個確認點,將還未反映於被儲存於NAND型快閃記憶體5之L2P表的DRAM6內的已更新的位址轉換資料寫入至NAND型快閃記憶體5之動作,和在每個確認點,將對現在分配為該命名空間用之寫入目的地區塊的區塊賦予的序列號碼,作為用以特定應使用於該L2P表之復原處理的區塊群之資訊而寫入至NAND型快閃記憶體5之動作。 圖11為用以說明在實施型態所涉及之SSD3中被實行的清除處理的圖。 清除處理部23係在控制器4檢測從主機2接收到電源切斷預告通知或不正常電源切斷後,至電力再次被供給至SSD3而控制器4成為能夠處理來自主機2之指令之準備狀態的期間,實行清除處理。 例如,即使清除處理部23係因應電力再次被供給至SSD3,以具有清除屬性之命名空間所含的邏輯位址之各者成為未分配狀態之方式,實行清除處理亦可。在清除處理中,例如,清除處理部23係藉由將具有清除屬性之命名空間建立關聯的L2P表設定為初期狀態或廢棄,使具有清除屬性之命名空間所含的邏輯位址成為未分配狀態。 圖12為用以針對在實施型態所涉及之SSD3中被實行的清除處理,將與持有清除屬性之命名空間建立關聯的邏輯物理位址轉換表設定為初期狀態或廢棄之動作予以說明的圖。 在此,假設將與命名空間NS#1建立關聯的L2P表31-1,與命名空間NS#2建立關聯的L2P表31-2、…、與命名空間NS#n建立關聯的L2P表31-n之各者作為階層L2P表而被實現的情況。 L2P表31-1包含下位表T1-1、上位表T1-2及最上位表T1-3。L2P表31-2包含下位表T2-1、上位表T2-2及最上位表T2-3。L2P表31-n包含下位表Tn-1、上位表Tn-2及最上位表Tn-3。 另外,在圖12中,雖然表示下位區段之數量及上位區段之數量在全部的L2P表間為相同的樣子,但是實際上,某L2P表所含的下位區段之數量和上位區段之數量係因應與其L2P表對應的命名空間之尺寸而決定。 清除處理部23係從命名空間NS#1~NS#n之中,選擇具有清除屬性之命名空間NS#1及NS#n,實行對命名空間NS#1及NS#n的清除處理。 首先,針對對命名空間NS#1的清除處理予以說明。清除處理部23係使在與命名空間NS#1建立關連的L2P表31-1中被管理的邏輯位址之各者成為未分配狀態。例如,清除處理部23係將L2P表31-1所含的最上位表T1-3設定為初期狀態或廢棄。當最上位表T1-3被設定為初期狀態或被廢棄時,控制器4變成無法參照上位表T1-2,並且也變成無法參照下位表T1-1。 依此,藉由將最上位表T1-3設定初期狀態或廢棄,命名空間NS#1所含的邏輯位址之各者皆成為未分配狀態。 同樣地,清除處理部23係使在L2P表31-n中被管理的邏輯位址之各者成為未分配狀態。例如,清除處理部23係將L2P表31-n所含的最上位表Tn-3設定為初期狀態或廢棄。依此,命名空間NS#n所含的邏輯位址之各者皆成為未分配狀態。 依此,與具有清除屬性之命名空間NS#1建立關聯的現用區塊之全部,和與具有清除屬性之命名空間NS#n建立關聯的現用區塊之全部成為僅記憶無效資料的區塊。因此,清除處理部23係使與具有清除屬性之命名空間NS#1和NS#n建立關聯的現用區塊之區塊識別元全部移動至自由區塊清單332。 圖13係用以針對在實施型態所涉及之SSD3中被實行的清除處理,將與具有清除屬性的命名空間建立關聯的區塊(現用區塊)之各者作為自由區塊並加以管理的動作予以說明的圖。 清除處理部23係當將命名空間NS#1所含的各邏輯位址設定為未分配狀態時,被儲存於藉由現用區塊清單331-1被管理的任何現用區塊的資料也成為無效資料。同樣地,清除處理部23係當將命名空間NS#n所含的各邏輯位址設定為未分配狀態時,被儲存於藉由現用區塊清單331-n被管理的任何現用區塊的資料也成為無效資料。 因此,在藉由現用區塊清單331-1被管理的區塊,不存在被寫入有效資料的區塊。清除處理部23係使藉由現用區塊清單331-1而被管理的全部區塊之區塊識別元移動至自由區塊清單332。 同樣地,在藉由現用區塊清單331-n被管理的區塊,不存在被寫入有效資料的區塊。清除處理部23係使藉由現用區塊清單331-n而被管理的全部區塊之區塊識別元移動至自由區塊清單332。依此,與具有清除屬性之各命名空間建立關連的現用區塊之各者,能夠作為能利用於資料(或L2P表等之管理資訊)之寫入的物理記憶區域而再利用。 圖14為用以針對在主機2被實行的將具有清除屬性之命名空間再格式化之處理予以說明的圖。 在某命名空間之LBA0周邊之幾個LBA,被寫入與該命名空間之格式化有關的資訊,例如表示與該命名空間對應的檔案系統之種類的資訊,表示該命名空間之掛載點的資訊等。當對具有清除屬性之命名空間的清除處理被實行時,無法從該具有清除屬性的命名空間讀取與該些格式化有關的資訊。因此,主機2係為了在資料之寫入及讀出可以再次利用該具有清除屬性之命名空間,實行用以將與格式化有關的資訊再次寫入該具有清除屬性之命名空間的再格式化處理。 即使電力再次供給至SSD3而控制器4成為準備狀態之後,主機2首先從SSD3取得與藉由SSD3被管理之各個命名空間有關的資訊,而從藉由SSD3被管理的命名空間之中,特定具有清除屬性的命名空間。 在此情況,主機2將指定特定命名空間之NSID的命名空間資訊取得要求發送至控制器4。作為命名空間資訊取得要求,例如,能使用以MVMe規格被規定的identify指令(Identify Namespace data structure)。 接收到命名空間資訊取得要求的命名空間管理指令處理部21,係將與具有被指定的NSID的命名空間有關的命名空間資訊發送至主機2。在該命名空間資訊,包含與具有被指定之NSID之命名空間有關的各種資訊,例如用以唯一識別該命名空間之全域的命名識別元,和作為該命名空間之屬性資訊的清除識別元,和該命名空間之尺寸等。作為全域的命名空間識別元,即使使用例如Namespace Globally Unique Identifier(NGUID)。依據MVMe規格的儲存裝置能包含複數控制器。NGUID為能唯一識別在依據NVMe規格的儲存裝置中被管理的各個命名空間的識別元。 當主機2確認該命名空間為具有清除屬性之命名空間時,對SSD3指示格式化動作之實行,依此實行對該命名空間的再格式化。藉由實行該命名空間之再格式化,可以將與該命名空間之格式化有關的資訊再次寫入至該命名空間之LBA0周邊的幾個LBA。依此,主機2能夠將具有清除屬性之該命名空間作為例如交換區域而開始再次利用。 在對具有清除屬性之全部的命名空間的再格式化處理完成之後,主機2對SSD3發行I/O指令(寫入指令、讀取指令),與SSD3協調,而進行對各命名空間寫入資料及從各命名空間讀出資料。 圖15為表示在實施型態所涉及之SSD3中被實行的命名空間作成處理之順序的流程圖。 首先,控制器4係從主機2接收命名空間作成指令(步驟S101)。命名空間作成指令為要求命名空間之作成的命名空間管理指令。命名空間作成指令係指定應作成的命名空間之尺寸,和應作成的命名空間具有的屬性(清除屬性或非清除屬性)。 控制器4係判定在步驟S101接收到的命名空間作成指令是否指定具有清除屬性(步驟S102)。 在接收到的命名空間作成指令指定清除屬性之情況(步驟S103,Yes),控制器4作成具有清除屬性之命名空間(步驟S103)。在步驟S103中,控制器4係藉由使用命名空間管理表32,將在步驟S103被作成的命名空間之命名空間識別元與表示清除屬性之屬性資訊建立關聯並予以管理。 在接收到的命名空間作成指令不指定清除屬性(即是,指定非清除屬性)之情況(在步驟S103為No),控制器4作成具有非清除屬性的命名空間(步驟S104)。控制器4係藉由使用命名空間管理表32,將在步驟S104被作成的命名空間之命名空間識別元與表示非清除屬性之屬性資訊建立關聯並予以管理。 控制器4係將與在步驟S103或步驟S104中作成的命名空間有關的命名空間資訊返送至主機2(步驟S105)。在此,控制器4發送至主機2的命名空間資訊至少包含作成的命名空間之命名空間識別元。命名空間資訊即使包含作成的命名空間之命名空間識別元,和作成的命名空間之尺寸,和表示作成的命名空間具有的屬性(清除屬性或非清除屬性)的屬性資訊亦可。 圖16為表示在實施型態所涉及之SSD3中被實行的復原準備處理之順序的流程圖。 控制器4係逐個地依序選擇分別與藉由控制器4被管理的複數命名空間對應的複數L2P表,作為成為復原準備處理之對象的L2P表,對選擇到的每L2P表,實行以下處理。 控制器4首先選擇成為復原準備處理之對象的一個L2P表(步驟S201)。控制器4係判定與在步驟S201選擇到的L2P表建立關聯的命名空間是否具有清除屬性(步驟S202)。 在與選擇到的L2P表建立關聯的命名空間具有清除屬性之情況(在步驟S202為Yes),控制器4結束復原準備處理。因對與具有清除屬性之命名空間建立關聯的L2P表,不需要實行復原處理之故。 在與選擇到的L2P表建立關聯的命名空間不具有清除屬性(具有非清除屬性)之情況(在步驟S202中為No),控制器4係在每確認點對選擇到的L2P表進行復原準備處理。在此,假設選擇到的L2P表為與命名空間NS#2建立關聯的L2P表31-2之情況。 在到達至確認點之時序之情況,控制器4首先將被儲存於DRAM6的選擇到的L2P表31-2之位址轉換資料之中,還未反映於被儲存於NAND型快閃記憶體5的L2P表31-2的已更新的位址轉換資料,寫入至NAND型快閃記憶體5(步驟S203)。 而且,控制器4係將對現在分配為命名空間NS#2用之寫入目的地區塊的區塊被賦予的序列號碼,作為用以特定應使用於L2P表31-2之復原的區塊群的確認點資訊,寫入至NAND型快閃記憶體5(步驟S204)。在步驟S204中,控制器4係進行例如將該序列號碼與用以特定現在的確認點之確認點號碼一起作為確認點資訊而記錄於NAND型快閃記憶體5的處理。 圖17為表示從主機2接收電源切斷預告通知後,至電力再次被供給至SSD3而SSD3之控制器4成為準備狀態之期間,在實施型態所涉及之SSD3中被實行之處理之順序的流程圖。 在此,假設在電力再次被供給至SSD3之後,實行清除處理之情況。 控制器4係從主機2接收電源切斷預告通知或暫停指示(步驟S301)。控制器4係判定在步驟S301接收到的通知/指示為電源預告通知或暫停指示中之哪一個,即是應實行的處理為關機準備處理或暫停準備處理中之哪一個(步驟S302)。 在步驟S301接收到的通知/指示為電源切斷預告通知之情況(在步驟S302中為關機),控制器4實行關機準備處理(步驟S303)。在關機準備處理中,控制器4實行選擇與具有非清除屬性之命名空間建立關聯的L2P表,將已更新的位址轉換資料寫入至NAND型快閃記憶體5的處理。 關機準備處理完成時,控制器4係對主機2通知關機準備處理完成之旨(步驟S304)。主機2係當確認SSD3之關機準備處理完成時,切斷對SSD3供給電力。 對SSD3供給電力被切斷之後,從主機2再次對SSD3供給電力之情況(在步驟S305為電源接通),控制器4開始用以使控制器4之狀態成為能夠處理來自主機2之指令的準備狀態之一連串的初期化序列。在該初期化序列中,控制器4係實行對具有清除屬性之命名空間的清除處理(步驟S306)。在步驟S306中,控制器4係使具有清除屬性之命名空間之邏輯位址範圍所含的各邏輯位址成為未分配狀態,並且使與具有清除屬性之命名空間建立關聯的各區塊之區塊識別元移動至自由區塊清單332。 再者,在該初期化序列中,控制器4也實行從NAND型快閃記憶體5將L2P表31-1、…、31-n之各者的位址轉換資料之至少一部分載入DRAM6的動作。例如,在與具有清除屬性之命名空間NS#1建立關聯的L2P表31-1被廢棄之情況,作成命名空間NS#1用之新的L2P表,該被作成的L2P表之位址轉換資料之至少一部分被載入至DRAM6。 當初期化序列完成時,控制器4成為能夠進行來自主機2之指令處理的準備狀態。控制器4係對主機2通知控制器4成為準備狀態(步驟S310)。 在步驟S301接收到的通知/指示為暫停指示之情況(在步驟S302中為暫停),控制器4實行暫停準備處理(步驟S307)。在暫停準備處理中,控制器4係針對與全部的命名空間對應的L2P表,實行對NAND型快閃記憶體5寫入被儲存於DRAM6的已更新的位址轉換資料的處理。而且,控制器4係將SSD3之現在的電源狀態從接通狀態(D0狀態)遷移至在暫停指示被指定的低電力狀態(D1狀態、D2狀態或D3狀態)的處理。 關機準備處理完成時,控制器4係對主機2通知關機準備處理完成之旨(步驟S308)。在暫停指示被指定的遷移目的地之電源狀態為D3狀態之情況,當主機2確認SSD3之暫停準備處理完成時,切斷對SSD3供給電力。 於SSD3之電源狀態遷移至低電力狀態之後,從主機2接收準備指示時(步驟S309),控制器4係開始用以使SSD3之電源狀態從低電力狀態回復至接通狀態(D0狀態)的處理。SSD3進入至D3狀態之情況,即使從主機2對SSD3供給電力,並且從主機2對SSD3發送準備指示亦可。 當SSD3之電源狀態係從低電力狀態回復至接通狀態(D0狀態),而控制器4成為能夠處理來自主機2之指令的準備狀態時,控制器4係對主機2通知控制器4成為準備狀態之旨(步驟S310)。 圖18為表示從檢測出不正常電源切斷,至電力再次被供給至SSD3而SSD3之控制器4成為準備狀態之期間,在實施型態所涉及之SSD3中被實行之處理之順序的流程圖。 在此,假設在電力再次被供給至SSD3之後,實行清除處理之情況。在電源電路7具有PLP功能之情況,參照圖17而說明的關機準備處理也在發生不正常電源切斷之時被實行。在電源電路7無具有PLP功能之情況,在發生不正常電源發生之時,不實行關機準備處理。在以下中,假設電源電路7無具有PLP功能之情況。 控制器4係於主機2接收電源切斷預告通知之前,從電源電路7接收到電源斷開檢測通知之情況,檢測發生不正常電源切斷(步驟S401)。 在藉由不正常電源切斷而對SSD3供給電力被切斷之後,從主機2再次對SSD3供給電力之情況(在步驟S402為電源接通),控制器4開始初期化序列。在該初期化序列中,控制器4係實行對具有清除屬性之命名空間的清除處理(步驟S403)。在步驟S403中,控制器4係使具有清除屬性之命名空間所含的邏輯位址之各者成為未分配狀態,並且使與具有清除屬性之命名空間建立關聯的現用區塊移動至自由區塊清單332。 在初期化序列中,控制器4進一步實行與具有非清除屬性之各命名空間對應的L2P表之復原處理(步驟S404)。因與具有清除屬性之命名空間建立關聯的L2P表被設定為初期狀態或被廢棄,故控制器4僅對與具有非清除屬性之各命名空間建立關聯的L2P表實行復原處理。 再者,在該初期化序列中,控制器4也實行從NAND型快閃記憶體5將L2P表31-1、…、31-n之各者的位址轉換資料之至少一部分載入DRAM6的動作。例如,在與具有清除屬性之命名空間NS#1建立關聯的L2P表31-1被廢棄之情況,作成命名空間NS#1用之新的L2P表,該被作成的L2P表之位址轉換資料之至少一部分被載入至DRAM6。 當初期化序列完成時,控制器4成為能夠進行來自主機2之指令處理的準備狀態。控制器4係對主機2通知控制器4成為準備狀態之旨(步驟S405)。 圖19為表示在實施型態所涉及之SSD3中被實行的關機準備處理之順序的流程圖。 在從主機2接收到電源切斷預告通知之情況,控制器4開始關機準備處理。在電源電路7具有PLP功能之情況,在發生不正常電源切斷之情況,控制器4也開始關機準備處理。 在關機準備處理中,控制器4判定首先在DRAM6存在是否存在已更新的位址轉換資料,並且在其已更新的位址轉換資料之中,是否還存在未施予步驟S502~步驟S505之處理的未選擇的位址轉換資料(步驟S501)。未選擇之位址轉換資料存在之情況(步驟S501為Yes),控制器4係選擇DRAM6內的已更新的位址轉換資料之中,還未被選擇的位址轉換資料(步驟S502)。在DRAM6內不存在已更新的位址轉換資料之情況,或對已更新的位址轉換資料全部施予步驟S502~步驟S505之處理而不再存在未選擇之位址轉換資料之情況(步驟S501中為No),圖19之處理結束。 在步驟S502中,控制器4係從還未反映於被儲存於NAND型快閃記憶體5之L2P表31-1、…、31-n的DRAM6內的已更新的位址轉換資料之中,選擇還未被選擇的任意的位址轉換資料。 控制器4係判定在步驟S502被選擇到的位址轉換資料是否與具有清除屬性之命名空間建立關聯(步驟S503)。即是,控制器4係判定與包含有被選擇到的位址轉換資料之L2P表建立關聯的命名空間是否具有清除屬性。 在步驟S502中被選擇到的位址轉換資料與具有清除屬性之命名空間建立關聯之情況(步驟S503中為Yes),控制器4跳過將被選擇到的位址轉換資料寫入至NAND型快閃記憶體5之處理的實行(步驟S504)。 在步驟S502中被選擇到的位址轉換資料與具有非清除屬性之命名空間建立關聯之情況(步驟S503中為No),控制器4跳過將被選擇到的位址轉換資料寫入至NAND型快閃記憶體5之處理的實行(步驟S505)。依此,被選擇到的位址轉換資料之內容被反映至與該被選擇到的位址轉換資料對應的NAND型快閃記憶體5內之L2P表。 在步驟S504或步驟S505之後,處理返回至步驟S501。在步驟S501中,控制器4係再次判定在DRAM6內的已更新的位址轉換資料之中,是否存在未選擇的位址轉換資料。 在DRAM6內的已更新的位址轉換資料之中,在未選擇之位址轉換資料存在之情況(在步驟S502中為Yes),控制器4再次實行步驟S502~S505之處理。 在DRAM6內的已更新的位址轉換資料之中,在未選擇之位址轉換資料不存在之情況(在步驟S501中為No),控制器4結束處理。 圖20為表示在實施型態所涉及之SSD3中被實行的暫停準備處理之順序的流程圖。 在從主機2接收到暫停指示時,控制器4開始暫停準備處理。 在暫停準備處理中,控制器4判定首先在DRAM6存在是否存在已更新的位址轉換資料,並且在其已更新的位指轉換資料之中,是否還存在未施予步驟S602~步驟S603之處理的未選擇的位址轉換資料(步驟S601)。未選擇之位址轉換資料存在之情況(步驟S601為Yes),控制器4係選擇DRAM6內的已更新的位址轉換資料之中,還未被選擇的位址轉換資料(步驟S602)。在DRAM6內不存在已更新的位址轉換資料之情況,或對已更新的位址轉換資料全部施予步驟S602~步驟S603之處理而不再存在未選擇之位址轉換資料之情況(步驟S601中為No),圖20之處理結束。 在步驟S602中,控制器4係從還未反映於被儲存於NAND型快閃記憶體5之L2P表31-1、…、31-n的DRAM6內的已更新的位址轉換資料之中,選擇還未被選擇的任意的位址轉換資料。 控制器4係將對NAND型快閃記憶體5寫入在步驟S602中被選擇到的位址轉換資料(步驟S603)。依此,被選擇到的位址轉換資料之內容被反映至NAND型快閃記憶體5內之與該被選擇到的位址轉換資料對應的L2P表。 在步驟S603之後,處理返回至步驟S601。在步驟S601中,控制器4係再次判定在DRAM6內的已更新的位址轉換資料之中,是否存在未選擇的位址轉換資料。 在DRAM6內的已更新的位址準轉換資料之中,還存在未選擇的位址轉換資料之情況(在步驟S601中為Yes),即是在DRAM6內殘留還未反映於被儲存於NAND型快閃記憶體5之L2P表31-1、…、31-n的已更新的位址轉換資料之情況,控制器4再次實行步驟S602~S603之處理。 在DRAM6內的已更新的位址準轉換資料之中,不再存在未選擇的位址轉換資料之情況(在步驟S601中為No),即是在DRAM6內未殘留還未反映於被儲存於NAND型快閃記憶體5之L2P表31-1、…、31-n的已更新的位址轉換資料之情況,控制器4結束處理。 圖21為表示在實施型態所涉及之SSD3中被實行的清除處理之順序的流程圖。 控制器4係藉由參照命名空間管理表32,判定是否存在具有清除屬性的命名空間(步驟S701)。 在存在具有清除屬性之命名空間之情況(在步驟S701為Yes),控制器4係例如將與具有清除屬性之命名空間建立關聯的L2P表設定為初期狀態或廢棄,使含在具有清除屬性之命名空間的邏輯位址範圍所含的各邏輯位址成為未分配狀態(步驟S702)。在與具有清除屬性之命名空間建立關聯的L2P表藉由階層L2P表被實現之情況,在步驟S702中,控制器4係將階層L2P表內之最上位階層等級的表設定為初期狀態或廢棄。 而且,控制器4係使與具有清除屬性之命名空間建立關聯的全部區塊之區塊識別元移動至自由區塊清單332,將該些全部區塊作為自由區塊並予以管理(步驟S703)。 在不存在清除屬性之命名空間之情況(在步驟S701為No),控制器4結束清除處理。 圖22為表示電力再次被供給至SSD3之後,在實施型態所涉及之SSD3和主機2中被實行之處理之順序的流程圖。 對SSD3供給電力被切斷之後,當電力再次被供給至SSD3時,SSD3內之控制器4開始包含清除處理的初期化處理(步驟S801)。在初期化處理中,控制器4也實行從將NAND型快閃記憶體5內之L2P表31-1~31-n之各者的位址轉換資料之至少一部分載入DRAM6上的處理。 當控制器4成為準備狀態時,控制器4係對主機2通知其旨(步驟S802)。當從控制器4被通知控制器4成為準備狀態之旨時,主機2係將指定特定命名空間NSID的命名空間資訊取得要求發送至控制器4(步驟S803)。從主機2接收到命名空間資訊之取得要求的控制器4係將與具有被指定NSID的命名空間有關的命名空間資訊發送至主機2(步驟S804)。在命名空間資訊,包含用以唯一辨識該命名空間之全域的命名空間識別元,和作為該命名空間之屬性資訊的清除識別元,和該命名空間之尺寸等。 主機2係確認該命名空間為具有清除屬性的命名空間時,實行用以將與該命名空間之格式化有關的資訊寫入至該命名空間之LBA0之周邊的幾個LBA的再格式化處理(步驟S805)。依此,能夠正常地實行對已被清除處理的該命名空間的存取。 如上述說明般,若藉由本實施型態時,控制器4係在從主機2接收到指定清除屬性之命名空間作成指令之情況,作成具有清除屬性的命名空間。因應從主機2接收到識別具有清除屬性之命名空間的命名空間識別元的寫入指令,控制器4實行將與接收到的寫入指令建立關聯的資料寫入至NAND型快閃記憶體5之動作。再者,控制器4係以寫入該資料的NAND型快閃記憶體5之物理位址被射映至與該資料對應的邏輯位址之方式,實行更新與具有該清除屬性的命名空間對應的L2P表的動作。 而且,從電源切斷預告通知之接收或不正常電源切斷之檢測,至電力再次被供給至SSD3而控制器4成為準備狀態之期間,控制器4係使具有清除屬性之命名空間之邏輯位址範圍所含的邏輯位址之各個成為NAND型快閃記憶體5之物理位址不被映射的未分配狀態。其結果,因與具有清除屬性之命名空間所含的邏輯位址範圍建立關聯的資料全部成為無效資料,故該具有清除屬性的命名空間成為與還未寫入資料之作成後立即的命名空間相同的狀態。依此,與具有清除屬性之命名空間建立關聯的全部區塊成為不包含有效資料的自由區塊。 因此,例如,藉由將具有清除屬性的命名空間作為不需要跨越SSD3之電源循環而予以保持的資料之儲存目的地使用,可以防止由於不需要跨越SSD3之電源循環而予以保持的資料而使得NAND型快閃記憶體5內之物理記憶區域被浪費的情形。依此,可以減少NAND型快閃記憶體5之消耗。 再者,於控制器4從主機2接收到電源切斷預告通知之情況,針對與具有清除屬性的命名空間對應的L2P表,控制器4係不實行將被存儲於DRAM6的已更新的位址轉換資料寫入至NAND型快閃記憶體5的處理。如此一來,因藉由省略用以將與具有清除屬性之命名空間對應的L2P表維持在最新內容的處理,可以減少對NAND型快閃記憶體5的寫入量,故能夠進一步地減少NAND型快閃記憶體5之不需要的浪費。 再者,在SSD3為接通狀態(D0狀態)之期間,控制器4也省略對與具有清除屬性之命名空間對應的L2P表的復原準備處理之實行。 如此一來,在本實施型態中,由於關於與具有清除屬性之命名空間建立關聯的L2P表之位址轉換資料,省略各種處理,故可以減少控制器4之負荷,再者可以抑制NAND型快閃記憶體5之消耗。 雖然說明本發明之幾個實施型態,但是該些實施型態僅為例示,並無限定發明之範圍的意圖。該些嶄新的實施型態可以其他各種型態來實施,只要在不脫離發明之主旨的範圍下,可進行各種省略、置換、變更。該些實施型態或其變形,包含在發明之範圍或主旨,同時也包含在申請專利範圍所記載之發明和其均等之範圍內。
1:資訊處理系統
2:主機
3:SSD
4:控制器
5:NAND型快閃記憶體
6:DRAM
7:電源電路
10:匯流排
11:主機介面
12:CPU
13:NAND介面
14:DRAM介面
15:DMAC
16:SRAM
17:ECC編碼/解碼部
21:命名空間管理指令處理部
22:I/O指令處理部
23:清除處理部
24:復原處理部
31-1~31-n:L2P表
32:命名空間管理表
33:區塊管理表
34:區塊使用順序管理表
[圖1]為表示包含實施型態所涉及之記憶體系統的資訊處理系統之構成例的方塊圖。 [圖2]為表示實施型態所涉及之記憶體系統內之NAND型快閃記憶體之構成例的圖。 [圖3]為表示在實施型態所涉及之記憶體系統中被管理的邏輯物理位址轉換表之構成例的圖。 [圖4]為用以說明在實施型態所涉及之記憶體系統中被管理的複數命名空間的圖。 [圖5]為用以說明在實施型態所涉及之記憶體系統中被管理的命名空間管理表的圖。 [圖6]為表示在實施型態所涉及之記憶體系統中被管理的區塊管理表的圖。 [圖7]為表示在實施型態所涉及之記憶體系統中被管理的區塊使用順序管理表的圖。 [圖8]為用以針對被寫入實施型態所涉及之記憶體系統所含之NAND型快閃記憶體之資料予以說明的圖。 [圖9A]為用以針對在實施型態所涉及之記憶體系統中被實行的邏輯物理位址轉換表之復原準備處理予以說明的第一圖。 [圖9B]為用以針對在實施型態所涉及之記憶體系統中被實行的邏輯物理位址轉換表之復原準備處理予以說明的第二圖。 [圖10]為用以說明在實施型態所涉及之記憶體系統中被實行的作成具有清除屬性的命名空間的動作,和省略與具有清除屬性之命名空間建立關聯的邏輯物理位址轉換表用的復原準備處理的動作之圖。 [圖11]為用以說明在實施型態所涉及之記憶體系統中被實行的清除處理的圖。 [圖12]為用以針對在實施型態所涉及之記憶體系統中被實行的將與持有清除屬性之命名空間建立關聯的邏輯物理位址轉換表設定為初期狀態或廢棄之動作予以說明的圖。 [圖13]係用以針對在實施型態所涉及之記憶體系統中被實行的將與具有清除屬性的命名空間建立關聯的區塊之各者作為自由區塊並加以管理的動作予以說明的圖。 [圖14]為用以針對在主機被實行的將具有清除屬性之命名空間再格式化之處理予以說明的圖。 [圖15]為表示在實施型態所涉及之記憶體系統中被實行的命名空間作成處理之順序的流程圖。 [圖16]為表示在實施型態所涉及之記憶體系統中被實行的復原準備處理之順序的流程圖。 [圖17]為表示從主機接收電源切斷預告通知後,至電力再次被供給至記憶體系統而記憶體系統之控制器成為準備狀態之期間,在實施型態所涉及之記憶體系統中被實行之處理之順序的流程圖。 [圖18]為表示不正常電源切斷之檢出後,至電力再次被供給至記憶體系統而記憶體系統之控制器成為準備狀態為止之期間,在實施型態所涉及之記憶體系統中被實行之處理之順序的流程圖。 [圖19]為表示在實施型態所涉及之記憶體系統中被實行的關機準備處理之順序的流程圖。 [圖20]為表示在實施型態所涉及之記憶體系統中被實行的暫停準備處理之順序的流程圖。 [圖21]為表示在實施型態所涉及之記憶體系統中被實行的清除處理之順序的流程圖。 [圖22]為表示電力再次被供給至記憶體系統之後,在實施型態所涉及之記憶體系統和主機中被實行之處理之順序的流程圖。
31-1~31-n:L2P表
T1-1:下位表
T1-2:上位表
T1-3:最上位表
T2-1:下位表
T2-2:上位表
T2-3:最上位表
Tn-1:下位表
TN-2:上位表
TN-3:最上位表
Claims (13)
- 一種記憶體系統,其係能連接於主機的記憶體系統,該記憶體系統具備: 非揮發性記憶體;和 控制器,其係被電性連接於上述非揮發性記憶體, 上述控制器係被構成 因應從上述主機接收到指定第1屬性的第1命名空間作成指令,作成包含第1邏輯位址範圍且具有上述第1屬性的第1命名空間, 在從上述主機接收預告切斷對上述記憶體系統供給電力的電源切斷預告通知或者檢出上述記憶體系統之不正常電源切斷後,至電力再次被供給至上述對記憶體系統而上述控制器成為能夠處理來自上述主機之指令的準備狀態的第1期間,使上述第1邏輯位址範圍所含的邏輯位址之各者,成為上述非揮發性記憶體之物理位址未被映射的未分配狀態。
- 如請求項1之記憶體系統,其中 上述第1屬性係表示不需要跨越上述記憶體系統之電源循環而保持與上述第1邏輯位址範圍建立關聯的資料。
- 如請求項1之記憶體系統,其中 上述控制器進一步被構成與表示上述第1屬性的屬性資訊建立關聯而管理用以識別上述第1命名空間的第1命名空間識別元。
- 如請求項1之記憶體系統,其中 上述控制器係在上述第1期間內,電力再次被供給至上述記憶體系統後,至上述控制器成為上述準備狀態之期間,使上述第1邏輯位址範圍所含的邏輯位址之各者成為上述未分配狀態。
- 如請求項1之記憶體系統,其中 上述控制器係被構成在上述第1期間內,從上述主機接收到上述電源切斷預告通知後,至電力被供給至上述記憶體系統之期間,使上述第1邏輯位址範圍所含的邏輯位址之各者成為上述未分配狀態。
- 如請求項1之記憶體系統,其中 上述控制器進一步被構成: 管理用以管理上述第1邏輯位址範圍所含的邏輯位址之各者和上述非揮發性記憶體之物理位址之各者之間的映射的第1邏輯物理位址轉換表, 因應從上述主機接收到指定用以識別上述第1命名空間之第1命名空間識別元的第1寫入指定, 對上述非揮發性記憶體寫入與上述第1寫入指令建立關聯的第1資料, 以表示上述第1資料被寫入的上述非揮發性記憶體內之物理記憶位置的第1物理位址被映射至與上述第1資料對應的第1邏輯位置之方式,更新上述第1邏輯物理位址轉換表。
- 如請求項6之記憶體系統,其中 上述控制器被構成藉由將上述第1邏輯物理位址轉換表設定為初期狀態或廢棄,使上述第1邏輯位址範圍所含的邏輯位址之各者成為上述未分配狀態。
- 如請求項6之記憶體系統,其中 上述第1邏輯物理位址轉換表包含與複數階層等級對應的複數表,上述複數表之各者包含一個以上的位址轉換資料,各階層等級之表所含的一個以上之位址轉換資料之各者,係以與上位階層等級對應的各位址轉換表覆蓋較與下位階層等級對應的各位址轉換資料寬的邏輯位址範圍之方式,覆蓋因應各階層等級的邏輯位址範圍, 上述控制器被構成藉由將上述複數階層等級之中的最上位階層等級之表設定為初期狀態或廢棄,使上述第1邏輯位址範圍所含的邏輯位址之各者成為上述未分配狀態。
- 如請求項6之記憶體系統,其中 進一步具備揮發性記憶體, 上述控制器進一步被構成: 將上述第1邏輯物理位址轉換表所含的位址轉換資料從上述非揮發性記憶體載入至上述揮發性記憶體, 因應上述第1寫入指令之實行,更新被儲存於上述揮發性記憶體的位址轉換資料, 在從上述主機接收到上述電源切斷預告通知之情況,不將還未反映於被儲存於上述非揮發性記憶體的上述第1邏輯物理位址轉換表的上述揮發性記憶體內的已更新的位址轉換資料寫入至上述非揮發性記憶體,而在上述第1期間,使上述第1邏輯位址範圍所含的上述邏輯位址之各者成為上述未分配狀態。
- 如請求項9之記憶體系統,其中 上述控制器進一步被構成: 因應從上述主機接收到用以使上述記憶體系統之電源狀態從接通狀態遷移至與上述主機之暫停狀態對應的低電力狀態的指示,將還未反映於被儲存於上述非揮發性記憶體之上述第1邏輯物理位址轉換表之上述揮發性記憶體內的已更新的位址轉換資料寫入至上述非揮發性記憶體。
- 如請求項9之記憶體系統,其中 上述控制器進一步被構成: 因應從上述主機接收到不指定上述第1屬性之第2命名空間作成指令,而作成包含第2邏輯位址範圍的命名空間,亦即具有必須跨越上述記憶體系統之電源循環而保持與上述第2邏輯位址範圍建立關聯的資料之第2屬性的第2命名空間, 管理用以管理上述第2邏輯位址範圍所含的邏輯位址之各者和上述非揮發性記憶體之物理位址之各者之間的映射的第2邏輯物理位址轉換表, 將上述第2邏輯物理位址轉換表所含的第2位址轉換資料進一步從上述非揮發性記憶體載入至上述揮發性記憶體, 因應指定用以識別上述第2命名空間之第2命名空間識別元的第2寫入指令之實行,更新被儲存於上述揮發性記憶體的上述第2位址轉換資料, 因應從上述主機接收到上述電源切斷預告通知,將還未反映於被儲存於上述非揮發性記憶體的上述第2邏輯物理位址轉換表的上述揮發性記憶體內的已更新的上述第2位址轉換資料寫入至上述非揮發性記憶體。
- 如請求項9之記憶體系統,其中 上述控制器進一步被構成: 因應從上述主機接收到不指定上述第1屬性之第2命名空間作成指令,而作成包含第2邏輯位址範圍的命名空間,亦即具有必須跨越上述記憶體系統之電源循環而保持與上述第2邏輯位址範圍建立關聯的資料之第2屬性的第2命名空間, 管理用以管理上述第2邏輯位址範圍所含的邏輯位址之各者和上述非揮發性記憶體之物理位址之各者之間的映射的第2邏輯物理位址轉換表, 將上述第2邏輯物理位址轉換表所含的第2位址轉換資料進一步從上述非揮發性記憶體載入至上述揮發性記憶體, 因應指定用以識別上述第2命名空間之第2命名空間識別元的第2寫入指令之實行,更新被儲存於上述揮發性記憶體的上述第2位址轉換資料, 關於上述第2邏輯物理位址轉換表,實行包含下述動作的復原準備處理:(1)在每個確認點,將還未反映於被儲存於上述非揮發性記憶體之上述第2邏輯物理位址轉換表的上述揮發性記憶體內的已更新的上述第2位址轉換資料寫入至上述非揮發性記憶體之動作,和(2)在每個上述確認點,將對現在分配為上述第2命名空間用之寫入目的地區塊的第1區塊賦予的序列號碼,作為用以特定應使用於被儲存於上述非揮發性記憶體之上述第2邏輯物理位址轉換表之復原處理的區塊群之資訊而寫入至上述非揮發性記憶體之動作, 關於上述第1邏輯物理位址轉換表,省略實行包含下述動作的復原準備處理:(3)在每個上述確認點,將還未反映於被儲存於上述非揮發性記憶體的上述第1邏輯物理位址轉換表的上述揮發性記憶體內的已更新的上述位址轉換資料寫入至上述非揮發性記憶體之動作,和(4)在每個上述確認點,將對現在分配為上述第1命名空間用之寫入目的地區塊的第2區塊賦予的序列號碼,作為用以特定應使用於被儲存於上述非揮發性記憶體之上述第1邏輯物理轉換表之復原處理的區塊群之資訊而寫入至上述非揮發性記憶體之動作, 被賦予至上述第1區塊的上述序列號碼表示上述第1區塊被分配為上述第2命名空間用之寫入目的地區塊的順序,被賦予至上述第2區塊的上述序列號碼表示上述第2區塊被分配為上述第1命名空間用之寫入目的地區塊的順序。
- 一種控制方法,其係控制包含非揮發性記憶體的記憶體系統,該控制方法具備: 因應從主機接收到指定第1屬性之第1命名空間作成指令,而作成包含第1邏輯位址範圍的命名空間,亦即不需要跨越上述記憶體系統之電源循環而保持與上述第1邏輯位址範圍建立關聯的資料的第1命名空間, 在從上述主機接收預告切斷對上述記憶體系統供給電力的電源切斷預告通知或者檢出上述記憶體系統之不正常電源切斷後,至電力再次被供給至上述記憶體系統而上述記憶體系統內之控制器成為能夠處理來自上述主機之指令的準備狀態的第1期間,使上述第1邏輯位址範圍所含的邏輯位址之各者,成為上述非揮發性記憶體之物理位址未被映射的未分配狀態。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-011137 | 2021-01-27 | ||
JP2021011137A JP2022114726A (ja) | 2021-01-27 | 2021-01-27 | メモリシステムおよび制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202230110A TW202230110A (zh) | 2022-08-01 |
TWI790628B true TWI790628B (zh) | 2023-01-21 |
Family
ID=82494717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110119412A TWI790628B (zh) | 2021-01-27 | 2021-05-28 | 記憶體系統及控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11836381B2 (zh) |
JP (1) | JP2022114726A (zh) |
CN (1) | CN114822613A (zh) |
TW (1) | TWI790628B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11409665B1 (en) * | 2021-05-10 | 2022-08-09 | Innogrit Technologies Co., Ltd. | Partial logical-to-physical (L2P) address translation table for multiple namespaces |
US11966341B1 (en) * | 2022-11-10 | 2024-04-23 | Qualcomm Incorporated | Host performance booster L2P handoff |
TWI833588B (zh) * | 2023-03-01 | 2024-02-21 | 南亞科技股份有限公司 | 邏輯位址轉換裝置、方法以及非暫態電腦可讀取儲存媒體 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200917021A (en) * | 2007-01-17 | 2009-04-16 | Memoright Memoritech Corp | Method for managing flash memory block |
US20170010833A1 (en) * | 2013-12-24 | 2017-01-12 | Feitian Technologies Co., Ltd. | Data writing and reading methods for flash |
CN106502928A (zh) * | 2016-09-29 | 2017-03-15 | 华为技术有限公司 | 一种存储***掉电保护方法、存储控制器及电子设备 |
US20170351431A1 (en) * | 2016-06-01 | 2017-12-07 | Western Digital Technologies, Inc. | Resizing namespaces for storage devices |
TW202001495A (zh) * | 2018-06-27 | 2020-01-01 | 韓商愛思開海力士有限公司 | 供電設備和包括該供電設備的電子設備 |
CN110825325A (zh) * | 2019-10-30 | 2020-02-21 | 深圳忆联信息***有限公司 | 基于映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 |
CN111414313A (zh) * | 2019-01-07 | 2020-07-14 | 爱思开海力士有限公司 | 数据存储装置及数据存储装置的操作方法 |
CN111858623A (zh) * | 2019-04-28 | 2020-10-30 | 北京忆恒创源科技有限公司 | 使用异构命名空间优化数据库性能 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223787A (ja) | 2008-03-18 | 2009-10-01 | Hitachi Software Eng Co Ltd | 情報処理装置及び方法、並びにプログラム |
US9383924B1 (en) * | 2013-02-27 | 2016-07-05 | Netapp, Inc. | Storage space reclamation on volumes with thin provisioning capability |
JP5989574B2 (ja) * | 2013-02-28 | 2016-09-07 | 株式会社東芝 | 計算機、メモリ管理方法およびプログラム |
KR101475483B1 (ko) | 2013-06-27 | 2014-12-19 | 이화여자대학교 산학협력단 | 비휘발성 버퍼 캐시와 비휘발성 스토리지를 위한 통합 데이터 관리 장치 및 방법 |
JP6320322B2 (ja) | 2014-12-29 | 2018-05-09 | 東芝メモリ株式会社 | キャッシュメモリ装置及びプログラム |
US10474569B2 (en) | 2014-12-29 | 2019-11-12 | Toshiba Memory Corporation | Information processing device including nonvolatile cache memory and processor |
US10552341B2 (en) * | 2017-02-17 | 2020-02-04 | International Business Machines Corporation | Zone storage—quickly returning to a state of consistency following an unexpected event |
US20190004947A1 (en) * | 2017-06-30 | 2019-01-03 | Intel Corporation | Selective temporary data storage |
JP7010667B2 (ja) * | 2017-11-06 | 2022-01-26 | キオクシア株式会社 | メモリシステムおよび制御方法 |
WO2019105029A1 (zh) * | 2017-11-29 | 2019-06-06 | 北京忆恒创源科技有限公司 | 去分配命令处理方法及其存储设备 |
CN110471788B (zh) * | 2018-05-08 | 2024-03-15 | 美光科技公司 | 异步功率损耗影响的数据结构 |
CN110459256A (zh) * | 2018-05-08 | 2019-11-15 | 美光科技公司 | 动态p2l异步功率损耗降低 |
US10534551B1 (en) * | 2018-06-22 | 2020-01-14 | Micron Technology, Inc. | Managing write operations during a power loss |
US10909030B2 (en) * | 2018-09-11 | 2021-02-02 | Toshiba Memory Corporation | Enhanced trim command support for solid state drives |
JP6995723B2 (ja) * | 2018-09-19 | 2022-01-17 | キオクシア株式会社 | メモリシステム、ストレージシステム、および制御方法 |
US10990526B1 (en) * | 2020-04-30 | 2021-04-27 | Micron Technology, Inc. | Handling asynchronous power loss in a memory sub-system that programs sequentially |
US11543987B2 (en) * | 2020-06-04 | 2023-01-03 | Western Digital Technologies, Inc. | Storage system and method for retention-based zone determination |
-
2021
- 2021-01-27 JP JP2021011137A patent/JP2022114726A/ja active Pending
- 2021-05-28 TW TW110119412A patent/TWI790628B/zh active
- 2021-08-17 CN CN202110942501.1A patent/CN114822613A/zh active Pending
- 2021-09-13 US US17/473,634 patent/US11836381B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200917021A (en) * | 2007-01-17 | 2009-04-16 | Memoright Memoritech Corp | Method for managing flash memory block |
US20170010833A1 (en) * | 2013-12-24 | 2017-01-12 | Feitian Technologies Co., Ltd. | Data writing and reading methods for flash |
US20170351431A1 (en) * | 2016-06-01 | 2017-12-07 | Western Digital Technologies, Inc. | Resizing namespaces for storage devices |
CN106502928A (zh) * | 2016-09-29 | 2017-03-15 | 华为技术有限公司 | 一种存储***掉电保护方法、存储控制器及电子设备 |
TW202001495A (zh) * | 2018-06-27 | 2020-01-01 | 韓商愛思開海力士有限公司 | 供電設備和包括該供電設備的電子設備 |
CN111414313A (zh) * | 2019-01-07 | 2020-07-14 | 爱思开海力士有限公司 | 数据存储装置及数据存储装置的操作方法 |
CN111858623A (zh) * | 2019-04-28 | 2020-10-30 | 北京忆恒创源科技有限公司 | 使用异构命名空间优化数据库性能 |
CN110825325A (zh) * | 2019-10-30 | 2020-02-21 | 深圳忆联信息***有限公司 | 基于映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114822613A (zh) | 2022-07-29 |
US11836381B2 (en) | 2023-12-05 |
JP2022114726A (ja) | 2022-08-08 |
TW202230110A (zh) | 2022-08-01 |
US20220236916A1 (en) | 2022-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144888B (zh) | 存储器*** | |
TWI805323B (zh) | 儲存裝置 | |
TWI790628B (zh) | 記憶體系統及控制方法 | |
JP6007332B2 (ja) | ストレージシステム及びデータライト方法 | |
KR20180047402A (ko) | 멀티 네임스페이스를 관리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 | |
JP2018049522A (ja) | メモリシステム及び制御方法 | |
US9201784B2 (en) | Semiconductor storage device and method for controlling nonvolatile semiconductor memory | |
KR20110119408A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
JPWO2008018258A1 (ja) | 記憶装置 | |
CN114730300A (zh) | 对区命名空间存储器的增强型文件***支持 | |
CN110928487A (zh) | 存储装置和存储装置的操作方法 | |
JP2018101411A (ja) | データストレージデバイスおよびその操作方法 | |
US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
US11150819B2 (en) | Controller for allocating memory blocks, operation method of the controller, and memory system including the controller | |
KR20200032527A (ko) | 메모리 시스템의 동작 방법 및 메모리 시스템 | |
US11954031B2 (en) | Enhancing cache dirty information | |
JP7053399B2 (ja) | 情報処理システム | |
JP2022171208A (ja) | メモリシステムおよび制御方法 | |
JP2023010765A (ja) | メモリシステム | |
US20220300185A1 (en) | Storage device, storage system, and control method | |
CN115905033A (zh) | 用于固态驱动器的有效性表 | |
JP5768118B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム | |
JP6817340B2 (ja) | 計算機 | |
US11907567B2 (en) | Memory system having a controller with a data erasure processing function | |
US20240095163A1 (en) | Memory system including nonvolatile memory and method of controlling the same |