TWI521343B - An information processing device, a semiconductor memory device, and a semiconductor memory device - Google Patents

An information processing device, a semiconductor memory device, and a semiconductor memory device Download PDF

Info

Publication number
TWI521343B
TWI521343B TW101126675A TW101126675A TWI521343B TW I521343 B TWI521343 B TW I521343B TW 101126675 A TW101126675 A TW 101126675A TW 101126675 A TW101126675 A TW 101126675A TW I521343 B TWI521343 B TW I521343B
Authority
TW
Taiwan
Prior art keywords
semiconductor memory
address conversion
conversion information
memory
information
Prior art date
Application number
TW101126675A
Other languages
English (en)
Other versions
TW201314450A (zh
Inventor
Atsushi Kunimatsu
Kenichi Maeda
Original Assignee
Toshiba Kk
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
Priority claimed from JP2011168368A external-priority patent/JP2013033337A/ja
Priority claimed from JP2011252001A external-priority patent/JP5762930B2/ja
Application filed by Toshiba Kk filed Critical Toshiba Kk
Publication of TW201314450A publication Critical patent/TW201314450A/zh
Application granted granted Critical
Publication of TWI521343B publication Critical patent/TWI521343B/zh

Links

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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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]
    • 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/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

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)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

資訊處理裝置、半導體記憶裝置及半導體記憶裝置之控制方法
本發明之實施形態係關於一種包括主機裝置與半導體記憶裝置之資訊處理裝置及半導體記憶裝置。
[相關申請案]
本申請案享有以日本專利申請案第2011-168368號(申請日期:2011年8月1日)及日本專利申請案第2011-252001號(申請日期:2011年11月]7日)為基礎申請案之優先權。本申請案藉由參照該基礎申請案而包含基礎申請案之全部內容。
SSD(Solid state drive:固態驅動器)等半導體記憶裝置中,將邏輯實體轉換表(MMU:以下,亦有記為L2P之情形)儲存於例如SSD內之緩衝器(記憶體)等之情形較多。該情形時,隨著SSD之記憶容量增大,儲存邏輯實體轉換表之緩衝器之容量及面積具有增大之傾向。又,由於需要確保為將邏輯實體轉換表儲存於緩衝器所需要之容量,故製造成本亦有增加之傾向。
在積體著複數個運算處理器之GPU(Graphical Processing Unit:圖形處理單元)等中,存在一種在複數個運算處理器間共用一個記憶體之UMA(Unified Memory Architecture:統一記憶體架構)之技術。在UMA中,可使記憶體成本降低。
本發明之實施形態提供一種緩衝器之容量及面積較小、製造成本降低之半導體記憶裝置及使用其之資訊處理裝置。
本發明之實施形態之資訊處理裝置包括主機裝置與經由匯流排連接於上述主機裝置之半導體記憶裝置。上述主機裝置包括主記憶體。上述半導體記憶裝置包括:儲存第1邏輯實體轉換表及資料之非揮發性半導體記憶體;儲存上述第1邏輯實體轉換表之一部分即第2邏輯實體轉換表之記憶部;及參照上述第2邏輯實體轉換表而對上述非揮發性半導體記憶體進行存取之控制部。將上述第1邏輯實體轉換表之至少一部分複製至上述主記憶體上。於上述第2邏輯實體轉換表中未登錄有藉由上述控制部存取之邏輯位址或實體位址之情形時,將上述主記憶體上之第3邏輯實體轉換表之一部分複製至上述第2邏輯實體轉換表。
根據本發明之實施形態,可提供一種緩衝器之容量及面積較小、製造成本降低之半導體記憶裝置及使用其之資訊處理裝置。
以下,一面參照圖式一面就各實施形態進行說明。再者,在以下之說明中,對於大致或實質上相同之功能及構成元件,添加相同符號,根據需要進行說明。
[第1實施形態] <1.構成例> 1-1.整體構成之例
首先,就包含第1實施形態之SSD裝置之記憶體系統之整體構成例,使用圖1進行說明。
如圖1所示,第1實施形態之資訊處理裝置,包含SSD裝置10與主機裝置20。所謂SSD(Solid state drive:固態驅動器)裝置係包括可應用與HDD(Hard disc drive:硬碟驅動器)裝置相同之介面之非揮發性記憶體之裝置。在第1實施形態中,半導體記憶裝置以SSD裝置10為例進行說明,但並不限於SSD裝置10。作為資訊處理裝置,包含例如個人電腦、行動電話、攝像裝置等。
SSD裝置10包括非揮發性記憶體(NVM,Non-Volatile Memory)11、TLB14、緩衝記憶體15、ECC(Error Correcting Code:錯誤校正碼)部16、匯流排主介面17、DMA(Direct Memory Access,直接記憶體存取)控制器18、及SSD控制器19。非揮發性記憶體11中,儲存有OS(Operation System:操作系統)12、邏輯實體轉換表(L2P)13。
在第1實施形態中,作為非揮發性記憶體(NVM)11,應用NAND型快閃記憶體。NAND型快閃記憶體之詳情將於下文說明,包含複數個區塊(Block),以稱作頁面之單位進行資料之讀出、寫入。NAND型快閃記憶體,包括例如Boot(啟動)區域11-1與其他之大容量之管理區域(或普通區域)11-2。再者,非揮發性記憶體11,並不限於NAND型快閃記憶體,可為MRAM(Magnetoresistive Random Access Memory:磁阻隨機存取記憶體)、NOR型快閃記憶體等。
Boot區域11-1自固定之位址開始,例如為1G位元組單位左右之容量之區域。又,Boot區域11-1保持Boot ROM(Read-only memory,唯讀記憶體)/BIOS(basic input/output system,基本輸入輸出系統)類似之Boot程式。管理區域為普通之使用者無法訪問之區域,普通區域為普通之使用者可訪問之區域。
OS12儲存於NAND型快閃記憶體之管理區域11-2,且作為主機裝置20之控制程式發揮功能。該OS12中,包含有用以將邏輯實體轉換表13複製至主記憶體23並驅動SSD之驅動器。
邏輯實體轉換表(L2P)13為將外部之主機裝置20對NAND型快閃記憶體11進行存取時使用之邏輯區塊位址(LBA:Logical block address)、與NAND型快閃記憶體11內之實際之實體區塊位址(PBA:Physical block address)建立對應之資訊。
邏輯區塊位址(LBA)為主機裝置20發行、且在主機裝置20側受到管理之區塊位址。實體區塊位址(PBA)為NAND型快閃記憶體11側之實際之區塊位址。
TLB(Translation look-aside buffer:轉換後備緩衝器)14為對邏輯實體轉換表13之一部分進行快取之緩衝記憶體。
緩衝記憶體15為用以記憶作為非揮發性記憶體11之NAND型快閃記憶體之輸入及輸出之小容量之資料之緩衝記憶體。例如,緩衝記憶體15為以SRAM(Static random access memory:靜態隨機存取記憶體)等構成之數~數百kB 級程度之記憶體,可為暫存器等。緩衝記憶體15在內置於NAND型快閃記憶體11之情形時可省略。
ECC部16進行非揮發性記憶體11之讀出資料之錯誤校驗,有錯誤之情形校正錯誤。
匯流排主介面17為圖1之匯流排(PCle)50之匯流排主控器,包括DMA控制器18。
DMA控制器18控制SSD裝置10與主機裝置20之主記憶體23之間之資料傳送。DMA控制器18具有將複數個區塊之資料依序經由匯流排50傳送至主機裝置20之功能等。
SSD控制器19控制上述說明之構成,並控制SSD裝置10之整體動作。又,SSD控制器19於讀出動作時根據讀出指令,參照TLB14將邏輯區塊位址轉換為實體區塊位址,並讀出儲存於該實體區塊位址之資料。又,SSD控制器19於寫入動作時根據寫入指令,參照TLB14將邏輯區塊位址轉換為實體區塊位址,並於該實體區塊位址寫入資料。
主機裝置20包括周邊介面21、主記憶體介面22、主記憶體23、及處理器25。
周邊介面21係與作為周邊裝置之SSD裝置10之介面,且作為匯流排50之橋接器發揮功能。
主記憶體介面22係主記憶體23之介面。
主記憶體23係記憶主機裝置20之資料之主記憶裝置。在第1實施形態中,作為主記憶體23,使用例如DRAM(Dynamic random access memory:動態隨機存取記憶體)。又,第1實施形態之主記憶體23儲存上述邏輯實體 轉換表13之副本。關於邏輯實體轉換表13之副本之詳情將於下文敍述。
處理器25控制上述說明之構成,且控制主機裝置20之動作。作為處理器25,例如使用中央運算裝置(CPU)、微處理器單元(MPU,Micro Processor Unit)、數位訊號處理器(DSP,Digital Signal Processor)等。
1-2. NAND型快閃記憶體之說明
其次,就圖1中之非揮發性記憶體11,使用圖2進一步詳細說明。此處,舉構成NAND型快閃記憶體之區塊B1之等價電路為一例進行說明。由於區塊B1中之記憶胞統一刪除資料,故區塊B1為資料刪除單位。
區塊B1包含沿字元線方向(WL direction:WL方向)排列之複數個記憶胞單元MU。記憶胞單元MU包含:包含沿與字元線方向交叉之位元線方向(BL direction:BL方向)排列且電流路徑串聯連接之8個記憶胞MC0~MC7之NAND串(記憶胞串);連接於NAND串之電流路徑之一端之源極側之選擇電晶體S1;及連接於NAND串之電流路徑之另一端之汲極側之選擇電晶體S2。
在第1實施形態中,記憶胞單元MU包含8個記憶胞MC0~MC7,但記憶胞單元MU之記憶胞為2個以上即可,並不限定於8個。例如,記憶胞單元MU之記憶胞可為56個、32個等。
源極側之選擇電晶體S1之電流路徑之另一端連接於源極線SL。汲極側之選擇電晶體S2之電流路徑之另一端,對應 各記憶胞單元MU而設置於記憶胞單元MU之上方,並連接於沿位元線方向延伸之位元線BLm-1。
字元線WL0~WL7沿字元線方向延伸,並共同連接於字元線方向之複數個記憶胞之控制閘極電極CG。選擇閘極線SGS在字元線方向延伸,並共同連接於字元線方向之複數個選擇電晶體S1。選擇閘極線SGD亦在字元線方向延伸,並共同連接於字元線方向之複數個選擇電晶體S2。
針對每條字元線WL0~WL7而存在頁面(PAGE)。例如,如以圖2中之虛線包圍顯示般,於字元線WL7存在頁面7(PAGE7)。由於針對每個頁面進行資料讀出動作、資料寫入動作,故頁面為資料讀出單位,且為資料寫入單位。
<2.動作> 2-1.啟動流程
其次,就包含第1實施形態之SSD裝置10之記憶體系統之啟動動作,使用圖3之流程圖進行說明。再者,在以下之動作中,以平行四邊形表示之步驟記作經由匯流排50進行之步驟。
如圖3所示,首先,於步驟S11時,主機裝置20之處理器25讀出儲存於SSD裝置10之非揮發性記憶體11中之Boot區域11-1之Boot程式。
繼而,於步驟S12時,處理器25使用自Boot區域11-1讀出之Boot程式執行啟動。關於該啟動執行之詳情,在接下來之圖4中說明。
然後,於步驟S13時,執行啟動之OS12,並結束該啟動 動作(End)。
2-2. Boot執行流程
其次,就包含第1實施形態之SSD裝置10之記憶體系統之啟動執行動作,使用圖4之流程圖進行說明。該圖4對應上述圖3中之步驟S12中之Boot執行。
首先,如圖4所示,於步驟S21時,主機裝置20之處理器25進行主記憶體23之使用宣告,於主記憶體23中確保用以儲存邏輯實體轉換表13之副本之區域。
其次,於步驟S22時,處理器25將經由匯流排50傳送之邏輯實體轉換表13之副本儲存於主記憶體23之上述確保之區域。於第1實施形態中,雖針對將邏輯實體轉換表13之全部複製到主記憶體23之例進行說明,但亦可僅將邏輯實體轉換表13之一部分複製到主記憶體23。關於僅該邏輯實體轉換表13之一部分複製到主記憶體23之情形之詳情於第2實施形態中說明。
繼而,於步驟S23時,處理器25同樣地經由匯流排50傳送及載入OS12,並結束該啟動執行流程(End)。
2-3. TLB流程
其次,針對包含第1實施形態之SSD裝置10之記憶體系統之TLB動作,使用圖5之流程圖進行說明。TLB動作中,使用藉由上述啟動動作而傳送至主機裝置20之主記憶體23之邏輯實體轉換表13之副本。
如圖5所示,首充,於步驟S31時,SSD裝置10之SSD控制器19判定對應之邏輯位址是否存在於TLB14中。於對應 之邏輯位址存在於TLB14中且未發生TLB錯誤之情形(No(否))下,結束該動作(End)。
另一方面,於對應之邏輯位址不存在於TLB14中且發生TLB錯誤之情形(Yes)下,進入下一個步驟S32。
其次,於步驟S32時,SSD控制器19設定發生上述TLB錯誤之錯誤資訊及對應之邏輯位址。
然後,於步驟S33時,SSD控制器19對主機裝置20發送中斷。以後,SSD裝置10處於待機狀態,直到自主機裝置20發出SSD起動指示為止。
其次,於步驟S34時,主機裝置20之處理器25接收來自SSD裝置10之中斷而執行以下之處理。
首先,於步驟S35時,處理器25獲取設置並傳送之錯誤資訊及上述對應之邏輯位址。
其次,於步驟S36時,處理器25參照儲存於主記憶體23中之邏輯實體轉換表13之副本。
其次,於步驟S37時,處理器25獲取對應該邏輯位址之實體位址。
其次,於步驟S38時,處理器25將獲取之上述邏輯位址及與其對應之實體位址傳送至SSD裝置10,對處於待機狀態之SSD裝置10發出起動指示。
繼而,於步驟S39時,SSD裝置10之SSD控制器19,接收來自主機裝置20之上述起動指示,從而自待機狀態再次開始起動。
其次,於步驟S40時,SSD控制器19按LRU(Least recently used:最近最少使用)或隨機地選擇TLB14之入口。LRU指自訪問之舊入口選擇。
繼而,於步驟S41時,SSD控制器19獲取自主機裝置20傳送之上述對應之邏輯位址及實體位址。
其次,於步驟S42時,SSD控制器19對在步驟S40中選擇之TLB14之入口,設置邏輯位址及實體位址(置換、複製),並結束該動作(End)。
2-4. DMA流程
其次,就包含第1實施形態之SSD裝置10之記憶體系統之DMA(Dynamic memory access:動態記憶體存取)動作,使用圖6之流程圖進行說明。該TLB動作,利用上述啟動動作,進行傳送至主機裝置20之邏輯實體轉換表13之複製,且與上述TLB流程對應。
如圖6所示,首先,於步驟S51時,主機裝置20之處理器25,參照邏輯實體轉換表13之副本,設置必要之複數個邏輯位址。
其次,於步驟S52時,處理器25傳送選擇之上述邏輯位址,並對SSD裝置10發出起動指示。以後,主機裝置20於自SSD裝置10發出中斷指示之前處於待機狀態。
繼而,於步驟S53時,SSD裝置10之SSD控制器19,接收主機裝置20之起動指示,使SSD裝置10起動。
繼而,於步驟S54時,SSD控制器19獲取傳送之上述邏輯位址。
其次,於步驟S55時,SSD控制器19,參照儲存於TLB14 之邏輯實體轉換表13,將儲存於對應上述邏輯位址之實體位址之資料藉由匯流排主介面17依序傳送(DMA)。此處,上述傳送中可有讀出與寫入之雙方。
其次,於步驟S56時,SSD控制器19將表示上述傳送之資料之結束之中斷賦予給主機裝置20。
其次,於步驟S57時,主機裝置20之處理器25接收中斷,自待機狀態再次開始中斷動作。
其次,於步驟S58時,處理器25於讀出之情形時使用傳送之資料,而於寫入之情形時直接繼續處理,並結束該等動作(End)。
<3.作用效果>
根據第1實施形態之半導體記憶裝置及包含其之系統(資訊處理裝置),至少可得到下述(1)至(2)之效果。
(1)可減小SSD裝置10之緩衝記憶體15之容量及面積
如上所述,第1實施形態之SSD裝置10之SSD控制器19,經由匯流排50將邏輯實體轉換表13之副本傳送至主機裝置20。
其次,主機裝置20之處理器25發出主記憶體23之使用宣告,於作為其主記憶體23之DRAM中確保用以儲存邏輯實體轉換表13之副本之區域(S21)。其次,處理器25,將經由匯流排50傳送之邏輯實體轉換表13之副本,儲存於主記憶體23之上述確保之區域(S22)。繼而,處理器25載入經由匯流排50傳送之作為主機裝置20之控制程式之OS12,並結束該啟動執行流程。
其結果,邏輯實體轉換表13之副本被配置於主機裝置20之主記憶體23上。儲存於主機裝置20之主記憶體23之邏輯實體轉換表13之副本,例如於圖5中所示之上述TLB動作中根據需要而使用。例如,儲存於主記憶體23之邏輯實體轉換表13之副本,於對應之邏輯位址不存在於TLB14中而產生TLB錯誤之情形(Yes(是))等,根據需要使用。此時,無須參照邏輯實體位址轉換表(L2P)主體13。因此,可實現與在SSD裝置10側設置大量之緩衝器之情形大致相同之高速動作。再者,因無該緩衝器而可相應地以大幅減少之硬體實現。
於第1實施形態中,可減小用以儲存SSD裝置10之邏輯實體轉換表13之緩衝記憶體15之容量及佔有面積。
即使於將邏輯實體轉換表13之副本配置於主機裝置20之主記憶體23上之構成之情形時,在第1實施形態中,仍較佳為於SSD裝置10側具備追求TLB、DMA、ECC等之高速性之處理。執行該等之處理之電路,作為電路規模與將邏輯實體轉換表13全部儲存之緩衝記憶體相比較為極小。
(2)可減少製造成本
緩衝記憶體15之製造成本,與作為主機裝置20之主記憶體23之DRAM相比較價格較高。
在本例中,如上所述,減小用以儲存SSD裝置10之邏輯實體轉換表13之緩衝器15之容量及佔有面積,且邏輯實體轉換表13之副本配置於主機裝置20之主記憶體23。因此,可減少製造成本。
[第2實施形態]
其次,就第2實施形態進行說明。第2實施形態之記憶體系統具有與圖1所示之第1實施形態之記憶體系統系統之構成。在第1實施形態中,將邏輯實體轉換表13之副本保持於主記憶體23。與此相對,第2實施形態,在將邏輯實體轉換表13之一部分之副本保持於主記憶體23之點上,與上述第1實施形態不同。此外,第2實施形態,如後所述,啟動執行動作與TLB流程與第1實施形態不同。以下,在第2實施形態之說明中,省略與上述第1實施形態重複之部分之詳細說明。
<TLB流程>
首先,參照圖7就第2實施形態之TLB動作進行說明。
本實施形態之TLB動作,與第1實施形態之圖5所示之TLB動作,僅步驟S36不同。即,在第1實施形態中,由於主記憶體23中有邏輯實體轉換表(L2P)13之副本,故步驟S36中未有L2P錯誤。然而,在第2實施形態中,由於主記憶體23中未儲存有L2P13之一部分之副本,故有步驟S36中產生L2P錯誤之情形。
因此,在第2實施形態中,需要產生L2P錯誤之情形之處理,步驟S36之動作,根據圖7(A)-(B)所示之流程執行。
如圖7所示,首先,於步驟S61時,主機裝置20之處理器25判定主記憶體23中是否有複製之邏輯實體轉換表(L2P)13之一部分。於主記憶體23中有複製之邏輯實體轉換表(L2P)13之一部分之情形(Yes)時,結束該流程(End)。
當於上述步驟S61時判定為主記憶體23中無複製之邏輯實體轉換表(L2P)13之一部分之情形(No)下,在接下來之步驟S62時,處理器25判定是否有主記憶體23之副本區域之空白區。在有主記憶體23之副本區域之空白區之情形(Yes)下,繼續步驟S64。
在上述步驟S62時判定為無主記憶體23之副本區域之空白區之情形(No)下,於接下來之步驟S63時,處理器25,根據上述LRU選擇主記憶體23之副本,空出其區域。
繼而,於步驟S64時,處理器25自SSD10獲取對應之邏輯實體轉換表(L2P)13。
其次,於步驟S65時,處理器25在設置於主記憶體23之空白區中,設置上述獲取之邏輯實體轉換表(L2P)13,並結束該流程(B)。
<啟動執行流程>
其次,參照圖8,就第2實施形態之啟動執行動作進行說明。第2實施形態之啟動執行動作,與第1實施形態之圖4所示之啟動執行動作相比較,在省略L2P複製(圖4之步驟22)步驟之點上不同。
首先,於步驟S71時,主機裝置20之處理器25,發出主記憶體23之使用宣告,並在主記憶體23中,確保用以儲存邏輯實體轉換表13之副本之區域。
其次,於步驟S72時,處理器25載入經由匯流排50傳送之OS12。此時,由於主記憶體23中未儲存有邏輯實體轉換表13之副本,故在主記憶體23中產生L2P錯誤。如此,在 啟動動作時產生L2P錯誤之情形時,亦可藉由執行上述之圖7之處理而消除L2P錯誤。
<作用效果>
在第2實施形態之半導體記憶裝置及包含其之系統(資訊處理裝置)中,至少可得到上述(1)及(2)之效果。再者,在第2實施形態中,根據需要可應用上述構成及動作。
[第3實施形態]
第3實施形態之資訊處理裝置包括主機裝置與半導體記憶裝置。主機裝置包括主記憶體與第1控制部。上述第1控制部,將相對於上述半導體記憶裝置之寫入要求分離為寫入指令與對應上述寫入指令之寫入資料,並將寫入指令輸出至上述半導體記憶裝置,使寫入資料記憶於上述主記憶體。上述半導體記憶裝置包括非揮發性半導體記憶體與第2控制部。上述第2控制部,接收自上述主機裝置傳送之上述寫入指令,於該寫入指令之執行時使記憶於上述主記憶體之對應該寫入指令之寫入資料傳送至半導體記憶裝置,並寫入上述非揮發性半導體記憶體。
圖9中,顯示第3實施形態之資訊處理裝置之構成之一例。資訊處理裝置包括主機裝置(以下,略記為主機)30與作為主機30之記憶裝置發揮功能之記憶體系統(半導體記憶裝置)40。記憶體系統40,可為依照eMMC(Embedded Multi Media Card:嵌入式多媒體卡)標準之組入用途之快閃記憶體、SSD(Solid State Drive:固態驅動器)等。資訊處理裝置,例如為個人電腦、行動電話、攝像裝置等。
記憶體系統40包括:作為非揮發性記憶體之NAND快閃記憶體41;NAND介面44;DMA控制器45;緩衝記憶體46;ECC電路47;儲存控制器48;及儲存介面49。
NAND快閃記憶體41包括複數個記憶胞排列為矩陣狀之記憶胞陣列。各個記憶胞可使用上位頁面及下位頁面實現多值記憶。NAND快閃記憶體41排列複數個作為資料刪除單位之區塊而構成。再者,各區塊包含複數個頁面。各頁面為資料之寫入及讀出之單位。NAND快閃記憶體41,例如包含複數個記憶體晶片。
NAND快閃記憶體41記憶自主機30發送之使用者資料、記憶體系統40之管理資訊、主機30中使用之OS43。
OS43作為主機30之控制程式發揮功能。
邏輯實體轉換表(L2P表)42為將主機30對記憶體系統40進行存取時使用之邏輯區塊位址(LBA:Logical block address)、與NAND快閃記憶體41內之實體位址(區塊位址+頁面位址+頁面內記憶位置)建立對應之位址轉換資訊。此後,將記憶於NAND快閃記憶體41之L2P表42稱為L2P主體。
NAND介面44,基於儲存控制器48之控制,對NAND快閃記憶體41執行資料及管理資訊之讀入/寫入。
緩衝記憶體46用作用以記憶寫入NAND快閃記憶體41之資料或自NAND快閃記憶體41讀取之資料之緩衝器。又,緩衝記憶體46記憶將與自主機30輸入之寫入要求、讀取要求等相關之指令列隊之指令佇列46a與快取於後述之主機 30之主記憶體33之L2P資訊之標記資訊46b。例如,緩衝記憶體46包含SRAM或DRAM等,但亦可包含暫存器等。
ECC電路47,相對於應自緩衝記憶體46傳送並寫入至NAND快閃記憶體41之資料,進行ECC處理(錯誤校正處理)中之編碼處理,並將編碼結果附加於資料而輸出至NAND介面44。又,ECC電路47,相對於經由NAND介面44自NAND快閃記憶體41讀取之資料,進行ECC處理之解碼處理(使用錯誤校正符號之錯誤校正處理),並將錯誤校正之資料輸出至緩衝記憶體46。
DMA控制器45控制NAND介面44、ECC電路47、及緩衝記憶體46之間之資料傳送。再者,雖可使主機30之儲存介面34內之暫存器34a與緩衝記憶體46之間之資料傳送藉由DMA控制器45而進行,但在第3實施形態中,設為儲存介面49進行暫存器34a與緩衝記憶體46之間之資料傳送。
儲存介面49為用以將記憶體系統40與主機30連接之介面。儲存介面49具有控制主機30之儲存介面34內之暫存器34a與記憶體系統40之緩衝記憶體46之間之資料傳送之功能。
儲存控制器48之功能係藉由執行韌體而實現。儲存控制器48統一控制連接於匯流排60之記憶體系統40內之各構成元件。
記憶體系統40中,邏輯位址(LBA)與實體位址(NAND快閃記憶體41之記憶位置)之關係並非靜態地決定,而是於資料之寫入時動態地建立關聯。例如,於覆寫相同LBA之 資料之情形時,進行如下之處理。邏輯位址A1分配區塊尺寸之有效資料,作為記憶區域使用NAND快閃記憶體41之區塊B1。於自主機30接收到覆寫邏輯位址A1之區塊尺寸之更新資料之指令之情形,確保1個NAND快閃記憶體41之未使用之可用區塊(設為區塊B2),在該可用區塊中寫入自主機30接收到之資料。其後,使邏輯位址A1與區塊B2相關聯。其結果,區塊B2成為內部中包含有效資料之有效區塊。保存於區塊B1之資料變成無效,區塊B1成為可用區塊。
如此,在記憶體系統40中,即使為相同邏輯位址A1之資料,但作為實際之記錄區域使用之區塊會於每次寫入時變化。再者,在區塊尺寸之更新資料之寫入中,寫入目的地區塊雖必然會改變,但在未達區塊尺寸之更新資料寫入中,亦有更新資料被寫入相同區塊之情況。於例如未達區塊尺寸之頁面資料更新之情形時,在該區塊內,使相同邏輯位址之舊頁面資料無效化,將新寫入之最新之頁面資料作為有效頁面而加以管理。若區塊內之全部資料均無效化,則該區塊作為可用區塊而被釋出。
又,在記憶體系統40中執行區塊整理。在記憶體系統40中,於資料之刪除單位(區塊)與資料之管理單位不同之情形時,若進行NAND快閃記憶體41之重寫,則因無效(並非最新)之資料而使區塊成為清空狀態。若如此之清空狀態之區塊增加,則實質上可使用之區塊變少,從而無法有效利用NAND快閃記憶體41之記憶區域。因此,於例如 NAND快閃記憶體41之自由區域較特定之臨限值少之情形時,集中有效之最新之資料,執行重寫於不同區塊中之數據壓縮、垃圾回收等之區塊整理,確保空可用區塊。
又,記憶體系統40,在進行頁面內之一部分扇區之更新時等,讀取NAND快閃記憶體41之記憶資料,並加以變更,執行寫回至NAND快閃記憶體41之讀取.修改.寫入(RMW)。在RMW處理中,首先,將包含更新區之頁面或區塊自NAND快閃記憶體41讀取,並將讀取之資料與自主機30接收之寫入資料合併。而且,將該合併資料寫入NAND快閃記憶體41之新頁面或新區塊。
主機30包括:處理器31;主記憶體介面32;主記憶體33;儲存介面34;及連接該等之匯流排36。主記憶體介面32為用以將主記憶體33連接於匯流排36之介面。
主記憶體33為處理器31可直接進行存取之主記憶裝置,在第3實施形態中,使用DRAM(Dynamic random access memory:動態隨機存取記憶體)。主記憶體33,除作為處理器31使用之主記憶之功能外,用作L2P快取體33a、寫入快取體33b之儲存區域。又,主記憶體33亦用作作業區域33c。L2P快取體33a為儲存於記憶體系統40之NAND快閃記憶體41之L2P主體42之一部分或全部。記憶體系統40之儲存控制器48,使用快取於主記憶體33之L2P快取體33a與儲存於NAND快閃記憶體41之L2P主體42,執行對記憶於NAND快閃記憶體41之資料進行存取時之位址解析。
寫入快取體33b中,暫時保存有自主機30寫入記憶體系 統40之寫入資料。作業區域33c為將資料寫入NAND快閃記憶體41時之作業區域,具體而言,在執行上述區塊之整理或RMW等時使用。
儲存介面34為用以與記憶體系統40連接之介面。儲存介面34具有DMA控制器35與暫存器34a。DMA控制器35執行主記憶體33之L2P快取體33a、寫入快取體33b、作業區域33c與儲存介面34內之暫存器34a之間之資料傳送控制。
處理器31為控制主機30之動作之處理器,且執行自NAND快閃記憶體41載入至主記憶體33之OS43。OS43中包含控制記憶體系統40之設備驅動器43a。設備驅動器43a自OS43或OS43上之應用程式接收對記憶體系統40之寫入要求後,將寫入要求分離為寫入指令與寫入資料。指令中,包含識別指令之種類(讀取、寫入等)之域、指定開端LBA之域、指定資料長度之域等。而且,設備驅動器43a,將指令經由儲存介面34直接發送至記憶體系統40。另一方面,設備驅動器43a,將分離之資料暫時儲存於主記憶體33之寫入快取體33b。
圖10表示接收到寫入要求時之設備驅動器43a之動作程序之一例。設備驅動器43a,自OS43或OS43上之應用程式接收對記憶體系統40之寫入要求後,將寫入要求分離為指令與資料(步驟S100)。其次,設備驅動器43a,將指令經由儲存介面34直接發送至記憶體系統40。又,設備驅動器43a,將分離之資料暫時儲存於主記憶體33之寫入快取體33b(步驟S110)。關於快取於寫入快取體33b之資料,其後 藉由記憶體系統40之儲存控制器48之控制而傳送至記憶體系統40側。
圖11表示接收到寫入指令時之記憶體系統40側之動作程序之一例。自主機30發送之寫入指令由記憶體系統40接收(步驟S200)。接收之寫入指令,藉由儲存介面49設置於緩衝記憶體46之指令佇列46a(步驟S210)。儲存控制器48,成為設置於指令佇列46a之該寫入指令之執行順序,當可進行該寫入指令之執行時(步驟S220),判定包含於寫入指令之LBA是否為未寫入狀態(步驟S230)。此處,所謂LBA為未寫入狀態,係指對應該LBA之有效之資料未記憶於NAND快閃記憶體41之狀態。
LBA是否為未寫入狀態之判定,具體而言,例如以如下程序進行。即,儲存控制器48,判定包含於寫入指令之LBA是否符合標記資訊46b,於不符合之情形時,判定是否符合記憶於NAND快閃記憶體41之L2P主體42。再者,標記資訊46b為登錄有被快取於主機30之主記憶體33之L2P快取體33b中之L2P資訊之資料,藉由檢索標記資訊46b,可判定L2P快取體33b中是否儲存有對應LBA之L2P資訊。
於如此般藉由標記資訊46b及L2P主體42之檢索而判定為LBA不符合之情形(步驟S230:Yes)時,儲存控制器48對主機30之DMA控制器35,輸出用以自寫入快取體33b傳送對應寫入指令之寫入資料之資料傳送指令(步驟S240)。接收到該資料傳送指令之DMA控制器35,將記憶於主記憶體33之寫入快取體33b之寫入資料自主記憶體33之寫入快取體 33b傳送至儲存介面34之暫存器34a。當資料被設置於該暫存器34a時,該情況被自儲存介面34通知至儲存介面49,接收到該通知之儲存介面49,將設置於暫存器34a之寫入資料傳送至緩衝記憶體46(步驟S250)。
為使儲存控制器48能特定記憶於主記憶體33上之寫入快取體33b之寫入資料之記憶位置,亦可使寫入指令中含有於主記憶體33之記憶位置。又,藉由將寫入快取體33b設為FIFO(First In First Out,先進先出)構造或環狀緩衝器構造,儲存控制器48亦可特定寫入資料之記憶位置。即,相對於FIFO構造之寫入快取體33b,寫入資料以寫入指令產生之順序設置。寫入指令中包含資料長度,故儲存控制器48若識別出FIFO構造之寫入快取體33b之初始位址,則藉由每次接受寫入指令時對位址加上資料長度,而可把握寫入資料之主記憶體33上之記憶位置。
若藉由步驟S250之處理而使寫入資料設置於緩衝記憶體46,則儲存控制器48將寫入資料在ECC電路47中ECC編碼之後,經由NAND介面44寫入NAND快閃記憶體之可用區塊(步驟S350)。其後,以使由寫入指令指定之LBA對應於該可用區塊之方式,更新L2P快取體33a、標記資訊46b、進而L2P主體42(步驟S360)。再者,關於L2P主體42,亦可於每次對NAND快閃記憶體41寫入時不更新而定期更新。
L2P快取體33a之更新如下所述般進行。儲存控制器48於緩衝記憶體46生成新的L2P資訊之後,將其標記資訊追加於緩衝記憶體46之標記資訊46b,並將該情況通知給儲存 介面49,進而對主機30之DMA控制器35輸出用以傳送L2P資訊之傳送指令。藉此,儲存介面49將於緩衝記憶體46生成之新L2P資訊設置於儲存介面34之暫存器34a中。DMA控制器35,將設置於暫存器34a之L2P資訊傳送至主記憶體33,並將L2P資訊快取於L2P快取體33a。
另一方面,在步驟S230中,於包含於寫入指令之LBA符合標記資訊46b之情形(步驟S230:No)時,儲存控制器48對主機30之DMA控制器35輸出L2P資訊之傳送指令。藉此,DMA控制器35,將記憶於主記憶體33之L2P快取體33a之相符之L2P資訊自主記憶體33傳送至儲存介面34之暫存器34a。如上所述,當資料被設置於暫存器34a時,該情況被自儲存介面34通知至儲存介面49,接收到該通知之儲存介面49,將設置於暫存器34a之L2P資訊傳送至緩衝記憶體46。儲存控制器48使用傳送至緩衝記憶體46之L2P資訊進行位址解析。
其次,儲存控制器48將包含記憶於藉由位址解析而獲得之與LBA對應之實體位址之資料之頁面或區塊自NAND快閃記憶體41讀出並傳送至緩衝記憶體46(步驟S260)。然後,儲存控制器48對主機30之DMA控制器35輸出用以傳送記憶於寫入快取體33b之寫入資料之資料傳送指令(步驟S270)。接收到該資料傳送指令之DMA控制器35,將記憶於主記憶體33之寫入快取體33b之寫入資料自主記憶體33傳送至儲存介面34之暫存器34a。設置於該暫存器34a之資料,與上述相同,藉由儲存介面49傳送至緩衝記憶體46 (步驟S280)。
繼而,儲存控制器48,將自NAND快閃記憶體41讀出並寫入緩衝記憶體46之資料,與自寫入快取體33b傳送並寫入緩衝記憶體46之資料在緩衝記憶體46上合成(步驟S290)。該合成結束後,儲存控制器48將該情況通知給儲存介面49,進而對主機30之DMA控制器35輸出用以傳送資料之傳送指令(步驟S300)。藉此,儲存介面49將於緩衝記憶體46合成之資料設置於儲存介面34之暫存器34a中。DMA控制器35將設置於暫存器34a之合成資料傳送至主記憶體33,並將該合成資料記憶於作業區域33c(步驟S310)。
此後,儲存控制器48判定資料之合成處理是否結束(步驟S320),於資料合成處理未結束之情形,在資料合成處理結束之前重複步驟S260~S310之程序。如此,在主記憶體33之作業區域33c上盡可能多地生成區塊單位之資料。
當資料之合成處理結束時,儲存控制器48對主機30之DMA控制器35輸出用以傳送記憶於主記憶體33之作業區域33c之合成資料之資料傳送指令(步驟S330)。接收到該資料傳送指令之DMA控制器35,將記憶於主記憶體33之作業區域33c之合成資料自主記憶體33傳送至儲存介面34之暫存器34a。設置於該暫存器34a之資料,與上述相同,藉由儲存介面49傳送至緩衝記憶體46(步驟S340)。
當藉由步驟S340之處理而使得合成資料被設置於緩衝記憶體46時,儲存控制器48於將寫入指令於ECC電路47中進行ECC編碼之後,經由NAND介面44寫入NADN快閃記憶 體41之可用區塊(步驟S350)。其後,儲存控制器48以將LBA與該可用區塊建立對應,且使舊有效區塊無效化之方式更新L2P快取體33a、標記資訊46b、進而L2P主體42(步驟S360)。
再者,合成處理在自主記憶體33向緩衝記憶體46之1次之資料傳送中結束之情形時,可將於緩衝記憶體46合成之資料直接寫入NAND快閃記憶體41。
圖12顯示接收讀取指令時之記憶體系統40側之動作程序之一例。於經由儲存介面49而由記憶體系統40接收到讀取指令之情形時,接收到之讀取指令,藉由儲存介面49而設置於緩衝記憶體46之指令佇列46a(步驟S400)。若該讀取指令為可執行之狀態,則儲存控制器48對標記資訊46b檢索包含於讀取指令之LBA(步驟S410),並判定包含於讀取指令之LBA是否符合標記資訊46b(步驟S420)。於符合之情形(步驟S420:Yes)時,儲存控制器48對主機30之DMA控制器35輸出L2P傳送指令(步驟S430)。藉此,DMA控制器35,將記憶於主記憶體33之L2P快取體33a之相符之L2P資訊自主記憶體33傳送至儲存介面34之暫存器34a。設置於暫存器34a之L2P資訊,與上述相同,藉由儲存介面49傳送至緩衝記憶體46(步驟S440)。
儲存控制器48使用傳送至緩衝記憶體46之L2P資訊進行位址解析。即,儲存控制器48,自L2P資訊獲取對應LBA之實體位址,並使對應所獲取之實體位址之資料自NAND快閃記憶體41讀取。ECC電路47對經由NAND介面44而自 NAND快閃記憶體41讀取之資料,進行ECC處理中之解碼處理,且將錯誤校正後之資料輸出至緩衝記憶體46。此後,儲存控制器48,將記憶於緩衝記憶體46之讀取資料輸出至主機30。
另一方面,在步驟S420中,於包含於讀取指令之LBA不符合標記資訊46b之情形(步驟S420:No)時,儲存控制器48將記憶於NAND快閃記憶體41之L2P主體之一部分或全部讀取於緩衝記憶體46中並檢索(步驟S460)。於LBA在L2P主體不符之情形,結束讀取處理,將錯誤回復至主機30。儲存控制器48於LBA在L2P主體符合之情形(步驟S470),使用符合之L2P資訊進行位址解析。即,儲存控制器48,自L2P資訊獲取對應LBA之實體位址,並使對應所獲取之實體位址之資料自NAND快閃記憶體41讀取。ECC電路27對經由NAND介面44而自NAND快閃記憶體41讀取之資料,進行ECC處理之解碼處理,且將錯誤校正之資料輸出至緩衝記憶體46。此後,儲存控制器48,將記憶於緩衝記憶體46之讀取資料輸出至主機30(步驟S480)。
儲存控制器28,以將讀出於緩衝記憶體46之L2P主體42中之對應包含於讀取指令之LBA之L2P資訊、或對應包含讀取指令中所包含之LBA之周邊LBA之L2P資訊傳送至儲存介面34之暫存器34a之方式,對儲存介面49發出指令,並且對主機30之DMA控制器35輸出用以傳送L2P資訊之傳送指令。藉此,儲存介面49將緩衝於緩衝記憶體46之L2P資訊設置於儲存介面34之暫存器34a中。DMA控制器35, 將設置於暫存器34a之L2P資訊傳送至主記憶體33,並將該L2P資訊快取於L2P快取體中。隨之,儲存控制器48更新緩衝記憶體46之標記資訊46b。
再者,形成於主記憶體33上之作業區域33c,亦用作進行上述之區塊整理、RMW等時之作業區域。又,在第3實施形態中,在記憶體系統40側具有L2P快取體33a之標記資訊46b,但記憶體系統40,亦可不具有標記資訊46b而直接檢索L2P快取體33a。又,記憶體系統40之儲存介面49進行暫存器34a與緩衝記憶體46之間之資料傳送,但亦可在儲存控制器48中進行該資料傳送。又,亦可在主記憶體33與緩衝記憶體46之間直接進行資料傳送。
如此,在第3實施形態中,主機30之主記憶體33用作寫入快取體33b及L2P快取體33a之儲存區域。藉此,可謀求緩衝記憶體46之記憶體容量之減小。再者,第3實施形態中,於寫入要求時分離為寫入指令與寫入資料,將寫入指令記憶於主機30之主記憶體33,將寫入指令記憶於記憶體系統之緩衝記憶體46。而且,在記憶體系統40中,在寫入指令之執行時自主機30之主記憶體33讀出寫入資料,並對NAND快閃記憶體41進行寫入。藉此,與不分離寫入指令與寫入資料之情形相比,可減小主機30與記憶體系統40之間之介面帶寬。即,在不分離寫入指令與寫入資料之情形時,於寫入要求時寫入指令及寫入資料自主機傳送至記憶體系統,其次記憶體系統分離寫入指令與寫入資料,將分離之寫入資料傳送至主機30之主記憶體33。而且,記憶體 系統在寫入指令之執行時自主機之主記憶體讀出寫入資料,並對NAND快閃記憶體進行寫入。該情形時,相對於一次寫入要求,寫入資料於主機與記憶體系統之間之匯流排傳送3次,從而使介面帶寬增加。與此相對,根據本實施形態之構成,可解決所述問題。
再者,於記憶體系統40之起動時,亦可將記憶於NAND快閃記憶體41之L2P主體42載入至主機30之主記憶體33。又,在記憶體系統40側,設置L2P資訊之一次快取,在主機30之主記憶體23設置L2P資訊之二次快取,在一次快取、二次快取中不相符之情形時,亦可檢索記憶於NAND快閃記憶體31之L2P主體32。
又,在第3實施形態中,由於將記憶體系統40之儲存控制器48中使用之作業區域33c設置於主記憶體33上,故可減小記憶體系統40側之用於作業區域之緩衝器之容量及專有面積。
如以上說明所示,在第3實施形態中,不使主機30與記憶體系統40間之介面帶寬增大而可使記憶體系統40之緩衝記憶體46之容量減小。
雖說明瞭本發明之幾個實施形態,但該等實施形態,為作為例而提示者,並不意圖限定發明之範圍。該等新實施形態可以其他之各種形態實施,在不脫離發明之要旨之範圍中,可進行各種省略、取代、更改。該等實施形態或其變形,包含於發明之範圍或要旨中,且包含於申請專利範圍中記載之發明及其均等之範圍內。
10‧‧‧SSD裝置
11‧‧‧非揮發性記憶體
11-1‧‧‧Boot區域
11-2‧‧‧管理區域
12‧‧‧OS
13‧‧‧邏輯實體轉換表(L2P主體)
14‧‧‧TLB
15‧‧‧緩衝記憶體
16‧‧‧ECC部
17‧‧‧匯流排主介面
18‧‧‧DMA控制器
19‧‧‧SSD控制器
20‧‧‧主機裝置
21‧‧‧周邊介面
22‧‧‧主記憶體介面
23‧‧‧主記憶體
25‧‧‧處理器
27‧‧‧ECC電路
28‧‧‧儲存控制器
30‧‧‧主機
31‧‧‧處理器
32‧‧‧主記憶體介面(L2P主體)
33‧‧‧主記憶體
33a‧‧‧L2P快取體
33b‧‧‧寫入快取體
33c‧‧‧作業區域
34‧‧‧儲存介面
34a‧‧‧暫存器
35‧‧‧DMA控制器
36‧‧‧匯流排
40‧‧‧記憶體系統
41‧‧‧NAND快閃記憶體
42‧‧‧邏輯實體轉換表(L2P主體)
43‧‧‧OS
43a‧‧‧設備驅動器
44‧‧‧NAND介面
45‧‧‧DMA控制器
46‧‧‧緩衝記憶體
46a‧‧‧指令佇列
46b‧‧‧標記資訊
47‧‧‧ECC電路
48‧‧‧儲存控制器
49‧‧‧儲存介面
50‧‧‧匯流排(PCle)
60‧‧‧匯流排
B1‧‧‧區塊
BL0、BL1、BL2、BL3、BL4、BL5、BL6、BL7、BL8、BL9、BL10、BL11‧‧‧位元線方向
BLm-1、BLm-2、BLm-3、 BLm-4‧‧‧位元線
CG‧‧‧控制閘極電極
MC0、MC1、MC2、MC3、 MC4、MC5、MC6、MC7‧‧‧記憶胞
MU‧‧‧記憶胞單元
S1、S2‧‧‧選擇電晶體
SGD‧‧‧選擇閘極線
SGS‧‧‧選擇閘極線
SL‧‧‧源極線
WL0、WL1、WL2、WL3、WL4、WL5、WL6、WL7‧‧‧字元線
圖1係表示包含第1實施形態之半導體記憶裝置之資訊處理裝置之一例之方塊圖。
圖2係表示第1實施形態之非揮發性記憶體之區塊之一例之等價電路圖。
圖3係表示第1實施形態之啟動動作之一例之流程圖。
圖4係表示包含於第1實施形態之啟動動作之啟動執行動作之一例之流程圖。
圖5係表示第1實施形態之TLB動作之一例之流程圖。
圖6係表示第1實施形態之DMA動作之一例之流程圖。
圖7係表示第2實施形態之TLB動作之一例之流程圖。
圖8係表示第2實施形態之啟動執行動作之一例之流程圖。
圖9係表示第3實施形態之資訊處理裝置之構成之一例之方塊圖。
圖10係表示第3實施形態之寫入處理之資訊處理裝置之動作之一例之流程圖。
圖11係表示第3實施形態之寫入處理之半導體記憶裝置及資訊處理裝置之動作之一例之流程圖。
圖12係表示第3實施形態之讀取處理之半導體記憶裝置及資訊處理裝置之動作之一例之流程圖。
10‧‧‧SSD裝置
11‧‧‧非揮發性記憶體(NAND)
11-1‧‧‧Boot區域
11-2‧‧‧管理區域
12‧‧‧OS
13‧‧‧L2P主體
14‧‧‧TLB
15‧‧‧緩衝記憶體
16‧‧‧ECC部
17‧‧‧匯流排主介面
18‧‧‧DMA控制器
19‧‧‧SSD控制器
20‧‧‧主機裝置
21‧‧‧周邊介面
22‧‧‧主記憶體介面
23‧‧‧主記憶體(DRAM)
25‧‧‧處理器
50‧‧‧匯流排(PCle)

Claims (16)

  1. 一種資訊處理裝置,其係包括主機裝置與半導體記憶裝置者,且上述主機裝置包括主記憶體,上述半導體記憶裝置包括:儲存第1位址轉換資訊及資料之非揮發性半導體記憶體;儲存上述第1位址轉換資訊之一部分即第2位址轉換資訊之記憶部;及參照上述第2位址轉換資訊而對上述非揮發性半導體記憶體進行存取之控制部;且當上述第1位址轉換資訊之一部分或全部即第3位址轉換資訊儲存於上述主記憶體上,且上述控制部對上述非揮發性半導體記憶體進行存取時,若上述第2位址轉換資訊中未儲存有參照對象之位址轉換資訊之情形時,上述控制部使用上述第3位址轉換資訊。
  2. 如請求項1之資訊處理裝置,其中上述控制部於使用上述第3位址轉換資訊之情形時,參照自上述第3位址轉換資訊傳送至上述第2位址轉換資訊之參照對象之位址轉換資訊。
  3. 如請求項2之資訊處理裝置,其中上述半導體記憶裝置進而包括DMA控制器,上述DMA控制器自上述第3位址轉換資訊對上述第2位址轉換資訊傳送位址轉換資訊。
  4. 如請求項1之資訊處理裝置,其中上述主機裝置確保上述主記憶體上之區域,讀出儲存於上述非揮發性半導體記憶體之第1位址轉換資訊之一部分或全部,並在該區域中作為上述第3位址轉換資訊而加以儲存。
  5. 如請求項1之資訊處理裝置,其中上述控制部於上述第2位址轉換資訊中未儲存有參照對象之位址轉換資訊之情形時,對上述主機裝置進行中斷,並自儲存於上述主機裝置之上述主記憶體之上述第3位址轉換資訊獲取參照對象之位址轉換資訊。
  6. 如請求項1之資訊處理裝置,其中上述主機裝置當由上述控制部參照之位址轉換資訊未儲存於上述主記憶體上之情形時,自儲存於上述非揮發性半導體記憶體之第1位址轉換資訊獲取。
  7. 一種半導體記憶裝置,其包括:儲存第1位址轉換資訊及資料之非揮發性半導體記憶體;儲存上述第1位址轉換資訊之一部分即第2位址轉換資訊之記憶部;及參照上述第2位址轉換資訊而對上述非揮發性半導體記憶體進行存取之控制部;且於上述控制部對上述非揮發性半導體記憶體進行存取時,若上述第2位址轉換資訊中未儲存有參照對象之位址轉換資訊之情形時,上述控制部參照自半導體記憶裝置之外部取得之參照對象之第2位址轉換資訊,而對上 述非揮發性半導體記憶體進行存取。
  8. 如請求項7之半導體記憶裝置,其中進而包括DMA控制器,且上述DMA控制器自半導體記憶裝置之外部獲取參照對象之位址轉換資訊。
  9. 一種資訊處理裝置,其係包括主機裝置與半導體記憶裝置者,且上述主機裝置包括:主記憶體;及第1控制部,其將對於上述半導體記憶裝置之寫入要求分離為寫入指令與對應上述寫入指令之寫入資料,並將寫入指令輸出至上述半導體記憶裝置,且使寫入資料儲存於上述主記憶體;上述半導體記憶裝置包括:非揮發性半導體記憶體;及第2控制部,其接收自上述主機裝置傳送之上述寫入指令,在上述寫入指令之執行時,自上述主記憶體獲取對應上述寫入指令之寫入資料,並寫入上述非揮發性半導體記憶體。
  10. 如請求項9之資訊處理裝置,其中於上述非揮發性半導體記憶體中儲存第1位址轉換資訊,於上述主記憶體中儲存上述第1位址轉換資訊之一部分或全部即第2位址轉換資訊,且上述第2控制部於上述寫入指令之執行時,使用保持 於上述主記憶體之位址轉換資訊,將上述寫入指令中所含之邏輯位址轉換為實體位址。
  11. 如請求項10之資訊處理裝置,其中上述第2控制部接收自上述主機裝置傳送之讀取指令,於上述讀取指令之執行時,使用儲存於上述主記憶體之第2位址轉換資訊,將上述讀取指令中所含之邏輯位址轉換為實體位址。
  12. 如請求項9之資訊處理裝置,其中上述第2控制部於上述寫入指令執行時,將上述主記憶體使用作為作業區域。
  13. 如請求項10之資訊處理裝置,其中上述半導體記憶裝置包括緩衝記憶體;於上述緩衝記憶體中儲存上述主記憶體中所儲存之第2位址轉換資訊之標記資訊;上述第2控制部藉由參照上述標記資訊,而判定上述第2位址轉換資訊中是否儲存有參照對象之位址轉換資訊。
  14. 一種半導體記憶裝置之控制方法,該半導體記憶裝置包括非揮發性半導體記憶體,該控制方法係以指令佇列管理自半導體記憶裝置之外部接收之寫入指令,於上述寫入指令之執行時,自上述半導體記憶裝置之外部獲取對應上述寫入指令之寫入資料,且將上述寫入資料儲存於上述非揮發性半導體記憶體。
  15. 如請求項14之半導體記憶裝置之控制方法,其中將儲存於上述非揮發性半導體記憶體之位址轉換資訊之一部分 或全部輸出至上述半導體記憶裝置之外部;於上述寫入指令之執行時,參照配置於上述半導體記憶裝置之外部之位址轉換資訊,將上述寫入指令中所含之邏輯位址轉換為實體位址。
  16. 如請求項15之半導體記憶裝置之控制方法,其中將輸出至上述半導體記憶裝置之外部之位址轉換資訊作為標記資訊而管理,藉由參照上述標記資訊,而判定是否於上述半導體記憶裝置之外部儲存有參照對象之位址轉換資訊。
TW101126675A 2011-08-01 2012-07-24 An information processing device, a semiconductor memory device, and a semiconductor memory device TWI521343B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011168368A JP2013033337A (ja) 2011-08-01 2011-08-01 情報処理装置及び半導体記憶装置
JP2011252001A JP5762930B2 (ja) 2011-11-17 2011-11-17 情報処理装置および半導体記憶装置

Publications (2)

Publication Number Publication Date
TW201314450A TW201314450A (zh) 2013-04-01
TWI521343B true TWI521343B (zh) 2016-02-11

Family

ID=47613589

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101126675A TWI521343B (zh) 2011-08-01 2012-07-24 An information processing device, a semiconductor memory device, and a semiconductor memory device

Country Status (3)

Country Link
US (7) US9268706B2 (zh)
CN (1) CN102915208B (zh)
TW (1) TWI521343B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111610931A (zh) * 2019-02-26 2020-09-01 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
TWI726381B (zh) * 2019-02-26 2021-05-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US11055004B2 (en) 2019-02-26 2021-07-06 Silicon Motion, Inc. Data storage device and control method for non-volatile memory
US11182286B2 (en) 2019-02-26 2021-11-23 Silicon Motion, Inc. Data storage device and control method for non-volatile memory

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
TWI521343B (zh) 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
TWI459201B (zh) 2012-04-27 2014-11-01 Toshiba Kk Information processing device
WO2014049798A1 (ja) * 2012-09-27 2014-04-03 富士通株式会社 変換装置、変換方法、および情報処理システム
US9348537B2 (en) * 2013-09-10 2016-05-24 Qualcomm Incorporated Ascertaining command completion in flash memories
US20150074334A1 (en) * 2013-09-10 2015-03-12 Kabushiki Kaisha Toshiba Information processing device
US9519440B2 (en) * 2013-09-10 2016-12-13 Qualcomm Incorporated Providing command queuing in embedded memories
CN103631534B (zh) * 2013-11-12 2017-01-11 北京兆芯电子科技有限公司 数据存储系统以及其管理方法
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
US9971522B2 (en) * 2014-07-21 2018-05-15 Toshiba Memory Corporation Memory system and method
CN105320621A (zh) * 2014-08-04 2016-02-10 株式会社东芝 存储器系统以及信息处理装置
US9569303B2 (en) 2014-08-08 2017-02-14 Kabushiki Kaisha Toshiba Information processing apparatus
KR102330391B1 (ko) * 2014-09-11 2021-11-24 삼성전자주식회사 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 가비지 컬렉션 방법
WO2016103851A1 (ja) * 2014-12-22 2016-06-30 ソニー株式会社 メモリコントローラ、情報処理システム、および、メモリ拡張領域管理方法
US9880952B2 (en) * 2015-01-15 2018-01-30 Toshiba Memory Corporation Bus access controller, hardware engine, controller, and memory system
CN105808444B (zh) * 2015-01-19 2019-01-01 东芝存储器株式会社 存储装置及非易失性存储器的控制方法
US10331552B2 (en) 2015-03-10 2019-06-25 Toshiba Memory Corporation Storage device and memory system
US20170031601A1 (en) * 2015-07-30 2017-02-02 Kabushiki Kaisha Toshiba Memory system and storage system
US9880939B2 (en) * 2015-09-04 2018-01-30 Toshiba Memory Corporation Memory system and information processing system
US10459846B2 (en) * 2015-09-10 2019-10-29 Toshiba Memory Corporation Memory system which uses a host memory
US10452556B2 (en) * 2015-09-11 2019-10-22 Toshiba Memory Corporation Memory device and information processing device
US10635596B2 (en) * 2015-10-02 2020-04-28 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for accessing memory having access units of different sizes
CN105867839B (zh) * 2016-03-21 2019-11-12 深圳忆联信息系统有限公司 一种数据处理方法、存储设备及电子设备
US10126962B2 (en) 2016-04-22 2018-11-13 Microsoft Technology Licensing, Llc Adapted block translation table (BTT)
KR20180031412A (ko) * 2016-09-20 2018-03-28 삼성전자주식회사 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들
KR20180041037A (ko) * 2016-10-13 2018-04-23 삼성전자주식회사 멀티 코어 솔리드 스테이트 드라이브의 공유 분산 메모리 관리 방법
WO2018100363A1 (en) 2016-11-29 2018-06-07 Arm Limited Memory address translation
US10963393B1 (en) 2017-01-13 2021-03-30 Lightbits Labs Ltd. Storage system and a method for application aware processing
KR20180123265A (ko) * 2017-05-08 2018-11-16 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP2019057178A (ja) * 2017-09-21 2019-04-11 東芝メモリ株式会社 メモリシステムおよび制御方法
US10866904B2 (en) 2017-11-22 2020-12-15 Arm Limited Data storage for multiple data types
US10929308B2 (en) * 2017-11-22 2021-02-23 Arm Limited Performing maintenance operations
US10831673B2 (en) 2017-11-22 2020-11-10 Arm Limited Memory address translation
US10698819B2 (en) * 2017-12-14 2020-06-30 SK Hynix Inc. Memory system and operating method thereof
US10997066B2 (en) * 2018-02-20 2021-05-04 Samsung Electronics Co., Ltd. Storage devices that support cached physical address verification and methods of operating same
KR20200068259A (ko) * 2018-12-05 2020-06-15 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
US11404097B2 (en) * 2018-12-11 2022-08-02 SK Hynix Inc. Memory system and operating method of the memory system
CN111611178B (zh) 2019-02-26 2023-05-26 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
US11237953B2 (en) * 2019-05-21 2022-02-01 Micron Technology, Inc. Host device physical address encoding
JP2021002108A (ja) * 2019-06-20 2021-01-07 株式会社日立製作所 ストレージシステム
KR20210016184A (ko) 2019-08-01 2021-02-15 삼성전자주식회사 스토리지 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
JP2021033845A (ja) 2019-08-28 2021-03-01 キオクシア株式会社 メモリシステムおよび制御方法
CN113946278A (zh) * 2020-07-16 2022-01-18 慧荣科技股份有限公司 主机效能加速模式的数据读取方法及装置
KR20220067797A (ko) * 2020-11-18 2022-05-25 에스케이하이닉스 주식회사 메모리 컨트롤러
TWI798680B (zh) * 2021-04-14 2023-04-11 群聯電子股份有限公司 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元
CN113190468B (zh) * 2021-04-21 2022-11-25 山东英信计算机技术有限公司 一种l2p表压缩方法、装置、设备及可读存储介质
CN112965670B (zh) * 2021-04-22 2023-08-01 群联电子股份有限公司 主机存储器缓冲区管理方法、存储装置与控制电路单元
US11841767B2 (en) * 2021-11-24 2023-12-12 Samsung Electronics Co., Ltd. Controller controlling non-volatile memory device, storage device including the same, and operating method thereof
US20230315661A1 (en) * 2022-04-01 2023-10-05 Texas Instruments Incorporated Methods and apparatus to configure an integrated circuit using a direct memory access controller

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2679715B2 (ja) 1989-06-30 1997-11-19 富士通株式会社 データ転送方法
US5890220A (en) * 1991-02-05 1999-03-30 Hitachi, Ltd. Address conversion apparatus accessible to both I/O devices and processor and having a reduced number of index buffers
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH10105347A (ja) 1996-10-02 1998-04-24 Hitachi Ltd ディスクアレイ制御システム
US5956473A (en) * 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
US5745418A (en) * 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
JP3739888B2 (ja) 1997-03-27 2006-01-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
JP2000047891A (ja) 1998-05-29 2000-02-18 Toshiba Corp 計算機システムにおける入出力制御装置及び同システムにおける入出力制御方法並びに同方法がプログラムされ記憶された記憶媒体
JP2000003328A (ja) 1998-06-15 2000-01-07 Nec Ibaraki Ltd 入出力制御装置のアドレス参照システム
JP2001195195A (ja) 2000-01-14 2001-07-19 Matsushita Electric Ind Co Ltd データ変換装置、データ逆変換装置、及び補助データファイル生成装置
US7509391B1 (en) * 1999-11-23 2009-03-24 Texas Instruments Incorporated Unified memory management system for multi processor heterogeneous architecture
US6609176B1 (en) * 1999-12-27 2003-08-19 Kabushiki Kaisha Toshiba Disk control system and data rearrangement method
US6728800B1 (en) * 2000-06-28 2004-04-27 Intel Corporation Efficient performance based scheduling mechanism for handling multiple TLB operations
JP2002189572A (ja) 2000-12-20 2002-07-05 Toshiba Corp ディスク記憶装置、同記憶装置を持つ情報処理機器、及び書き込み失敗時処理方法
JP3592640B2 (ja) 2001-01-09 2004-11-24 株式会社東芝 ディスク制御システムおよびディスク制御方法
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
JP3526452B2 (ja) * 2001-12-18 2004-05-17 株式会社東芝 ディスクアレイ装置及びデータバックアップ方法
US8112574B2 (en) 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
CN1277213C (zh) * 2004-12-31 2006-09-27 大唐微电子技术有限公司 一种闪存文件系统管理方法
US7516267B2 (en) * 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
US7752417B2 (en) * 2006-06-05 2010-07-06 Oracle America, Inc. Dynamic selection of memory virtualization techniques
JP2008021290A (ja) 2006-06-15 2008-01-31 Hitachi Ulsi Systems Co Ltd ストレージ装置、ストレージコントローラ、及び情報処理装置
US7631147B2 (en) * 2006-12-06 2009-12-08 Microsoft Corporation Efficient flushing of translation lookaside buffers in a multiprocessor environment
KR100823171B1 (ko) 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US7793036B2 (en) * 2007-05-30 2010-09-07 Intel Corporation Method and arrangements for utilizing NAND memory
JP4412676B2 (ja) * 2007-05-30 2010-02-10 インターナショナル・ビジネス・マシーンズ・コーポレーション メインメモリに書き込むデータをキャッシュする技術
JP4746598B2 (ja) * 2007-09-28 2011-08-10 株式会社東芝 半導体記憶装置
US8275971B2 (en) * 2008-08-27 2012-09-25 International Business Machines Corporation Method and apparatus for managing software controlled cache of translating the physical memory access of a virtual machine between different levels of translation entities
KR101038167B1 (ko) * 2008-09-09 2011-05-31 가부시끼가이샤 도시바 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법
TWM349334U (en) 2008-09-26 2009-01-21 Hai Gen Entpr Co Ltd Removing device for document clip
US8725927B2 (en) * 2008-10-15 2014-05-13 Micron Technology, Inc. Hot memory block table in a solid state storage device
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US20110258372A1 (en) 2009-07-29 2011-10-20 Panasonic Corporation Memory device, host device, and memory system
KR20110046243A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 사용자 장치 및 그것의 맵핑 데이터 관리 방법
US8386679B2 (en) * 2011-04-12 2013-02-26 International Business Machines Corporation Dynamic allocation of a direct memory address window
TWI521343B (zh) * 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111610931A (zh) * 2019-02-26 2020-09-01 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
TWI726381B (zh) * 2019-02-26 2021-05-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US11055004B2 (en) 2019-02-26 2021-07-06 Silicon Motion, Inc. Data storage device and control method for non-volatile memory
US11126558B2 (en) 2019-02-26 2021-09-21 Silicon Motion, Inc. Data storage device and control method for non-volatile memory
US11182286B2 (en) 2019-02-26 2021-11-23 Silicon Motion, Inc. Data storage device and control method for non-volatile memory
CN111610931B (zh) * 2019-02-26 2023-05-02 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法

Also Published As

Publication number Publication date
US11537291B2 (en) 2022-12-27
US9870155B2 (en) 2018-01-16
CN102915208B (zh) 2016-04-20
US20230132439A1 (en) 2023-05-04
US9268706B2 (en) 2016-02-23
US20130191609A1 (en) 2013-07-25
US20190294331A1 (en) 2019-09-26
US11868618B2 (en) 2024-01-09
US10331356B2 (en) 2019-06-25
US20180095663A1 (en) 2018-04-05
US20210200434A1 (en) 2021-07-01
US9542117B2 (en) 2017-01-10
US20170060418A1 (en) 2017-03-02
US20160098226A1 (en) 2016-04-07
TW201314450A (zh) 2013-04-01
CN102915208A (zh) 2013-02-06
US10949092B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
TWI521343B (zh) An information processing device, a semiconductor memory device, and a semiconductor memory device
JP5762930B2 (ja) 情報処理装置および半導体記憶装置
US10684795B2 (en) Storage device and storage control method
US10162759B2 (en) Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same
TWI459201B (zh) Information processing device
US10503653B2 (en) Memory system
JP6021759B2 (ja) メモリシステムおよび情報処理装置
JP2012084127A (ja) 半導体装置
KR20100094241A (ko) 예비 블록을 포함하지 않는 불휘발성 메모리 장치
JP2008146253A (ja) 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
JP2019160215A (ja) メモリシステムおよび制御方法
US20200310987A1 (en) Memory system, memory controller and operating method thereof
JP2013033337A (ja) 情報処理装置及び半導体記憶装置
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US9329994B2 (en) Memory system
US11237984B2 (en) Memory system, memory controller and operating method thereof
JP5614337B2 (ja) メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器
US20140281157A1 (en) Memory system, memory controller and method
US11966327B2 (en) Memory system
JP4273038B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリのデータ転送方法
JP2022146531A (ja) メモリシステム
JP2023127937A (ja) メモリシステム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees