TWI475561B - Memory system - Google Patents

Memory system Download PDF

Info

Publication number
TWI475561B
TWI475561B TW099129131A TW99129131A TWI475561B TW I475561 B TWI475561 B TW I475561B TW 099129131 A TW099129131 A TW 099129131A TW 99129131 A TW99129131 A TW 99129131A TW I475561 B TWI475561 B TW I475561B
Authority
TW
Taiwan
Prior art keywords
block
free
free block
unit
blocks
Prior art date
Application number
TW099129131A
Other languages
English (en)
Other versions
TW201133487A (en
Inventor
Hirokuni Yano
Hiroshi Yao
Hajime Yamazaki
Tatsuya Sumiyoshi
Yoshimi Niisato
Takahiro Totsuka
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
Application filed by Toshiba Kk filed Critical Toshiba Kk
Publication of TW201133487A publication Critical patent/TW201133487A/zh
Application granted granted Critical
Publication of TWI475561B publication Critical patent/TWI475561B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

記憶體系統
本實施形態通常係關於一種包含非揮發性半導體記憶體之記憶體系統。
相關申請案之參照
本申請案享有2010年03月17日提出申請之日本專利申請案第2010-061181號之優先權的利益,該日本專利申請案之全部內容以引用之方式併入本申請案中。
包含NAND(非與)型快閃記憶體之記憶體系統係藉由並行驅動複數個晶片而提高傳輸性能。
作為NAND型快閃記憶體所追求之性能之一,有主機所指定之邏輯位址為基本連續之寫入即順序寫入(sequential write)(逐次寫入)時的資料傳輸性能(以下稱為順序寫入性能)。為了提高順序寫入性能,同時驅動複數個晶片等儘可能增加寫入並行數之事變得重要。
本發明提供一種可防止寫入並行度降低之記憶體系統。
根據實施形態,塊選擇部使用可並行動作之塊之集合單位,將非揮發性半導體記憶體所包含之自由塊分類至複數個自由塊管理列表。第1自由塊選擇部於通常優先度下獲取自由塊時,從存在自由塊數多於第1閾值之自由塊管理列表中獲取自由塊。第2自由塊選擇部於高優先度下獲取自由塊時,從存在自由塊數多於第1閾值之自由塊管理列表及存在自由塊數不多於第1閾值之自由塊管理列表中獲取自由塊。
以下參照隨附圖式,對本發明之實施形態之記憶體系統詳細地進行說明。再者,非藉由該等之實施形態對本發明進行限定。
NAND型快閃記憶體中,有採用將主機設備所指定之資料之邏輯位址、與於NAND型快閃記憶體上之實際的記憶區域即實體位址之關係,於資料更新時,動態地建立關係之邏輯/實體地址轉換方式。該邏輯/實體地址轉換方式中,將空閒塊分類為複數個組,以可並行地寫入之組合而從各組中選擇空閒塊實現並行處理,但根據主機設備所指定之資料之位址,有對特定組之塊的選擇集中,或選擇集中之組之塊用盡,而致使無法以可並行地寫入之組合進行空閒塊之選擇,並行度降低之可能性。
[第1實施形態]
圖1係表示作為記憶體系統之一例的SSD(Solid State Drive,固態驅動器)100之構成例之方塊圖。SSD100包括:作為SSD控制器之驅動控制電路4,作為非揮發性半導體記憶體之NAND型快閃記憶體(以下簡稱為NAND記憶體)10,作為緩衝記憶體、作業用記憶體區域等而發揮功能並由例如揮發性半導體記憶體構成之RAM(Random Access Memory,隨機存取記憶體)20,及ATA介面(ATA I/F(Advanced Technology Attachment Interface,先進技術附件介面))2等記憶體連接介面等。SSD100經由ATA I/F2與個人電腦或者CPU(central processing unit,中央處理單元)核心等主機裝置(以下簡稱主機)1連接,並作為主機1之外部記憶體發揮功能。
NAND記憶體10記憶藉由主機1所指定之用戶資料,或將RAM20所管理之管理資訊記憶為備份用。NAND記憶體10具有複數個記憶體單元以矩陣狀排列之記憶體單元陣列,每個記憶體單元可使用上層分頁及下層分頁進行多值記憶。NAND記憶體10包含複數個記憶體晶片,各記憶體晶片由資料抹除單位即實體塊複數個排列而構成。又,NAND記憶體10中每一實體分頁進行資料之寫入及資料之讀出。實體塊包含複數個實體分頁。圖1中,NAND記憶體10經由4通道(4ch:ch0~ch3)與驅動控制電路4內部之NAND控制器113並行連接,並可使4個通道並行動作要素10a~10d並行地動作。通道數不限於4個,可採用任意之通道數。
RAM20係作為資料傳輸用、管理資訊記錄用或者作業區域用之記憶部而使用。具體而言,作為資料傳輸用之記憶部(資料傳輸用緩衝器),用於將有來自主機1之寫入要求之資料於寫入NAND記憶體10之前暫時保存,或有來自主機1之讀出要求之資料從NAND記憶體10讀出後暫時保存。又,作為管理資訊記錄用之記憶部,係為了儲存用於管理NAND記憶體10所記憶之資料之儲存位置等的管理資訊(NAND記憶體10所記憶之各種管理表啟動時等展開之管理表,及該等管理表之變更差分資訊即日誌等)而使用。
驅動控制電路4於主機1與NAND記憶體10之間經由RAM20進行資料傳輸控制,並且控制SSD100內之各構成要素。
驅動控制電路4包括資料存取用匯流排101、及電路控制用匯流排102。電路控制用匯流排102上連接有控制驅動控制電路4整體之處理器104。電路控制用匯流排102經由ROM控制器106,連接有儲存有啟動NAND記憶體10所記憶之各管理程式(FW:Firmware,韌體)之啟動用程式之啟動ROM105。
ATA介面控制器(ATA控制器)111、NAND控制器113、及RAM控制器114係與資料存取用匯流排101及電路控制用匯流排102雙方連接。ATA控制器111經由ATA介面2與主機1之間進行指令(寫入、讀取、清空等)及資料等之收發。資料存取用匯流排101經由SRAM控制器116,連接有作為資料作業區域及韌體展開區域而使用之SRAM115。NAND記憶體10所記憶之韌體,於啟動時,藉由啟動ROM105所記憶之啟動用程式傳輸至SRAM115。
RAM控制器114執行處理器104與RAM20之介面處理等。NAND控制器113執行處理器104與NAND記憶體10之介面處理、NAND記憶體10-RAM20間之資料傳輸控制、及錯誤更正碼之編碼/解碼處理等。
圖2係表示NAND控制器113與NAND記憶體10之連接態樣。NAND記憶體10,如前所述,包含複數個通道並行動作要素10a~10d。各通道並行動作要素10a~10d包含可記憶庫交錯之複數個記憶庫(圖2中為4個記憶庫,即Bank0~Bank3),各通道並行動作要素10a~10d內之各個記憶庫包含複數個記憶體晶片(圖2中為2個記憶體晶片,即Chip0、Chip1)。
如圖2所示,NAND控制器113具有複數個通道,各通道中,以4個晶片賦能信號(CE,Chip Enable)針對每一個記憶庫個別地控制共享I/O控制信號(Ctrl I/O)之複數個記憶體晶片。又,跨越複數個通道共享4個就緒/忙碌信號(Ready/Busy,RyBy),以共享就緒/忙碌信號(RyBy)之各通道之記憶體晶片同時動作之方式進行控制。將共享就緒/忙碌信號(RyBy)之記憶體晶片群稱作記憶庫,各個記憶庫可獨立進行寫入/讀出/抹除動作。
圖3係表示NAND控制器113之內部構成例。NAND控制器113中,為了使各通道獨立進行動作,對於每一通道,包括DMA控制器(DMAC(Direct Memory Access Contorller,直接記憶體存取控制器))50、錯誤更正電路(ECC,Error Correcting Circuit)51、及進行指令發送之NAND介面(NAND I/F)52。各NAND I/F52上連接有4個記憶庫之晶片賦能信號CE(CE0~CE3),根據存取之記憶庫而控制CE信號(CE0~CE3)。又,為了使4個記憶庫獨立地動作,包含4個針對每一個記憶庫共同連接之監視RyBy信號並管理記憶庫狀態之記憶庫控制器(BANK-C)53。BANK-C53具有將對於各自之記憶庫之要求進行列隊之功能,於有對各記憶庫之要求之情形時確保通道之使用權,執行對自己所管理之記憶庫的讀出/寫入/抹除要求。仲裁控制電路54監視NAND I/F52及BANK-C53,根據特定之規則仲裁各記憶庫之通道使用權。
圖4係表示NAND記憶體10之更詳細之內部構成。圖4中,通道數表示為(M+1)個,記憶庫數表示為N+1個,晶片數表示為K+1個。如圖4所示,各記憶體晶片(chip0~chipK)例如分割為分別包含複數個實體塊之平面0(plane0)、平面1(plane1)2個區域(District)。平面0及平面1包含相互獨立之周邊電路(例如,列解碼器、行解碼器、分頁緩衝器、及資料快取等),藉由使用倍速模式,可同時進行抹除/寫入/讀出。即,同一平面內之複數個實體塊彼此雖不可並行地存取,然而屬於不同平面之實體塊彼此可並行地存取。記憶體晶片內之平面數不限於2個,可為任意個。又,1個記憶體晶片,如圖4中放大所示,包含複數個實體塊(圖4中為X+1個實體塊)。
如此,NAND記憶體10中,可進行複數個通道之並行動作、複數個記憶庫之並行動作、及使用複數個平面之倍速模式之並行動作,且於通道數為4、記憶庫數為4、平面數為2之情形時,可使最多32個實體塊進行並行動作。
圖5係表示NAND記憶體10及RAM20內所形成之功能塊。構成於RAM20上之寫入緩衝器(WB,Write Buffer)21及讀取緩衝器(RB,Read Buffer)22介於主機1與NAND記憶體10之間。WB21暫時保存來自主機1之Write(寫入)資料,RB22暫時保存來自NAND記憶體10之Read(讀取)資料。為了減少寫入時對於NAND記憶體10之抹除量,NAND記憶體10內之塊藉由處理器104,被分配至稱為中間儲存區域(VS)12及主儲存區域(MS)11之各管理區域。VS12將來自WB21之資料以「較小之單位」即叢集單位進行管理。MS11將來自WB21、及VS12之資料以「較大之單位」即磁軌單位進行管理。
繼而,針對圖5之各構成要素之具體功能構成進行說明。主機1對於SSD100進行Read或者Write時,經由ATA介面2輸入作為邏輯位址之LBA(Logical Block Addressing,邏輯位址存取)。LBA如圖6所示,為對扇區(尺寸:512B)附以自0開始之串列序號之邏輯位址。於本實施形態中,作為圖5之各構成要素即WB21、RB22、VS12、MS11之管理單位,定義自LBA之下層第(s+1)位元起上層位元列所構成之叢集位址,及自LBA之下層第(s+t+1)位元起上層位元列所構成之磁軌位址。
磁軌與邏輯塊之尺寸可為相同,磁軌尺寸亦可小於邏輯塊之尺寸。所謂邏輯塊,是組合複數個NAND記憶體10之晶片上之實體塊而構成之假想塊,本實施形態中,邏輯塊為集合最大之並行通道數(該情形時,如圖1所示最多4ch)之1個實體塊之單位。又,為了有效利用記憶庫交錯,構成邏輯塊之實體塊係自屬於同一記憶庫之實體塊中選擇。叢集尺寸為扇區尺寸以上,例如,叢集尺寸設定為小於邏輯分頁尺寸。邏輯分頁亦同樣地為集合最大之並行通道數之1個實體分頁之單位。磁軌尺寸為叢集尺寸之2以上的自然數倍。
NAND記憶體10中,如前所述,可進行複數個記憶庫之並行動作、及使用複數個平面之倍速模式之並行動作。因此,於考慮邏輯塊單位之情形時,NAND記憶體10中,藉由進行記憶庫之並行動作及使用平面之並行動作,可使複數個邏輯塊並行動作。
‧讀取緩衝器(RB)22
RB22係對來自主機1之Read要求,用於暫時保存來自NAND記憶體10(VS12、MS11)之Read資料之區域,亦可使其具有快取記憶體功能。向主機1之資料傳輸基本由RB22進行。於WB21中有最新之資料之情形時,由WB21向主機1進行資料傳輸。
‧寫入緩衝器(WB)21
WB21係對來自主機1之Write要求,用於暫時保存來自主機1之Write資料之區域,亦可使其具有快取記憶體功能。WB21上之資料,以叢集單位進行管理,寫入與有效資料之管理以扇區單位進行。於WB21之資源不足之情形時,將WB21之記憶資料清除至NAND記憶體10。於進行該清除時,WB21上之有效叢集較多之磁軌(高密度磁軌)清除至MS11,WB21上之有效叢集較少之磁軌(低密度磁軌)清除至VS12。所謂高密度資料,係於特定邏輯位址範圍內有效資料多於特定比例之資料;所謂低密度資料,係於特定邏輯位址範圍內有效資料少於特定比例之資料。
‧主儲存區域(MS)11
MS11以磁軌單位進行資料之管理,且儲存有大部分之用戶資料。WB21上之有效叢集較多之磁軌(高密度磁軌:有效叢集為特定閾值α以上之磁軌),係自WB12直接寫入至MS11。除此之外,MS11中輸入有VS12未管理完之資料。針對與輸入至MS11之磁軌為同一之LBA之磁軌,係於MS11之邏輯塊內無效化,釋放該邏輯塊。針對屬於與輸入至MS11之磁軌為同一之LBA之磁軌之叢集,於VS12內無效化,邏輯塊內之所有叢集成為無效之邏輯塊係加以釋放。
‧中間儲存區域(VS)12
VS12為以叢集單位管理資料之例如FIFO(First In First Out,先進先出)構成之緩衝器,輸入係以集合複數個叢集之邏輯分頁單位進行。VS12中寫入有WB21上有效叢集較少之磁軌(低密度磁軌:有效叢集未滿特定閾值α之磁軌)。VS12例如成為邏輯塊以資料之寫入順序排列之FIFO結構。於存在於VS12之叢集為同一之LBA之叢集輸入至VS12之情形時,僅使VS12內之叢集無效化即可,不伴有改寫動作。針對與輸入至VS12之叢集為同一之LBA之叢集,於邏輯塊內無效化,邏輯塊內之所有叢集成為無效之邏輯塊係加以釋放。於VS12之容量為飽和之情形時,VS12內之叢集合並至磁軌,並清除至MS11。
如此,NAND記憶體10之儲存區域分為MS11與VS12管理,LBA位址為基本連續之寫入,即順序寫入之資料,係作為高密度資料而主要寫入至MS11,LBA位址為不連續之隨機之寫入,即隨機寫入之資料,係作為低密度資料而主要寫入至VS12。
此處,第1實施形態中,將邏輯塊區別為自由塊FB及現用塊AB而管理。所謂自由塊FB,係內部不包含有效資料之未分配用途之邏輯塊。所謂現用塊AB係內部包含有效資料之已分配用途(例如,已分配至VS12、MS11)之邏輯塊。作為與主機1之間使用之LBA之邏輯位址、與表示實際之NAND記憶體10上之記憶位置之實體位址的關係,係於塊單位加以管理。SSD100中,邏輯位址與實體位址之關係並非為預先靜態地決定,而是採用於資料寫入時動態地建立關係之邏輯/實體地址轉換方式。
例如,覆寫相同LBA位址上之資料之情形時,進行如下之塊交換。假設邏輯位址A1中保存有效資料,作為記憶區域,係使用塊B1。於自主機1接收覆寫邏輯位址A1之資料(設為尺寸與塊相同)之指令之情形時,係確保1個自由塊FB(設為塊B2),並將自主機1接收之資料寫入至該自由塊FB。此後,邏輯位址A1與塊B2建立關係。結果,塊B2成為現用塊AB,因塊B1所保存之資料成為無效,故而塊B1成為自由塊FB。如此,SSD100中,即便是相同邏輯位址A1之資料,作為實際之記錄區域而使用之塊於每次寫入時發生變化。
自由塊FB藉由FB管理列表進行管理。FB管理列表例如係以成為自由塊FB之時間順序或塊之抹除次數順序而排序之FIFO形式的列表,列表之各項中保持有塊識別碼。由現用塊AB成為自由塊FB之自由塊FB被追加至FB管理列表中,於自由塊FB加以使用時,自FB管理列表取出。於FB管理列表中,執行使所有邏輯塊之抹除次數、抹除間隔大致相等之損耗平衡處理。
繼而,針對本實施形態之要部進行說明。本實施形態中,將VS12與MS11中之自由塊FB的分配管理進行分離,優先將自由塊FB分配至MS11中。
首先,針對比較例進行說明。NAND記憶體10因寫入速度較慢,故而SSD100中,如前所述,可進行通道、平面、及記憶庫之並行動作,從而提高傳輸性能。順序寫入時確保邏輯塊之寫入並行數之最簡單方法為,採用固定以與LBA之順序並行寫入之記憶庫、平面之順序的LBA固定分配方式,使一直以最大並行數進行寫入。然而,該方式中,若反覆對特定之LBA進行寫入,則存在特定平面之抹除次數增加,從而產品壽命縮短之可能性。
對此,考慮LBA與記憶庫/晶片/平面之分配為動態地可變之LBA動態塊分配方式。於該方式中,如圖7所示,生成可並行寫入之平面之組(以平面單位構成之可並行寫入之複數個FB管理列表),每當有寫入要求前來時,以循環法將並行地寫入之塊分配至新資料。空白之四邊形表示自由塊FB,***「0」之四邊形為儲存LBA位址「0」之資料之塊。圖7中表示於主機中,4個線程進行順序寫入之狀態,以第1線程之LBA位址為「0、1、2、3、...」,第2線程之LBA位址為「8、9、10、11、...」,第3線程之LBA位址為「16、17、18、19、...」,第4線程之LBA位址為「24、25、26、27、...」,SSD100中以如圖示之順序自主機1輸入有資料。圖7中,依資料之輸入順序藉由循環法選擇平面,LBA位址分散至各平面。
如此,於使用循環法方式之情形時,通常之使用中,LBA位址隨機地分散至各平面,然而根據寫入方式,有每一平面之塊使用數不平衡之情形。塊之使用數不平衡,則無法由特定之平面確保塊,寫入之並行數不平衡,從而傳輸性能降低。
圖8表示即便於使用LBA動態塊分配方式之情形時,根據特定之LBA方式,每一平面之塊使用數不平衡之情形。首先,最初對整個平面進行順序寫入(整面順序寫入)。於使用簡單之循環法之情形時,如圖8(a)所示,與LBA固定分配方式為同樣之映射。繼而,假設發生僅對存在於特定平面(該情形時為平面0)之塊進行更新之寫入。即,平面0之塊中,儲存有8之倍數之邏輯位址「0、8、16、24、...」的資料,並發生對於8之倍數之邏輯位址「0、8、16、24、...」之更新寫入。LBA動態塊分配方式中,如前所述,即便為相同邏輯位址之資料,作為實際之記錄區域而使用之塊於每次寫入時發生變化,故如圖8(b)所示,更新寫入之資料分散地寫入各平面之塊中,與此同時,整面順序寫入時寫入資料之平面0之塊作為自由塊FB而逐漸釋放。最終,自由塊FB僅集中至平面0內,平面0以外之平面中,不發生塊的釋放(現用塊之自由塊化),因而自由塊用盡。如此,即便於使用LBA動態塊分配方式之情形時,根據寫入方式,亦存在特定之平面之使用數變多,寫入並行度下降之可能性。
如前所述,LBA位址為基本連續之寫入即順序寫入之資料係作為高密度資料主要寫入至MS11,LBA位址為不連續之隨機的寫入即隨機寫入之資料係作為低密度資料主要寫入至VS12。進行順序寫入之MS11中,為了提高順序寫入性能,要求增加寫入並行數,因此亦考慮採用LBA固定分配方式,然而該方式中,如前所述,若反覆對特定之LBA進行寫入,則存在特定平面之抹除次數增加,產品壽命縮短之可能性。
根據以上之情況,於本實施形態中,VS12與MS11雙方中採用動態塊分配方式,將VS12與MS11中之自由塊FB之分配管理進行分離,藉由優先將自由塊分配至MS11中,防止順序寫入時塊並行度之降低。
圖9係表示第1實施形態之要部構成之功能方塊圖。控制器5包括資料讀出部60、資料寫入部61、及資料管理部62,該等之功能要素由上述之韌體進行實現。控制器5亦可由控制器5中應實現之功能作為電路而編入之SoC(System-on-a-chip,系統單晶片)構成。控制器5上經由匯流排而連接有上述ATA控制器111、寫入緩衝器21、及NAND記憶體10。
資料管理部62對作為與主機1之間所使用之LBA的邏輯位址、與表示實際之NAND記憶體10上之記憶位置的實體位址之邏輯/實體關係進行管理。邏輯位址與實體位址之關係非為預先靜態地決定,而採用於資料之寫入時動態建立關係之上述之邏輯/實體地址轉換方式。
若資料讀出部60自ATA控制器111接收到讀取指令之通知,則使資料管理部62對指令中所指定之位址所對應之塊進行檢索,並自檢索到之塊中將資料讀出至讀取緩衝器(RB)22(參照圖5)。資料讀出部60以將之後指令中所指定之範圍的資料發送至主機1之方式控制ATA控制器111。
若資料寫入部61自ATA控制器111接收到寫入指令之通知,則以確保寫入緩衝器(WB)21之空閒區域,自主機1接收資料之方式控制ATA控制器111。資料寫入部61於此後寫入緩衝器(WB)21中儲存有充足之寫入資料時,必須進行資料清除,對於塊管理部70要求確保資料寫入所必要之數量的自由塊FB,並將資料寫入至以塊管理部70所確保之塊。此後,資料寫入部61對資料管理部62,要求登錄位址與塊之對應關係。
塊管理部70包括自由塊選擇部71、自由塊管理部80、及現用塊管理部90,並進行塊之管理、資料寫入時所使用之自由塊FB之選擇、及現用塊AB之選擇。
自由塊管理部80係管理自由塊FB者,包含用於對每一平面管理自由塊FB之複數個自由塊列表(FB列表)。FB列表作為上述管理資訊,記憶於RAM20而使用。各自由塊藉由自身所屬之平面所對應之自由塊列表進行管理。作為FB列表之詳細形態,有將包含各自由塊FB所對應之塊識別碼之塊資訊作為節點而聯結之列表形態。將塊聯結至自由塊列表之順序,可為簡單之FIFO,亦能以塊之抹除次數而排序之順序而聯結。
現用塊管理部90係管理現用塊AB者,包含對每一平面管理現用塊AB之複數個現用塊列表(AB列表)。AB列表作為上述之管理資訊,記憶於RAM20而使用。各現用塊藉由自身所屬之平面所對應之現用塊列表進行管理。作為AB列表之詳細形態,有將包含各現用塊AB所對應之塊識別碼之塊資訊作為節點而聯結之列表形態。將塊聯結至AB列表之順序,為簡單之FIFO,以確保之順序進行排序。只要可判斷所確保之順序,則可為雙向列表之結構等,並不限於FIFO等之結構。
自由塊選擇部71為了確保由資料寫入部61所要求之自由塊數β,而從自由塊管理部80所管理之複數個FB列表中選擇要求數β之自由塊FB。自由塊選擇部71選擇可並行寫入的自由塊FB之組時,依照特定之順序規則選擇FB列表,並從所選擇之FB列表中獲取自由塊FB。
本實施形態中,邏輯塊由,例如,來自各通道之具有同一記憶庫序號/晶片序號/平面序號的實體塊集合而構成。即,本實施形態中,關於構成邏輯塊之實體塊之組合方法,設置下述(1)至(4)之制約。
(1)分別選擇各通道之1個實體塊。
(2)各通道之實體塊係自屬於相同晶片序號之實體塊中選擇。
(3)各通道之實體塊係自屬於相同平面序號之實體塊中選擇。
(4)選擇同一記憶庫內之實體塊。
因此,邏輯塊可針對每一記憶庫、每一晶片、每一平面進行分類。又,如圖10所示,FB列表80-0~80-7分別作為具有同一記憶庫序號、晶片序號、平面序號之邏輯塊的列表而構成。
順序規則較理想的是若依該順序選擇FB列表,則可獲取可並行寫入之組的自由塊FB之順序。
例如,於記憶庫數為4個,各記憶庫內之晶片數為1個,各晶片內之平面數為2個之情形時(晶片數整體為4個),整體存在有8個平面,於該等平面間可全部進行並行寫入。該情形時,若自各平面分別選擇1個自由塊,則可進行以最大8並行之寫入。該情形時,各平面所對應之自由塊列表附以自0至7之識別碼,並生成如{0,1,2,3,4,5,6,7}之長度為8之順序規則。若重複該順序規則,則無論自哪一位置開始選擇自由塊列表,均可選擇最大為8之並行寫入之自由塊。例如,即便自位置4開始之情形時,以{4,5,6,7,0,1,2,3}選擇自由塊列表即可。
於可並行寫入之平面之組中存在制約之情形時,使不可並行寫入之平面於順序規則之中儘可能隔開距離而配置即可。例如,上述相同晶片數整體為4個,然而記憶庫數為2個,各記憶庫內之晶片數為2個,各晶片內之平面數為2個之情形時,即,考慮各晶片以各2個組構成2個記憶庫,屬於同一記憶庫之晶片存在不可並行寫入之制約之情形。該情形時,雖然存在整體為8個之平面,然而最大並行度為4。此時,將各平面記述為「B(記憶庫序號)C(記憶庫內晶片序號)P(晶片內平面序號)」,如圖10所示,生成如{B0C0P0,B0C0P1,B1C0P0,B1C0P1,B0C1P0,B0C1P1,B1C1P0,B1C1P1}之順序規則即可。
於圖10中,屬於同一記憶庫之晶片不可進行並行寫入,因而屬於FB列表80-0~80-3之4個自由塊FB可並行動作。又,屬於FB列表80-4~80-7之4個自由塊FB亦可並行動作。屬於FB列表80-2~80-5之4個自由塊FB亦可並行動作。屬於FB列表80-6~80-1之4個自由塊FB亦可並行動作。然而,屬於FB列表80-0~80-1之自由塊FB與屬於FB列表80-4~80-5之自由塊FB不可並行動作,屬於FB列表80-2~80-3之自由塊FB與屬於FB列表80-6~80-7之自由塊FB不可並行動作,此等於順序規則之中隔開距離而配置。
又,於圖10中,亦表示有現用塊列表90-0~90-7。自各平面之FB列表80-1~80-7獲取之自由塊之塊識別碼聯結至同一平面之AB列表90-1~90-7,並登錄為現用塊AB。
自由塊選擇部71保持表示於順序規則上選擇哪一序號之資訊。該資訊表示依順序規則作成FB列表之順序列之情形時,順序列上之位置,故稱為位置資訊P。又,自由塊選擇部71包括:依順序規則與位置資訊P選擇FB列表之列表選擇部,及於自由塊選擇後更新位置資訊P之位置資訊更新部。列表選擇部及位置資訊更新部,根據優先度之不同,包含高優先處理部與通常優先處理部之2組。
本實施形態中,為了確保寫入時之傳輸能力,將自主機接收之寫入資料暫時儲存至寫入緩衝器21,待儲存有充足之量之資料後,並行寫入至NAND記憶體10之複數個自由塊。向NAND記憶體10之寫入時,使用根據成為來自寫入緩衝器21之清除對象(清空對象)之資料的粒度(高密度、低密度),變更寫入目的地(MS11或VS12)之方式。關於該種方式,於日本專利特願2009-535161號中詳細地進行了說明。例如,順序寫入中,設有連續之(高密度)之大量資料,以塊單位集合,確保儘可能大的並行度而並行地寫入至MS11。
備用塊數資訊95保持各FB列表中作為備用塊而確保之自由塊數。設該確保之自由塊數為R。該備用塊僅可於高優先列表選擇部72中使用,通常優先列表選擇部74不可使用。
高優先列表選擇部72於有來自資料寫入部61的高優先度之指定時進行動作,為了確保由資料寫入部61所要求之自由塊數β,進行FB列表之選擇。高優先列表選擇部72於自FB列表中選擇自由塊FB時,可使用各FB列表中所確保之備用塊。高優先位置資訊更新部73於高優先列表選擇部72進行動作時,進行順序規則之位置資訊P之更新。
通常優先列表選擇部74於有來自資料寫入部61的通常優先度之指定時進行動作,為了確保由資料寫入部61所要求之自由塊數β,進行FB列表之選擇。通常優先列表選擇部74於自FB列表中選擇自由塊FB時,不可使用各FB列表中所確保之備用塊。通常優先位置資訊更新部75於通常優先列表選擇部74進行動作時,進行順序規則之位置資訊P之更新。再者,雖設置高優先位置資訊更新部73及通常優先位置資訊更新部75,並使高優先及通常優先時之位置資訊P之更新獨立地進行,然而亦可使高優先及通常優先時的位置資訊P之更新共同化。
繼而,依照圖11,對寫入處理之整體程序之概要進行說明。ATA控制器111於自主機1接收到指令之情形時(步驟S100),判斷所接收到之指令是否為寫入指令(步驟S110)。ATA控制器111於為寫入指令以外之指令之情形時,執行與所接收到之指令相應之處理(步驟S120)。
ATA控制器111於所接收到的指令為寫入指令之情形時,執行以下之處理。首先,ATA控制器111通知控制器5接收寫入指令(步驟S130)。根據該通知,控制器5之資料寫入部61於寫入緩衝器21內確保接收寫入資料之區域,並以向經確保之區域接收資料之方式對ATA控制器111發出指示(步驟S140)。繼而,ATA控制器111自主機1接收寫入資料,並將所接收之資料儲存至寫入緩衝器21上之所指示的區域(步驟S150)。繼而,資料寫入部61藉由對寫入緩衝器21之儲存資料與特定之清空閾值進行比較,判斷寫入緩衝器21上是否儲存有充足之資料(步驟S160),於寫入緩衝器21上未儲存有充足之資料之情形時,程序轉移至步驟S100,返回等待指令之狀態。
於寫入緩衝器21儲存有清空閾值以上之資料之情形時,資料寫入部61對自寫入緩衝器21向NAND記憶體10之資料清除所必需之自由塊數β(要求數β)進行計算(步驟S170)。資料寫入部61判定清除資料之粒度(密度),於資料之粒度較細之情形時(低密度之情形時),指定通常優先度,於資料之粒度較粗之情形時(高密度之情形時),指定高優先度,連同必要之自由塊數β,對塊管理部70要求自由塊FB(步驟S180)。
塊管理部70選擇要求數β以下之可並行寫入之自由塊之組,並將所選擇之自由塊通知至資料寫入部61(步驟S190)。塊管理部中,以自FB列表所選擇之自由塊FB為現用塊AB,並聯結至所對應之同一平面之AB列表(步驟S200)。針對該步驟S190中之處理,於後詳述。
資料寫入部61以將寫入緩衝器21上之資料並行地寫入至由塊管理部70所通知之自由塊之方式而要求RAM控制器114及NAND控制器113(參照圖1)。RAM控制器114執行自寫入緩衝器21之資料讀出,NAND控制器113將自寫入緩衝器21讀出之資料以經確保之並行度寫入至NAND記憶體10(步驟S210)。
資料寫入部61以對寫入至NAND記憶體10之資料之邏輯位址與塊的實體位址之對應關係進行登錄之方式要求資料管理部62。資料管理部62對進行資料寫入之邏輯位址與塊的邏輯/實體關係進行登錄(步驟S220),進而將先前與經進行資料寫入之邏輯位址相對應之現用塊AB自AB列表刪除,並通知塊管理部將其作為自由塊FB管理(步驟S230)。塊管理部70特別指定由資料管理部62所通知之自由塊所屬之平面所對應之FB列表,並將所通知之自由塊聯結至特別指定之FB列表。
資料寫入部61判斷於步驟S190中所選擇之可並行寫入之自由塊的個數是否達到要求數β(步驟S240)。換言之,資料寫入部61判斷是否殘留有存在自寫入緩衝器21向NAND記憶體10清除之必要的資料。可並行寫入之自由塊之個數若未達到要求數β,則返回到步驟S170,並再次計算要求數β。若達到要求數β,則自寫入緩衝器21向NAND記憶體10之資料清除處理結束。
繼而,依照圖12,對圖11之步驟S180中指定通常優先度時之塊管理部70之動作程序進行說明。再者,將來自資料寫入部61之自由塊要求數設為β(要求數β)。
通常優先列表選擇部74自通常優先位置資訊更新部75獲取位置資訊P(步驟S300)。該位置資訊P為上一次通常優先下之自由塊選擇中之順序規則之結束位置的下一位置。通常優先列表選擇部74對自所獲取之位置資訊P開始之情形時之最大並行度m進行計算(步驟S310)。例如,於如圖10所示之FB列表結構中,如前所述,於自FB列表80-0開始自由塊FB之獲取之情形時,可選擇FB列表80-0至FB列表80-3之4個FB列表,故最大並行度為4,然而自FB列表80-1開始自由塊FB之獲取之情形時,僅可選擇FB列表80-1至FB列表80-3之3個FB列表,最大並行度為3。繼而,通常優先列表選擇部74設塊獲取數nb=0,列表選擇次數i=0(步驟S320、S330)。
通常優先列表選擇部74判定位置資訊P所對應之FB列表(P)是否殘留有作為備用塊數資訊95而設定之R個以上之自由塊FB(步驟S340)。該判定中,於自由塊為未滿R個之情形時,通常優先列表選擇部74不進行自該FB列表(P)之自由塊FB之獲取,並使程序轉移至步驟S370。步驟S340之判定中,FB列表(P)中存在R個以上之自由塊之情形時,通常優先列表選擇部74自FB列表(P)獲取自由塊FB(步驟S350)。繼而,通常優先列表選擇部74使塊獲取數nb+1,並使列表選擇次數i+1(步驟S360、S370)。
繼而,通常優先列表選擇部74使位置資訊P+1,從而使位置資訊P更新至下一位置(步驟S380)。於位置資訊P越過順序規則之最終位置之情形時,設定位置資訊P為順序規則之開端。繼而,通常優先列表選擇部74判定塊獲取數nb是否達到要求數β(步驟S390),於nb=β之情形時,結束處理。又,通常優先列表選擇部74判定列表選擇次數i是否達到經計算之最大並行度m(步驟S395),於i=m之情形時,結束處理。如此,直至nb=β或者i=m成立為止,一邊更新位置資訊P,一邊自FB列表(P)獲取自由塊。
如此,通常優先列表選擇部74自FB列表選擇自由塊FB時,不可使用各FB列表中所確保之備用塊。
繼而,依照圖13,對圖11之步驟S180中指定為高優先度時,塊管理部70之動作程序進行說明。將來自資料寫入部61之自由塊要求數設為β(要求數β)。
高優先列表選擇部72自高優先位置資訊更新部73獲取位置資訊P(步驟S400)。該位置資訊P為上一次高優先下之自由塊選擇中之順序規則之結束位置的下一位置。高優先列表選擇部72對自所獲取之位置資訊P開始之情形時之最大並行度m進行計算(步驟S410)。繼而,高優先列表選擇部72設塊獲取數nb=0,設列表選擇次數i=0(步驟S420、S430)。
高優先列表選擇部72判定位置資訊P所對應之FB列表(P)中是否存在自由塊FB(步驟S440)。該判定中,於不存在自由塊之情形時,高優先列表選擇部72不進行自該FB列表(P)之自由塊FB值獲取,而使程序轉移至步驟S470。步驟S440之判定中,FB列表(P)中存在自由塊之情形時,通常優先列表選擇部74自FB列表(P)獲取自由塊FB(步驟S450)。繼而,高優先列表選擇部72使塊獲取數nb+1,並使列表選擇次數i+1(步驟S460、S470)。
繼而,高優先列表選擇部72使位置資訊P+1,從而使位置資訊P更新至下一位置(步驟S480)。於位置資訊P越過順序規則之最終位置之情形時,設定位置資訊P為順序規則之開端。繼而,高優先列表選擇部72判定塊獲取數nb是否達到要求數β(步驟S490),於nb=β之情形時,結束處理。又,高優先列表選擇部72判定列表選擇次數i是否達到經計算之最大並行度m(步驟S495),於i=m之情形時,結束處理。如此,直至nb=β或者i=m成立為止,一邊更新位置資訊P,一邊自FB列表(P)獲取自由塊。
如此,高優先列表選擇部72於自FB列表選擇自由塊FB時,可使用各FB列表中所確保之備用塊。
再者,於步驟S310、S410中計算最大並行度時,β>m時,亦可控制成使位置資訊P例如為順序規則之開端之平面之FB列表所對應之位置等,變更位置資訊P,儘可能確保最大並行度。
又,上述中,當選擇FB列表時,係採用簡單之循環法方式,然而,亦可藉由例如以各記憶庫/晶片/平面中所發生之壞塊BB之個數(BB數)所逆對應之值(例如BB數之反數),或各記憶庫/晶片/平面中可利用之邏輯塊數(自由塊FB之數與現用塊AB之數之總和),或屬於各FB列表之塊的個數等進行加權之循環法方式,選擇獲取自由塊FB之列表。所謂壞塊BB,係錯誤較多等不可作為記憶區域使用之實體塊,例如,將抹除動作未正常地結束之實體塊登錄為壞塊BB。關於如此藉由加權之循環法方式而選擇獲取自由塊FB之列表之方式,於日本專利特願2009-30299號中詳細地進行了說明。
如此,於第1實施形態中,採用LBA動態塊分配方式之自由塊列表管理,於各自由塊列表中,預先殘留特定個數R之備用塊,使該等備用塊於對NAND記憶體10進行高密度資料之寫入之情形時使用,於進行低密度資料之寫入之情形時不使用,從而即便發生如僅更新存在於特定平面之塊之特殊的寫入,進行高密度磁軌之寫入之順序寫入時的寫入並行度亦不會降低,高速存取成為可能。
再者,亦可使備用塊數之設定值R對應各自由塊列表內之壞塊BB之個數等而不同。
[第2實施形態]
繼而,針對本發明之第2實施形態進行說明。即便使用第1實施形態中之手法亦不可避免各FB列表間的自由塊數之不平衡。對此,第2實施形態中,於平面間(FB列表間)之塊的使用數已不平衡之情形時,利用未自主機1進行存取之時間,自塊的使用數較多之平面,將資料轉移至較少之平面,使於各平面中,塊的使用數成為固定量以下。
圖14係表示第2實施形態之要部構成之功能方塊圖。圖14中,對圖9所示之控制器5追加了塊移動部78。其他之構成要素為與圖9所示者相同,省略重複之說明。
塊移動部78從自由塊變少之平面所對應之現用塊列表中釋放現用塊AB,並進行將經釋放之塊補充至FB列表之處理。塊移動部78具有記錄對哪一個自由塊列表進行處理之列表位置資訊79。
於第2實施形態中,寫入處理之整體程序與使用圖11進行說明之程序相同,省略重複之說明。以下,依照圖15,對塊移動部78中資料移動處理之程序進行說明。
塊移動部78首先設列表位置資訊79之位置資訊P=0(步驟S500)。塊移動部78判定位置資訊P所對應之FB列表(P)中是否殘留有(R-1)個以上之自由塊(步驟S510)。該判定中,於FB列表(P)中未殘留有(R-1)個以上之自由塊之情形時,塊移動部78自相同位置資訊P之AB列表(P)獲取記憶有最早之資料的現用塊AB(步驟S520)。進而,塊移動部78將所獲取之現用塊AB自AB列表(P)中刪除(步驟S530)。
繼而,塊移動部78將所獲取之現用塊AB的記憶資料讀出至RAM20之作業區域(步驟S540)。繼而,塊移動部78指定通常優先度,並對自由塊選擇部71要求1個自由塊。通常優先列表選擇部74依照圖12之程序選擇1個自由塊FB。通常優先列表選擇部74中之FB列表選擇中,如前所述,不選擇未殘留有R個以上之自由塊之FB列表,因此通常優先列表選擇部74自與步驟S510之判斷為NO之FB列表不同之FB列表中選擇自由塊。通常優先列表選擇部74將所選擇之自由塊之塊識別碼通知至塊移動部78(步驟S550)。
塊移動部78對於塊識別碼被通知之自由塊,寫入讀出至RAM20之作業區域之現用塊AB的記憶資料(步驟S560)。繼而,塊移動部78以步驟S520中所選擇之位置資訊P之現用塊AB作為自由塊,並聯結至具有相同位置資訊P之FB列表(P)(步驟S570)。進而,塊移動部78將步驟S550中所獲取之自由塊FB聯結至該自由塊所屬之平面所對應之FB列表(步驟S580)。繼而,塊移動部78再度判定相同位置資訊P所對應之FB列表(P)中是否殘留有(R-1)個以上之自由塊(步驟S510),於FB列表(P)中未殘留有(R-1)個以上之自由塊之情形時,重複步驟S520~S580之處理直至步驟S510之判斷成為YES為止。
於步驟S510中,判定殘留有(R-1)個以上之自由塊之情形時,塊移動部78使位置資訊P+1等,使位置資訊P更新至下一位置(步驟S590)。繼而,塊移動部78判定位置資訊P是否為FB列表之最終位置(步驟S600),重複上述處理直至位置資訊P成為FB列表之最終位置。位置資訊P成為FB列表之最終位置之情形時,結束處理。
再者,步驟S520中之現用塊之選擇時,可預想所選擇之最早之現用塊AB剛剛寫入之塊,即自資料被寫入之時刻至目前為止之期間未滿特定之時間之情形時,亦可不選擇該現用塊AB,而自具有其他位置資訊P之AB列表中選擇現用塊。即,對於可預想短時間內現用塊被釋放之AB列表,即便不進行列表間之資料移動處理亦可期待自由塊增加,因此於步驟520中之現用塊之選擇時,亦可中止對該現用塊列表之選擇,並使程序轉移至步驟S590。預想可以如下之方法進行。
針對每一個現用塊列表,使其具有每次對該活動列表更新時+1增量之序列計數C,於將資料寫入至自由塊並聯結至現用塊列表時,使該塊與該時刻之計數C建立聯結。以下,對某一塊b所建立聯結之計數C記述為BC(b)。計數C與現用塊列表中之最早之塊AB之BC(AB)之差越小,越可判定現用塊AB為最近寫入者,例如,依序使用某一平面所有塊之情形時,該差成為與現用塊列表之長度為相等之關係。
因此,步驟S520中,當選擇了最早之現用塊AB時,對BC(AB)與現用塊列表之計數C進行比較,於差為閾值以下之情形時,判定該現用塊AB為最近寫入,跳過自該現用塊列表之現用塊之釋放,並移至步驟S590。作為閾值,亦可使用對現用塊列表之長度乘以固定係數所得之值等。
如此,第2實施形態中,藉由將自由塊數少於閾值(R-1)之自由塊管理列表所對應之現用塊列表的現用塊之資料,移動至自存在數閾值為R以上之自由塊之自由塊管理列表中所選擇之自由塊,自由塊補充至自由塊較少之自由塊列表中,可避免各自由塊列表間之自由塊之不平衡,並可確保各自由塊列表中總是有R個以上之備用塊,即便於動態塊分配方式中,順序寫入性能之降低亦難以發生。
再者,圖15之步驟S510中,雖使用(R-1)個作為閾值,然而閾值亦可為未滿R之其他數值。該情形時,各自由塊列表中可一直確保之備用塊之數亦成為少於R。
再者,塊移動部78中之資料移動處理,可利用未自主機1存取之時間進行,亦可於塊移動部78檢測到於任一平面所對應之FB列表中自由塊數少於(R-1)個之情形時,優先於其他處理而進行。
再者,上述第1、第2實施形態中,NAND記憶體10構成為可藉由複數個通道進行通道並行動作,亦能以單一通道連接NAND記憶體10與驅動控制電路4。又,上述第1、第2實施形態中,雖藉由複數個實體塊構成邏輯塊,且以邏輯塊單位管理自由塊列表,但亦可不構成邏輯塊而以實體塊單位管理自由塊列表。
又,上述第1、第2實施形態中,使用通道、記憶庫、晶片、及平面將自由塊列表分類為複數個,然而,亦可根據非揮發性半導體記憶體之規格,使用通道、記憶庫、晶片、及平面中之1個以上將自由塊列表分類為複數個。又,自由塊列表之分類單位不限於通道、記憶庫、晶片、及平面,只要是可使塊並行動作之塊的集合單位,亦可使用其他任意之集合單位。
又,上述第1、第2實施形態中,根據資料為高密度資料或者低密度資料而進行高優先、通常優先之自由塊選擇,然而亦可基於其他選擇基準來進行高優先、通常優先之切換選擇。例如,只要主機1於寫入時可附加指定順序寫入或者隨機寫入之資訊,則亦可於指定為順序寫入之情形時判定為高優先,指定為隨機寫入之情形時判定為通常優先,從而進行切換選擇。
又,例如,針對管理表之變更差分資訊,即日誌等預先分配之尺寸較小之資料,亦可判斷為通常優先。又,於為了進入待命狀態而將資料自寫入緩衝器21撤回至NAND10之情形等需要較高之資料傳輸速度之情形時,亦可將所有之資料判斷為高優先。又,於上述第1、第2實施形態中,雖以高優先及通常優先2個優先度而進行自由塊列表之管理,但亦可將優先度分為3個以上進行管理。
[第3實施形態]
圖16係表示搭載有SSD100之個人電腦1200之一例之立體圖。個人電腦1200包括本體1201、及顯示單元1202。顯示單元1202包括顯示器外框1203、及收容於該顯示器外框1203中之顯示裝置1204。
本體1201包括殼體1205、鍵盤1206、及指向裝置,即觸控板1207。殼體1205內部收容有主電路基板、ODD(Optical Disk Device,光碟設備)單元、卡片槽、及SSD100等。
卡片槽係與殼體1205之周壁鄰接而設置。周壁上設置有與卡片槽對向之開口部1208。用戶可通過該開口部1208而自殼體1205之外部從卡片槽中插拔追加設備。
SSD100作為先前之HDD之替代品,能以安裝至個人電腦1200內部之狀態而使用,亦能以***至個人電腦1200所包含之卡片槽之狀態而作為追加設備使用。
圖17表示搭載有SSD之個人電腦之系統構成例。個人電腦200包括:CPU1301、北橋1302、主記憶體1303、視頻控制器1304、音頻控制器1305、南橋1309、BIOS-ROM1310、SSD100、ODD單元1311、嵌入式控制器/鍵盤控制器IC(EC/KBC)1312、及網路控制器1313等。
CPU1301為用於控制個人電腦1200之動作而設置之處理器,執行自SSD100載入至主記憶體1303之作業系統(OS)。進而,ODD單元1311可對被裝入之光碟執行讀出處理及寫入處理之至少1個處理之情形時,CPU1301執行該等處理。
又,CPU1301亦執行BIOS-ROM1310中所儲存之系統BIOS(Basic Input Output System,基本輸入輸出系統)。再者,系統BIOS係用於個人電腦1200內之硬體控制之程式。
北橋1302係連接CPU1301之區域匯流排與南橋1309之間之橋接設備。北橋1302中亦內置有對主記憶體1303進行存取控制之記憶體控制器。
又,北橋1302亦具有經由AGP(Accelerated Graphics Port,加速圖形埠)匯流排1314等執行與視頻控制器1304之通信,及與音頻控制器1305之通信之功能。
主記憶體1303暫時記憶程式或資料,作為CPU1301之工作區而發揮功能。主記憶體1303包含例如RAM。
視頻控制器1304為控制作為個人電腦1200之顯示器而使用之顯示單元1202之視頻播放控制器。
音頻控制器1305為控制個人電腦1200之揚聲器1306之音頻播放控制器。
南橋1309控制LPC(Low Pin Count,低引腳數)匯流排上之各設備,及PCI(Peripheral Component Interconnect,周邊組件互連)匯流排1315上之各設備。又,南橋1309經由ATA介面控制儲存各種軟體及資料之記憶裝置即SSD100。
個人電腦1200以扇區單位進行對SSD100之存取。經由ATA介面,將寫入指令、讀出指令、及快取清空指令等輸入至SSD100。
又,南橋1309具有用於對BIOS-ROM1310、及ODD單元1311進行存取控制之功能。
EC/KBC1312為用於電源管理之嵌入式控制器、與用於控制鍵盤(KB)1206及觸控板1207之鍵盤控制器集成而成之單晶片微電腦。
該EC/KBC1312具有根據由用戶對電源按鈕之操作而使個人電腦1200之電源ON/OFF之功能。網路控制器1313為執行與例如互聯網等外部網路之通信之通信裝置。
本文中雖描述了特定之實施形態,然而該等之實施形態僅係作為例子而表述,非限定本發明之範圍者。事實上,本發明之實施形態可有多樣之形式變化。並且,於不脫離本發明之精神時,實施形態之形式可有多樣之減少、增加、及更改。此等變更之形式,於不脫離本發明之精神與範圍之情形時,包含於後述之申請專利範圍之請求項及其等效形式中。
1...主機
2...ATA介面
4...驅動控制電路
5...控制器
10...NAND記憶體
10a~10d...通道並行動作要素
11...主儲存區域
12...中間儲存區域
20...RAM
21...Write緩衝
22...Read緩衝
50...DMAC
51...ECC
52...NAND I/F
53...記憶庫控制器
54...仲裁控制電路
60...資料讀出部
61...資料寫入部
62...資料管理部
70...塊管理部
71...自由塊選擇部
72...高優先列表選擇部
73...高優先位置資訊更新部
74...通常優先列表選擇部
75...通常優先位置資訊更新部
78...塊移動部
79...列表位置資訊
80...自由塊管理部
80-1~80-7...FB列表
90...現用塊管理部
90-1~90-7...AB列表
95...備用塊數資訊
100...SSD
101...資料存取用匯流排
102...電路控制用匯流排
104...處理器
105...啟動ROM
106...ROM控制器
111...ATA控制器
113...NAND控制器
114...RAM控制器
115...SRAM
116...SRAM控制器
1200...個人電腦
1201...本體
1202...顯示單元
1203...顯示器外框
1204...顯示裝置
1205...殼體
1206...鍵盤
1207...觸控板
1208...開口部
1301...CPU
1302...北橋
1303...主記憶體
1304...視頻控制器
1305...音頻控制器
1306...揚聲器
1309...南橋
1310...BIOS-ROM
1311...ODD單元
1312...EC/KBC
1313...網路控制器
1314...LPC匯流排
1315...PCI匯流排
Bank0~Bank3...記憶庫
CE0-3...晶片賦能信號
Ch0~Ch3...通道
Chip0、Chip1...晶片
Ctrl I/O...I/O控制信號
Plane0、Plane1...平面
S100~S240、S300~S395、S400~S495、S500~S600...步驟
RyBy0-3...就緒/忙碌信號
圖1係表示SSD之構成例之方塊圖。
圖2係表示NAND控制器與NAND記憶體之連接態樣之圖。
圖3係表示NAND控制器之內部構成例之方塊圖。
圖4係表示NAND記憶體之實體構成之圖。
圖5係表示NAND記憶體及RAM內所形成之功能構成之方塊圖。
圖6係表示LBA邏輯位址之圖。
圖7係概念性地表示比較例之動態塊分配方式之圖。
圖8(a)、(b)係概念性地表示比較例之動態塊分配方式之圖。
圖9係表示第1實施形態之要部構成之功能方塊圖。
圖10係表示自由塊列表及現用塊列表之圖。
圖11係表示寫入動作之整體流程之流程圖。
圖12係表示通常優先度下之自由塊選擇程序之流程圖。
圖13係表示高優先度下之自由塊選擇程序之流程圖。
圖14係表示第1實施形態之要部構成之功能方塊圖。
圖15係表示第2實施形態之動作程序之流程圖。
圖16係表示個人電腦之外觀之立體圖。
圖17係表示個人電腦之功能構成例之圖。
1...主機
5...控制器
10...NAND記憶體
21...寫入緩衝器
60...資料讀出部
61...資料寫入部
62...資料管理部
70...塊管理部
71...自由塊選擇部
72...高優先列表選擇部
73...高優先位置資訊更新部
74...通常優先列表選擇部
75...通常優先位置資訊更新部
80...自由塊管理部
90...現用塊管理部
95...備用塊數資訊
111...ATA控制器

Claims (23)

  1. 一種記憶體系統,其特徵在於包括:非揮發性半導體記憶體,其係包含複數個作為資料之抹除之單位之塊;以及控制器,其包含塊選擇部與寫入控制部,該塊選擇部係於向上述非揮發性半導體記憶體寫入時,自上述非揮發性半導體記憶體中選擇所需數量之不含有效資料之自由塊,該寫入控制部係對上述選擇之自由塊進行寫入;上述塊選擇部包括:列表部,其係使用可並行動作之塊之集合單位,將上述非揮發性半導體記憶體所包含之自由塊分類至複數個自由塊管理列表;第1自由塊選擇部,其係於通常優先度下獲取自由塊時,以從存在自由塊數為第1閾值以上之上述自由塊管理列表中獲取自由塊之方式進行動作;及第2自由塊選擇部,其係於高優先度下獲取自由塊時,以從存在自由塊數多於第1閾值之自由塊管理列表,及存在自由塊數不多於第1閾值之上述自由塊管理列表中獲取自由塊之方式進行動作。
  2. 如請求項1之記憶體系統,其中上述第1自由塊選擇部於將低密度資料寫入至上述非揮發性半導體記憶體時動作,該低密度資料係於特定邏輯位址範圍內有效資料少於特定比例;上述第2自由塊選擇部於將高密度資料寫入至上述非 揮發性半導體記憶體時動作,該高密度資料係於特定邏輯位址範圍內有效資料多於特定比例。
  3. 如請求項2之記憶體系統,其中上述各自由塊管理列表以與1個以上之上述塊建立對應之邏輯塊單位對上述自由塊進行管理。
  4. 如請求項3之記憶體系統,其更包括快取記憶體;上述控制器包含管理部,該管理部係將上述非揮發性半導體記憶體之記憶區域以上述邏輯塊單位分配至第1及第2管理記憶區域;上述寫入控制部進行第1清除及第2清除,該第1清除係將寫入至上述快取記憶體之扇區單位之複數個資料作為第1管理單位之資料而清除至上述第1管理記憶區域,該第2清除係將寫入至上述快取記憶體之扇區單位之複數個資料作為上述第1管理單位之2以上之自然數倍之大小,即第2管理單位之資料而清除至上述第2管理記憶區域;上述寫入控制部於進行上述第1清除時,將上述低密度資料寫入至藉由上述第1自由塊選擇部獲取之自由塊,於進行上述第2清除時,將上述高密度資料寫入至藉由上述第2自由塊選擇部獲取之自由塊。
  5. 如請求項4之記憶體系統,其中上述非揮發性半導體記憶體包括包含複數個記憶體晶片構成之複數個通道並行動作要素,且各記憶體晶片分割為可並行動作之複數個平面,而各平面包含複數個上 述塊,並行驅動之各通道並行動作要素內之複數個記憶體晶片係跨越複數個通道並行動作要素,且分別分割為共享就緒/忙碌信號之複數個記憶庫;上述塊選擇部係基於與自上述並行驅動之複數個通道並行動作要素所選擇之複數個塊建立對應之邏輯塊,而對自由塊進行管理;上述寫入控制部對上述平面、記憶庫、或者通道並行動作要素之並行動作進行控制;上述複數個自由塊管理列表根據具有同一記憶庫序號、同一晶片序號、及同一平面序號之上述邏輯塊進行分類。
  6. 如請求項1之記憶體系統,其中上述複數個自由塊管理列表於可並行動作之上述塊之集合單位之組中存在制約之情形時,當上述第1或第2自由塊選擇部自上述複數個自由塊管理列表,依照特定之順序規則來選擇自由塊管理列表而依序獲取自由塊時,相較於可與依照上述順序規則所選擇之自由塊管理列表並行動作之自由塊管理列表,無法與上述所選擇之自由塊管理列表並行動作之自由塊管理列表係遠離上述所選擇之自由塊管理列表而配置。
  7. 如請求項1之記憶體系統,其更包括備用塊資訊記憶部,該備用塊資訊記憶部係保持上述複數個自由塊管理列表中作為備用塊而確保之自由塊數,即上述第1閾值; 上述第1自由塊選擇部以不從自由塊數少於上述備用塊資訊記憶部所保持之第1閾值的上述自由塊管理列表中獲取上述自由塊之方式進行動作;上述第2自由塊選擇部以從自由塊數少於上述備用塊資訊記憶部所保持之第1閾值的上述自由塊管理列表,及自由塊數為上述備用塊資訊記憶部所保持之第1閾值以上的上述自由塊管理列表中獲取上述自由塊。
  8. 如請求項7之記憶體系統,其中上述備用塊資訊記憶部所保持之上述第1閾值係根據各自由塊管理列表所包含之壞塊數,以自由塊管理列表為單位而被進行可變設定。
  9. 如請求項1之記憶體系統,其中上述第1及第2自由塊選擇部以確保由上述寫入控制部所要求之自由塊數之方式從上述複數個自由塊管理列表中進行自由塊之獲取。
  10. 如請求項1之記憶體系統,其中上述第1及第2自由塊選擇部係使用以與壞塊數逆對應之值進行加權之循環法,從上述複數個自由塊管理列表中選擇所需數量之自由塊管理列表。
  11. 如請求項3之記憶體系統,其中上述第1及第2自由塊選擇部係使用以登錄至自由塊管理列表之邏輯塊之個數進行加權之循環法,從上述複數個自由塊管理列表中選擇所需數量之自由塊管理列表。
  12. 如請求項3之記憶體系統,其中 上述第1及第2自由塊選擇部係使用以可作為自由塊及包含有效資料之塊,即現用塊而使用之邏輯塊的個數進行加權之循環法,從上述複數個自由塊管理列表中選擇所需數量之自由塊管理列表。
  13. 如請求項1之記憶體系統,其中上述列表部更包括複數個現用塊管理列表,該複數個現用塊管理列表係使用上述塊之集合單位,對包含於上述非揮發性半導體記憶體之包含有效資料之塊,即現用塊進行分類;該記憶體系統更包括塊移動部,該塊移動部係將自由塊數少於第2閾值之自由塊管理列表所對應之現用塊列表的現用塊之資料,移動至自由塊數多於第2閾值以上之第3閾值的自由塊管理列表之自由塊。
  14. 如請求項13之記憶體系統,其中上述塊移動部進行上述移動直至上述自由塊管理列表之自由塊數成為第2閾值以上為止。
  15. 如請求項14之記憶體系統,其中塊移動部係於上述移動時,從上述現用塊列表中優先選擇記憶有較早之資料之現用塊。
  16. 如請求項15之記憶體系統,其中上述塊移動部於上述所選擇之現用塊為自該現用塊中寫入有資料之時刻直至目前為止之期間未滿特定之閾值者之情形時,不選擇該現用塊,而從其他現用塊列表中選擇現用塊。
  17. 如請求項13之記憶體系統,其中上述塊移動部於上述移動時,使上述第1自由塊選擇部選擇上述自由塊數多於第2閾值以上之第3閾值的自由塊管理列表之自由塊,並將上述現用塊之資料移動至藉由上述第1自由塊選擇部所選擇之自由塊。
  18. 如請求項13之記憶體系統,其中上述塊移動部將上述資料已移動至自由塊管理列表之自由塊的現用塊,作為自由塊登錄至所對應之自由塊管理列表。
  19. 一種記憶體系統之控制方法,其特徵在於:該記憶體系統包括:非揮發性半導體記憶體,其係包含複數個作為資料之抹除之單位之塊;以及控制器,其係於向上述非揮發性半導體記憶體寫入時,自上述非揮發性半導體記憶體中選擇所需數量之不包含有效資料之自由塊,並對所選擇之自由塊進行寫入;使用可並行動作之塊之集合單位,將上述非揮發性半導體記憶體所包含之自由塊分類至複數個自由塊管理列表;於通常優先度下獲取自由塊時,從存在自由塊數多於第1閾值之上述自由塊管理列表中獲取自由塊;及於高優先度下獲取自由塊時,從存在自由塊數多於第1閾值之自由塊管理列表,及存在自由塊數不多於第1閾值之上述自由塊管理列表中獲取自由塊。
  20. 如請求項19之記憶體系統之控制方法,其中 於將特定邏輯位址範圍內有效資料少於特定比例之低密度資料寫入至上述非揮發性半導體記憶體時,於上述通常優先度下獲取自由塊;於將特定邏輯位址範圍內有效資料多於特定比例之高密度資料寫入至上述非揮發性半導體記憶體時,於上述高優先度下獲取自由塊。
  21. 如請求項20之記憶體系統之控制方法,其中以與1個以上之上述塊建立對應之邏輯塊單位對上述自由塊進行管理,藉此對上述各自由塊管理列表進行管理。
  22. 如請求項21之記憶體系統之控制方法,其中上述記憶體系統更包括快取記憶體;上述控制器將上述非揮發性半導體記憶體之記憶區域以上述邏輯塊單位分配至第1及第2管理記憶區域;進行第1清除及第2清除,該第1清除係將寫入至上述快取記憶體之扇區單位之複數個資料作為第1管理單位之資料而清除至上述第1管理記憶區域,該第2清除係將寫入至上述快取記憶體之扇區單位之複數個資料作為上述第1管理單位之2以上自然數倍之大小,即第2管理單位之資料而清除至上述第2管理記憶區域;於進行上述第1清除時,將上述低密度資料寫入至上述通常優先度下獲取之自由塊,於進行上述第2清除時,將上述高密度資料寫入至上述高優先度下獲取之自由塊。
  23. 一種資訊處理裝置,其特徵在於包括:中央處理單元(Central Processing Unit);主記憶記憶體;以及外部記憶裝置;且上述外部記憶裝置包括:非揮發性半導體記憶體,其係包含複數個作為資料之抹除之單位之塊;以及控制器,其包含塊選擇部與寫入控制部,該塊選擇部係於向上述非揮發性半導體記憶體寫入時,自上述非揮發性半導體記憶體中選擇所需數量之不包含有效資料之自由塊,該寫入控制部係對上述選擇之自由塊進行寫入;上述塊選擇部包括:列表部,其係使用可並行動作之塊之集合單位,將上述非揮發性半導體記憶體所包含之自由塊分類至複數個自由塊管理列表;第1自由塊選擇部,其係於通常優先度下獲取自由塊時,以從存在自由塊數多於第1閾值之上述自由塊管理列表中獲取自由塊之方式進行動作;以及第2自由塊選擇部,其係於高優先度下獲取自由塊時,以從存在自由塊數多於第1閾值之自由塊管理列表,及存在自由塊數不多於第1閾值之上述自由塊管理列表中獲取自由塊之方式進行動作。
TW099129131A 2010-03-17 2010-08-30 Memory system TWI475561B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010061181A JP5404483B2 (ja) 2010-03-17 2010-03-17 メモリシステム

Publications (2)

Publication Number Publication Date
TW201133487A TW201133487A (en) 2011-10-01
TWI475561B true TWI475561B (zh) 2015-03-01

Family

ID=44601967

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099129131A TWI475561B (zh) 2010-03-17 2010-08-30 Memory system

Country Status (4)

Country Link
US (1) US8266396B2 (zh)
JP (1) JP5404483B2 (zh)
CN (1) CN102193872B (zh)
TW (1) TWI475561B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI792322B (zh) * 2020-12-15 2023-02-11 日商鎧俠股份有限公司 記憶體系統及控制方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101632068B (zh) 2007-12-28 2015-01-14 株式会社东芝 半导体存储装置
JP5032371B2 (ja) 2008-03-01 2012-09-26 株式会社東芝 メモリシステム
JP5323199B2 (ja) 2009-02-12 2013-10-23 株式会社東芝 メモリシステム及びメモリシステムの制御方法
JP2012128644A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012128643A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012203863A (ja) * 2011-03-28 2012-10-22 Toshiba Corp メモリシステム
US9251055B2 (en) 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system
US8924636B2 (en) 2012-02-23 2014-12-30 Kabushiki Kaisha Toshiba Management information generating method, logical block constructing method, and semiconductor memory device
KR101997572B1 (ko) * 2012-06-01 2019-07-09 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법
TWI492051B (zh) * 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
JP5976608B2 (ja) 2012-10-30 2016-08-23 株式会社東芝 メモリデバイス
JP5994647B2 (ja) * 2013-01-11 2016-09-21 三菱電機株式会社 データ記録装置、及びデータ記録方法
CN105027211B (zh) 2013-01-31 2018-09-21 慧与发展有限责任合伙企业 自适应粒度行缓冲器高速缓存
JP6053557B2 (ja) * 2013-02-19 2016-12-27 三菱電機株式会社 メモリ管理装置
JPWO2015083225A1 (ja) * 2013-12-02 2017-03-16 富士通株式会社 情報処理装置、ストレージ、及びアクセス制御方法
US10055267B2 (en) * 2015-03-04 2018-08-21 Sandisk Technologies Llc Block management scheme to handle cluster failures in non-volatile memory
US9846650B2 (en) * 2015-03-09 2017-12-19 Samsung Electronics Co., Ltd. Tail response time reduction method for SSD
US10346039B2 (en) 2015-04-21 2019-07-09 Toshiba Memory Corporation Memory system
JP6358219B2 (ja) * 2015-10-02 2018-07-18 京セラドキュメントソリューションズ株式会社 記憶域管理プログラム及び電子機器
TWI639112B (zh) * 2016-03-14 2018-10-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
US10248333B1 (en) 2017-02-07 2019-04-02 Crossbar, Inc. Write distribution techniques for two-terminal memory wear leveling
US10409714B1 (en) * 2017-02-09 2019-09-10 Crossbar, Inc. Logical to physical translation for two-terminal memory
US10169246B2 (en) * 2017-05-11 2019-01-01 Qualcomm Incorporated Reducing metadata size in compressed memory systems of processor-based systems
US10877691B2 (en) * 2017-12-29 2020-12-29 Intel Corporation Stream classification based on logical regions
CN108920387B (zh) * 2018-06-06 2021-04-20 深圳忆联信息***有限公司 降低读延迟的方法、装置、计算机设备及存储介质
KR20200042791A (ko) * 2018-10-16 2020-04-24 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US20220283738A1 (en) * 2021-03-04 2022-09-08 Macronix International Co., Ltd. Flash memory and writing method thereof
JP2022146494A (ja) * 2021-03-22 2022-10-05 キオクシア株式会社 半導体記憶装置およびメモリシステム
CN113094306B (zh) * 2021-04-06 2023-12-05 深圳宏芯宇电子股份有限公司 有效数据管理方法、存储器存储装置及存储器控制器
CN117131036B (zh) * 2023-10-26 2023-12-22 环球数科集团有限公司 一种基于大数据和人工智能的数据维护***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101057A (ja) * 1999-09-30 2001-04-13 Casio Comput Co Ltd フラッシュrom制御方法及び記録媒体
TW573250B (en) * 2001-07-27 2004-01-21 Matsushita Electric Ind Co Ltd Flash memory system and method of merge of storage data
JP2007156846A (ja) * 2005-12-05 2007-06-21 Tdk Corp メモリコントローラ及びフラッシュメモリシステム
US20070174578A1 (en) * 2006-01-25 2007-07-26 Takashi Oshima Method of controlling card-shaped memory device
TW200905680A (en) * 2007-06-08 2009-02-01 Sandisk Corp Method and system for storage address re-mapping for a memory device
TW200928749A (en) * 2007-12-28 2009-07-01 Toshiba Kk Memory system
TW200949537A (en) * 2007-12-28 2009-12-01 Toshiba Kk Semiconductor storage device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628879A (ja) * 1992-07-07 1994-02-04 Fujitsu Ltd メモリ管理方式
CN1249585C (zh) * 1997-12-16 2006-04-05 Tdk株式会社 闪速存储器***
US7383375B2 (en) * 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
JP5162846B2 (ja) * 2005-07-29 2013-03-13 ソニー株式会社 記憶装置、コンピュータシステム、および記憶システム
WO2007019198A2 (en) * 2005-08-03 2007-02-15 Sandisk Corporation Non-volatile memory with scheduled reclaim operations
JP5010505B2 (ja) * 2008-03-01 2012-08-29 株式会社東芝 メモリシステム
JP4439569B2 (ja) 2008-04-24 2010-03-24 株式会社東芝 メモリシステム
JP4551958B2 (ja) 2008-12-22 2010-09-29 株式会社東芝 半導体記憶装置および半導体記憶装置の制御方法
JP2010152514A (ja) 2008-12-24 2010-07-08 Toshiba Corp メモリシステム
JP5198245B2 (ja) 2008-12-27 2013-05-15 株式会社東芝 メモリシステム
JP2010157130A (ja) 2008-12-27 2010-07-15 Toshiba Corp メモリシステム
JP5317689B2 (ja) 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
JP5323199B2 (ja) * 2009-02-12 2013-10-23 株式会社東芝 メモリシステム及びメモリシステムの制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101057A (ja) * 1999-09-30 2001-04-13 Casio Comput Co Ltd フラッシュrom制御方法及び記録媒体
TW573250B (en) * 2001-07-27 2004-01-21 Matsushita Electric Ind Co Ltd Flash memory system and method of merge of storage data
JP2007156846A (ja) * 2005-12-05 2007-06-21 Tdk Corp メモリコントローラ及びフラッシュメモリシステム
US20070174578A1 (en) * 2006-01-25 2007-07-26 Takashi Oshima Method of controlling card-shaped memory device
TW200905680A (en) * 2007-06-08 2009-02-01 Sandisk Corp Method and system for storage address re-mapping for a memory device
TW200928749A (en) * 2007-12-28 2009-07-01 Toshiba Kk Memory system
TW200949537A (en) * 2007-12-28 2009-12-01 Toshiba Kk Semiconductor storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI792322B (zh) * 2020-12-15 2023-02-11 日商鎧俠股份有限公司 記憶體系統及控制方法

Also Published As

Publication number Publication date
US8266396B2 (en) 2012-09-11
JP5404483B2 (ja) 2014-01-29
TW201133487A (en) 2011-10-01
CN102193872A (zh) 2011-09-21
JP2011197788A (ja) 2011-10-06
US20110231610A1 (en) 2011-09-22
CN102193872B (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
TWI475561B (zh) Memory system
KR101269366B1 (ko) 메모리 시스템 및 메모리 시스템의 제어 방법
US11893238B2 (en) Method of controlling nonvolatile semiconductor memory
CN113508368B (zh) 存储器子***及其操作方法
KR101692417B1 (ko) 다이렉트 액세스를 갖는 다중-레벨 메모리
US20130212319A1 (en) Memory system and method of controlling memory system
US8645612B2 (en) Information processing device and information processing method
JP2012141946A (ja) 半導体記憶装置
TWI698749B (zh) 資料儲存裝置與資料處理方法
CN113711193B (zh) 用于存储器子***的优先级调度
US20210271421A1 (en) Double threshold controlled scheduling of memory access commands
JP2011070365A (ja) メモリシステム
JP6232936B2 (ja) 情報処理装置、記憶装置制御回路及び記憶装置の制御方法
KR101117390B1 (ko) 비휘발성 메모리 장치의 데이터 접근 방법 및 이를 수행하는 프로그램을 기록한 기록매체
US20210271400A1 (en) Memory system and memory control method
Liu et al. SWin: A Set-Window Division Mechanism to Alleviate I/O Jitters of NVMe SSD Drives

Legal Events

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