TWI463317B - Memory device and control method thereof - Google Patents

Memory device and control method thereof Download PDF

Info

Publication number
TWI463317B
TWI463317B TW101107523A TW101107523A TWI463317B TW I463317 B TWI463317 B TW I463317B TW 101107523 A TW101107523 A TW 101107523A TW 101107523 A TW101107523 A TW 101107523A TW I463317 B TWI463317 B TW I463317B
Authority
TW
Taiwan
Prior art keywords
data
memory device
memory
size
request
Prior art date
Application number
TW101107523A
Other languages
English (en)
Other versions
TW201314451A (zh
Inventor
Misao Hasegawa
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 TW201314451A publication Critical patent/TW201314451A/zh
Application granted granted Critical
Publication of TWI463317B publication Critical patent/TWI463317B/zh

Links

Classifications

    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Semiconductor Memories (AREA)

Description

記憶體裝置及其控制方法
本發明之實施形態係關於一種記憶體裝置及其控制方法等。
本申請案係享有以日本專利申請案第2011-206227號(申請日:2011年9月21日)為基礎申請案之優先權。本申請案藉由參考該基礎申請案而包含基礎申請案之全部內容。
作為保持資料之媒體,存在各種媒體。作為此種媒體,例如有基於用戶端-伺服器模型之記憶體裝置。在基於用戶端-伺服器模型之包含記憶體裝置及主機裝置之記憶體系統中,存在與其他記憶體系統之不同點。例如,基於用戶端-伺服器模型之記憶體裝置及主機裝置之任務分配、與未基於用戶端-伺服器模型之記憶體裝置及主機裝置之任務分配不同。因此,主機裝置與記憶體裝置之間之通訊內容亦在基於用戶端-伺服器模型之系統、與未基於該模型之系統中有所不同。
記憶體系統有按照特定之規格之情形。例如,作為基於用戶端-伺服器模型之記憶體系統,例舉有UFS(Universal Flash Storage:通用快閃儲存)記憶體裝置及主機裝置。關於規格中所決定之點,記憶體系統係必須遵照樣式。然而,亦存在規格中未決定之點,關於此種點係可由記憶體系統之設計者決定。對如此存在自由度之事項係應以適合記憶體系統特性之形態可實現較好性能之方式來決定。對 伴隨如此自由度之事項進行適當之決定,期望提供一種可實現更佳性能之記憶體裝置。
本發明之實施形態係提供一種謀求存取效率,且對主機裝置之應答性能高之記憶體裝置。
實施形態之記憶體裝置係具備:非揮發性記憶體,其係以複數個單元為單位,進行資料寫入或資料讀取;及控制器,其係控制上述記憶體,將上述記憶體之記憶空間劃分成複數個分區進行管理。上述控制器在被請求寫入資料之情形下,分割寫入資料之資料大小,且在進行上述劃分管理之第1分區之資料寫入之期間,進行上述劃分管理之第2分區之寫入資料之資料請求,並接收上述寫入資料。
根據本發明之實施形態,可提供一種謀求存取效率,且朝主機裝置之應答性能優秀之記憶體裝置。
[參考例]
在說明實施形態之前,先對參考例加以簡單說明。作為參考例,對基於用戶端-伺服器模型之記憶體系統及未基於該模型之記憶體系統加以說明。作為未基於用戶端-伺服器模型之記憶體裝置係以SDTM 卡及eMMC(嵌入式多媒體卡)為例。
圖1係顯示記憶體裝置(SDTM 卡或eMMC)與主機裝置之間資料寫入時之通訊例。如圖1所示,主機裝置係藉由發出寫入指令而開始寫入。寫入指令係包含分配至寫入資料之 邏輯位址。邏輯位址係對應寫入資料之開始位置。記憶體裝置在接收寫入指令後予以回應。主機裝置若收到回應,則傳送應寫入記憶體裝置之資料(寫入資料)。寫入資料係被分割成複數個寫入資料部分而傳送。寫入資料部分之大小係基於SDTM 卡或eMMC之規格而預先決定。記憶體裝置係在接收資料之期間,使用就緒/忙碌訊號來通知就緒狀態。記憶體裝置係將所接收之資料逐次寫入記憶體裝置內之記憶體。另一方面,若記憶體裝置之緩衝器因飽和等之理由而記憶體裝置無法接收資料,則記憶體裝置係將忙碌狀態通知主機裝置。在記憶體裝置之忙碌狀態之期間,主機裝置係中斷資料之傳送。若忙碌狀態被解除,則主機裝置係進而發送寫入資料部分資料。藉此,若發送寫入資料之整體,則主機裝置發送停止寫入之指令。記憶體裝置係接收停止寫入之指令並予以回應,從而停止寫入。
如此,資料之寫入位置係藉由主機裝置來指定,寫入資料部分之大小亦根據規格而定。即,參考例之記憶體系統中,主機裝置係具有資料傳送之主導權,由主機裝置對記憶體裝置發出指示,記憶體裝置係遵從該指示。記憶體裝置所具有之自由度較小。
圖2係顯示基於用戶端-伺服器模型之記憶體裝置與主機裝置之間之資料寫入時之通訊例。如圖2所示,主機裝置係藉由發出寫入指令而開始寫入。寫入指令係包含:指定寫入位置之邏輯位址、及作為該寫入指令對象之寫入資料之大小之資訊。若接收寫入指令,則記憶體裝置係決定寫 入資料之傳送請求之內容。傳送請求係包含:寫入資料中記憶體裝置期望自主機裝置傳送之部分之大小、及偏移位址。偏移位址係記憶體裝置用以特定期望傳送之部分之位置者。主機裝置若收到傳送請求,則將所請求之資料部分傳送至記憶體裝置。記憶體裝置係執行將所接收之資料部分寫入記憶體、及發送其他資料部分之傳送請求。該寫入與傳送請求係持續直至寫入資料整體被寫入為止。對應寫入資料整體寫入之成功或失敗,記憶體裝置係將相匹配之回應發送至主機裝置。
藉此,圖2之例中,由記憶體裝置來決定寫入資料之部分,並發送傳送請求。在寫入時,有根據規格而定之事項、與未根據規格而定之事項。例如,記憶體裝置之傳送請求內之偏移位址為順序型或隨機型係在主機裝置中任意設定,且偏移位址之選擇係必須遵從該設定。另一方面,例如由傳送請求所指定之資料部分之大小係有未在樣式中決定之情形。
<關於主機裝置與記憶體裝置之關係>
其次,使用圖3,對主機裝置與記憶體裝置之關係加以簡單說明。
例如,在以上述UFS標準化之資料寫入(WRITE處理)中,由主機裝置指定邏輯區塊位址與長度。接收該等之記憶體裝置係向自身之NAND型快閃記憶體寫入資料,而寫入資料之次數為1次或分複數次寫入則不受限制,可按記憶體裝置側之情況來處理。
又如圖所示,上述UFS中,主機裝置中之Application Client(應用程式客戶端)係可對記憶體裝置中複數個Logical Unit(邏輯單元)之各者發出指令。發出至每個Logical Unit之指令係謀求各自獨立地動作。即,自Application Client側來看,複數個Logical Unit必須獨立、平行地運轉。
然而,與CPU之處理時間相比,一般對NAND型快閃記憶體進行存取所需之時間較長。因此,若一個Logical Unit需要較長之資料存取時間,則其他Logical Unit之動作會受到阻礙,從而無法進行平行動作,亦降低了朝主機裝置側之應答性能。
另一方面,對記憶體裝置所具有之NAND型快閃記憶體寫入資料時,亦存在最低限度之寫入大小之限制。因此,一次寫入之大小較大者係具有提升向NAND型快閃記憶體寫入資料時之性能之性質。
以下,對基於如此見解而構成之實施形態,一邊參照圖式一邊加以說明。另,在以下說明中,對具有大致相同功能及構成之構成要件係賦予相同符號,僅在必要之情形下進行重複說明。又,如下所述之各實施形態係例示用以具體化實現該實施形態之技術性思想之裝置或方法,實施形態之技術性思想係並非將構成零件之材質、形狀、結構、配置等特定成下述者,實施形態之技術性思想係在專利申請範圍內可附加各種變更。
[第1實施形態]
圖4係概括性顯示第1實施形態之記憶體裝置。圖4係顯示記憶體裝置之硬體上之構成。如圖4所示,記憶體裝置1係以可與主機裝置2(以下有僅稱為主機之情形)通訊之方式來構成。記憶體裝置1與主機2係至少針對於自主機2之寫入請求,記憶體裝置1可指定寫入資料部分之大小及位置的方式與主機2通訊。詳言之,記憶體裝置1與主機2係基於用戶端-伺服器模型而通訊。記憶體裝置1作為目標端而動作,而主機2係作為發起端而動作。再者作為具體例,記憶體裝置1係UFS記憶體裝置,主機2係支持UFS記憶體裝置之主機。
記憶體裝置1至少包含:非揮發性半導體記憶體11;及記憶體控制器12,其係用以控制上述記憶體11。記憶體11係以包含複數位元之特定寫入單元來進行資料之寫入及讀取。再者,記憶體11係以包含複數個寫入單位之消除單位來消除資料。
例如,記憶體11係包含1個或複數個NAND型快閃記憶體。記憶體11為NAND型快閃記憶體之情形下,其係以頁面為單位進行資料之寫入及讀取。頁面係包含以複數個連接之記憶體單元集合而成之記憶體空間,且被分配固有之邏輯位址。
記憶體11具備:記憶體單元陣列,其係包含複數個記憶體單元;及頁面緩衝器,其係在與記憶體單元之間進行資料之輸出入。頁面緩衝器係保持1頁面份之資料。對記憶體11進行資料寫入之情形,記憶體控制器12係與寫入指令 之同時,將顯示寫入地之頁面位址、與1頁面份之寫入資料發送至記憶體11。記憶體11將自記憶體控制器12接收之寫入資料儲存至頁面緩衝器,且將頁面緩衝器內之寫入資料寫入頁面位址所指定之記憶體單元。若開始朝該記憶體單元之寫入動作,則記憶體11對記憶體控制器12輸出顯示為動作中之忙碌訊號。接著寫入資料之情形下,當忙碌訊號轉換為就緒訊號後,對次頁面位址亦進行與上述相同之動作。
從記憶體11讀取資料之情形,記憶體控制器12將讀取指令與顯示讀取地之頁面位址發送至記憶體11。記憶體11係從頁面位址所指定之記憶體單元讀取1頁面份之資料至頁面緩衝器。若開始自該記憶體單元之讀取動作,則記憶體11對記憶體控制器12輸出忙碌訊號。接著,在忙碌訊號切換成就緒訊號後,使儲存於頁面緩衝器之讀取資料輸出至記憶體11。接著讀取資料之情形下,對次頁面位址亦進行與上述相同之動作。
又,記憶體11為NAND型快閃記憶體之情形,記憶體11係以區塊單位進行資料消除。各區塊包含:複數個頁面,該等係具有連續之邏輯位址。各記憶體單元係包含所謂之積層閘極結構之MOSFET(metal oxide semiconductor field effect transistor金氧半場效電晶體)。各單元電晶體係根據浮動閘極電極所蓄積之電子數來改變臨限值電壓,並儲存對應該不同之臨限值電壓之資訊。記憶體11為NAND型快閃記憶體之情形,單元電晶體可取得2個以上之臨限值 電壓之不同狀態,即記憶體單元以可儲存多值(多位元)之方式來構成記憶體11亦可。以下,為便於說明,將頁面作為寫入單位,將區塊作為消除單位。然而,記憶體11係並非限定於NAND型快閃記憶體。
記憶體裝置1係包含:I/O21、核心邏輯部22、及I/O23。I/O21係包含有用以使記憶體裝置1與主機2連接之硬體上之構成。在記憶體裝置1為UFS記憶體裝置之情形下,記憶體裝置1與主機2之間之訊號係包含:RESET、REF_CLK、DOUT、DOUT_c、DIN、DIN_c、VCC、VCCQ、VCCQ2、VDDi、VDDi2、及VDDi3。RESET、REF_CLK、DOUT、DOUT_c、DIN、及DIN_c係在主機2與I/O21之間通訊。RESET係硬體重置訊號。REF_CLK係參考時鐘。DOUT與DOUT_c係形成差動訊號對,且由主機2發送向記憶體裝置1之訊號。DIN與DIN_c係形成差動訊號對,且由記憶體裝置1發送向主機2之訊號。VCC、VCCQ、VCCQ2係供給至記憶體11及核心邏輯部22之電源電壓。VDDi、VDDi2、VDDi3係供給至核心邏輯部22,且在核心邏輯部22內設置有電壓穩壓器時之輸入端子。
核心邏輯部22係記憶體控制器12中除I/O外之主要部分。I/O23係包含用以使記憶體控制器12與記憶體11連接之硬體上之構成。核心邏輯部22係包含:主機介面31、緩衝器32、資料匯流排33、記憶體介面34、緩衝器35、ECC電路36、控制匯流排41、CPU42、ROM43、操作RAM45、暫存器46。
I/O21係與主機介面31連接。主機介面31係進行記憶體裝置1與主機2通訊所必須之處理。詳言之,主機介面31係遵照記憶體裝置1與主機2所共同遵守之通訊協定,來擔負記憶體裝置1與主機2之間之通訊。記憶體裝置1為UFS記憶體裝置之情形,例如主機介面31係UFS介面。UFS介面之邏輯層係遵照M-PHY規格,鏈接層係遵照UniPro規格。
主機介面31係與緩衝器32連接。緩衝器32係經由主機介面31接收由主機2發送至記憶體裝置1之資料,並將其暫時保持。又,緩衝器32係暫時保持由記憶體裝置1經由主機介面31發送向主機2之資料。緩衝器32係與資料匯流排33連接。
I/O23係與記憶體介面34連接。記憶體介面34係進行記憶體控制器12與記憶體11通訊所必須之處理。詳言之,記憶體介面34係以記憶體11可識別之形態發送來自核心邏輯部22之指示。記憶體11為NAND型快閃記憶體之情形,記憶體介面34係NAND快閃介面。
記憶體介面34係與緩衝器35連接。緩衝器35係經由記憶體介面34接收由記憶體11發送至控制器12之資料,並將其暫時保持。又,緩衝器35係暫時保持由控制器12經由記憶體介面34發送至記憶體11之預定資料。緩衝器35係與資料匯流排33連接。記憶體介面34及緩衝器35係與ECC(error correcting code:錯誤校正碼)電路36連接。ECC電路36又與資料緩衝器35連接。ECC電路36係經由資料匯流排33接收來自主機2之寫入資料,且將錯誤校正碼附加至寫入資 料,並將附加有錯誤校正碼之寫入資料供給至緩衝器35。此外,ECC電路36係經由緩衝器35接收由記憶體11供給之資料,且對該資料使用錯誤校正符號進行錯誤校正,並將錯誤校正資料供給至資料匯流排33。
資料匯流排33係與控制匯流排41連接。控制匯流排41連接有:CPU(central processing unit中央處理單元)42、ROM(read only memory唯讀記憶體)43、RAM(random access memory隨機存取記憶體)45、及暫存器46。CPU42、ROM43、RAM45、及暫存器46係經由控制匯流排41彼此連接。CPU42係管理記憶體裝置1之整體動作。且,CPUT42係根據儲存於ROM43之控制程式(命令)來執行特定處理。CPU42係根據控制程式,且按照自主機2接收之指令對記憶體11執行特定處理等。
ROM43係儲存藉由CPU42控制等之程式。RAM45係作為CPU42之作業區域來使用,用以暫時儲存CPU42作業中所必須之變數等。暫存器46係保持記憶體裝置1進行動作所必須之各種值。此外,暫存器46係保持主機2用以控制記憶體裝置1所必須之各種值。
控制匯流排41係連接主機介面31、緩衝器32、記憶體介面34、及緩衝器35。CPU42係基於來自控制程式或主機2之指示,從而控制主機介面31、緩衝器32、記憶體介面34、及緩衝器35。記憶體控制器12上亦可設置有類比端口電路51。
記憶體裝置1例如係焊料安裝於印刷基板上之嵌入型亦 可,可對設置於主機2之卡片槽裝卸之抽取型亦可。圖5係顯示密封形態之記憶體裝置1之例。如圖5所示,印刷基板201上積層有晶片狀之複數個記憶體11。各記憶體11係藉由導線202連接於印刷基板201上之配線圖案(未圖示)。晶片狀之記憶體控制器12亦配置於印刷基板201上,且藉由導線202連接於配線圖案。印刷基板201之背面例如設置有未圖示之外部端子(例如,BGA(ball grid array球柵陣列))。外部端子包含有如圖3所示之訊號(RESET、REF_CLK、DOUT、DOUT_c、DIN、DIN_c、VCC、VCCQ、VCCQ2、VDDi、VDDi2、及VDDi3)。RESET、REF_CLK、DOUT、DOUT_c、DIN、DIN_c係被分配,經由該外部端子與記憶體裝置1外部之主機2之間進行訊號通訊。印刷基板201、記憶體11、記憶體控制器12、導線202係藉由例如樹脂製之封裝體203來密封。
繼而,圖6係顯示記憶體裝置1之構成之其他觀點。詳言之,圖6係顯示記憶體裝置1之邏輯構成,即功能區塊。各區塊係可以硬體、電腦軟體之任一者或作為兩者之組合來實現。各功能區塊作為硬體執行亦或作為軟體執行係依據具體實施態樣或系統整體之設計限制。同業人士對於具體之每個實施態樣,雖可以多種方法實現該等功能,但任一實現技術皆含於本實施形態之範疇內。此外,各功能區塊未必一定要以如下具體例之方式來區別。例如,部分功能亦可藉由與下述說明所例示之功能區塊不同之其他功能區塊來實行。再者,例示之區塊亦可分割為更細之子功能區 塊來實行。無論藉由何種區塊予以特定,皆非不限定實施形態者。
記憶體裝置1包含:目標端端口61、路由器62、裝置管理器63、描述符號64、屬性65、旗標66、及複數個LU(logical unit:邏輯單位)(67-1~67-n)。目標端端口61係用以使記憶體裝置1與主機2可通訊地連接之端口,例如對應於主機介面31。路由器62係將自主機2接收之通訊(任務、指令、資料、查詢等)路由至接收地之LU67。主機2係通過將一個LU67作為接收地之請求而請求指令之處理或任務管理功能。LU67彼此可藉由位址(例如LUN(logical unit number:邏輯單元編號))相互識別。LUN例如圖7所示,可包含於記憶體裝置1與主機2之間之通訊(封包)中。如圖7所示,封包101包含:LUN102、及實體部103。LUN102例如可包含於封包101之標頭中。實體部103係於封包功能中包含固有之內容,例如指令、資料、各種參數等。各封包之接收地之LU62係藉由LUN而唯一指定。UFS記憶體裝置中,記憶體裝置1與主機2之間之封包之任一者皆包含標頭,且於標頭內記述有LUN。
路由器62係將自主機2接收之通訊(任務、指令、資料、查詢)基於該通訊中之LUN而路由至接收地之LU67。又,路由器62係將自複數個LU67對主機2之通訊藉由例如時間分割,以適當順序發送至目標端端口61。路由器62係例如藉由CPU42、ROM43、暫存器46來實現。即,藉由CPU42,透過一邊參照暫存器46中之值一邊執行ROM43中 之程式來實現。
裝置管理器63係進行裝置級動作、及組態之管理。組態之管理中例如包含:記憶體裝置1之電力管理、及休眠等控制等。裝置級之組態中,包含有保持描述符號之組之情形等。裝置管理器63係處理來自主機2之記憶體裝置1之組態資訊之變更及輸出請求即查詢請求的指令。裝置管理器63係例如藉由CPU42、ROM43、暫存器46來實現。即,藉由CPU42,透過一邊參照暫存器46之值一邊執行ROM43中之程式來實現。
描述符號64、屬性65、旗標66係例如作為操作RAM45中之資料來實現。描述符號64係具有預先定義之格式之資料結構,且用以描述關於記憶體裝置1之某些特徵者。描述符號64中,例如包含對記憶體裝置1進行存取時所需之裝置類別、子類別、協定等。屬性65係顯示賦予記憶體裝置1之設定之可變更或讀取專用之參數。屬性65中例如包含有可在記憶體裝置1與主機2之間傳送之資料之最大值等。旗標66係包含關於各種項目中擇一性之邏輯值,藉由例如「真」或「假」、又或「0」或「1」等來表示。
各LU67係例如藉由記憶體11、記憶體介面34、緩衝器35、ECC電路36、CPU42、ROM43、及暫存器46來實現。各LU67係相互獨立,執行來自主機2之處理。因此,各LU係利用記憶體11、介面31、緩衝器35、ECC電路36、CPU42、ROM43、及暫存器46等資源之一部分而實現。各LU係藉由如上所述自主機2特定1個LU之LUN而相互區 別。來自主機2之指令係藉由指定之LU67來執行。
各LU67係包含:裝置伺服器71、任務管理器72、及記憶區域73。記憶區域73係由記憶體11之記憶區域中之一部分來構成,且實際儲存來自主機2之寫入資料。裝置伺服器71及任務管理器72係例如藉由CPU42、ROM43、及暫存器46實現。即,藉由CPU42,使ROM43中之程式通過一邊參照暫存器46之值一邊執行來實現。裝置伺服器71係對請求自主機2接收之LU級處理之指令進行解釋並執行。在如此處理中,例如包含資料之寫入、讀取、消除等。由於LU67包含有記憶區域73,故裝置伺服器71係具有至少控制記憶區域73(記憶體11)之功能。任務管理器72係控制複數個指令(任務)之執行順序,且提供任務管理功能。
如上所述,裝置伺服器71係進行記憶體11控制相關之處理。如此處理中包含有邏輯位址與邏輯位址之轉換。邏輯位址係藉由主機2,分配成期望主機2寫入記憶體裝置1之資料之位址。邏輯位址係如上所述,用以特定記憶體11之寫入區域(頁面)或消除區域(區塊)之位址。裝置伺服器71係管理自身所對應之記憶區域73之資料之儲存狀態。所謂儲存狀態之管理係包含管理某邏輯位址之頁面(或邏輯區塊)是否保持有某邏輯位址之資料之關係、及某邏輯位址之頁面(或邏輯區塊)是否成消除狀態(未寫入、或保持無效資料之狀態)。為進行該管理,裝置伺服器71係例如保持有邏輯位址、邏輯位址轉換表(以下有簡稱為轉換表之情形)。
作為轉換例,例如圖8所示,可以區塊進行分配。對各區塊中之各頁面,分配有固定之邏輯位址偏移。圖8係顯示被分配成記憶體11之寫入單位大小為16kB,且邏輯位址為512B之大小之各資料之例。
繼而,參照圖9及圖10,對資料寫入時之動作加以說明。圖9係更詳細顯示第1實施形態之LU67之功能區塊圖。圖10係顯示第1實施形態之資料寫入時之通訊情況。在複數個LU67中,至少有一個、典型地為整體具有以下參照圖9所說明之結構。如圖9所示,裝置伺服器71係包含:管理部81、指令解析部82、傳送請求產生部83、及記憶體控制部84。
管理部81係管理裝置伺服器71之整體。指令解析部82係經由路由器62接收來自主機2之指令。指令解析部82係對接收之指令進行解析。指令解析部82若接收寫入指令,則對傳送請求產生部83請求決定(產生)傳送請求。對該傳送請求產生部83之請求係由指令解析部82直接進行亦可,藉由管理部81進行亦可。傳送請求產生部83若接收請求,則基於寫入指令所包含之寫入資料之大小及位址,產生傳送請求。記憶體控制部84係按照管理部81之指示,負責所有對記憶體11之指示之發出。
其次,參照圖10對資料寫入時之順序加以說明。本例係關於對1個LU67寫入資料之請求。因此,各通訊皆相當於該1個LU67與主機2之間之通訊(封包)。
如圖10所示,寫入指令自主機2發送至記憶體裝置1。寫 入指令係如圖11所示,至少包含:LUN102、寫入指示111、位址112、及寫入資料大小113。位址112係寫入資料被寫入之位置(邏輯位址)。寫入資料大小113係顯示寫入資料之整體大小。
UFS記憶體系統中,資料、指令、查詢等皆藉由封包來傳送。記憶體裝置1及主機2為UFS記憶體系統之情形,寫入指令相當於指令傳送封包。封包係包含標頭,且封包實體部中包含有指令記述部,指令記述部儲存有SCSI(small computer system interface小型電腦系統介面)指令。SCSI指令中包含有寫入指令111、位址112、及寫入資料大小113。
寫入指令係藉由接收地之LU67中之指令解析部82來接收。若接收之指令為寫入指令,則指令解析部82係直接或經由管理部81,請求傳送請求產生部83產生傳送請求。若接收產生請求,則傳送請求產生部83係考慮記憶體11之特性,具體而言,考慮寫入資料之邏輯位址及大小而產生傳送請求。詳言之,首先傳送請求產生部83係參照寫入資料之邏輯位址,檢查寫入請求是否相當於自寫入地之頁面前端開始寫入之請求。本例中,邏輯位址係0x0000,該係相當於自區塊(即頁面)前端開始寫入之請求。傳送請求產生部83若得知該情形,則對主機2請求等於寫入資料中1頁面大小之部分之傳送。其原因為,記憶體11係由於以頁面為單位進行資料寫入,故若按與寫入資料中1頁面大小相同之各部分(寫入資料部分)接收資料,則可高效寫入資料。 與之相反,若例如為頁面大小之1.5倍等,則根據有必要進而將寫入資料部分中之一部分暫時儲存於緩衝器等理由,有降低資料寫入效率之可能性。藉此,寫入請求若相當於自寫入地頁面前端開始寫入,則傳送請求產生部83係請求傳送自寫入資料整體之前端開始之頁面大小部分。更具體而言,若根據本例,則產生自邏輯位址0x0000開始之16kB大小之寫入資料部分之傳送請求。該傳送請求如圖10所示,經由管理部81、路由器62發送至主機2。另,寫入請求未相當於自頁面前端開始寫入之請求之情形,以第2實施形態加以說明。
傳送請求係如圖12所示,包含:LUN(標頭)102、傳送資料位址121、及傳送資料大小122。傳送資料位址121係LU62請求傳送,且顯示寫入資料部分之偏移位址。傳送資料大小122係顯示對應之寫入資料部分之大小。記憶體裝置1及主機2為UFS記憶體系統之情形,傳送請求係相當於傳送請求封包。傳送請求封包係在封包之實體部中,顯示LU62之資料傳送準備完成時,包含有傳送資料、位址121、及傳送資料大小122。
如圖10所示,主機2若接收傳送請求,則發送對應該傳送請求之寫入資料部分。資料傳送係如圖13所示,包含LUN(標頭)102、及資料131。記憶體裝置1及主機2為UFS記憶體系統之情形,資料傳送係藉由資料傳送封包來進行。資料傳送封包係在封包之實體部中,包含應傳送之資料。
來自主機2之寫入資料部分,在記憶體裝置1中,更具體而言是藉由發出對應之傳送請求之LU67來接收。接收之寫入資料部分係藉由記憶體控制部84之控制,寫入記憶區域73之適當位置。
繼而,傳送請求產生部83係產生下一個傳送請求。該傳送請求係請求繼寫入資料整體中最初之寫入資料部分後之頁面大小之部分。該第2寫入資料部分相當於邏輯位址為0x0020起之16kB大小之寫入資料部分。傳送請求係發送至主機2。接著,對應之資料部分係以與參照第1資料部分所說明之相同之順序,被寫入記憶區域73。
以下,重複相同處理。即,傳送請求產生部83係產生繼第2寫入資料部分後之自邏輯位址0x0040開始之16kB大小之第3寫入資料部分之傳送請求。對此,對應之資料部分被寫入記憶區域73。再者,傳送請求產生部83係產生繼第3寫入資料部分後之自邏輯位址0x0060開始之16kB大小之最後之寫入資料部分之傳送請求。對此,對應之資料部分被寫入記憶區域73。最後之寫入資料部分之大小亦為16kB。其原因為,寫入資料之大小為頁面大小之整數倍,且寫入請求係相當於自頁面之前端開始之寫入請求。若最後之寫入資料部分之傳送請求之發送及寫入結束,則對應之LU67之裝置伺服器(詳言之,管理部81)係將主旨為寫入成功之回應發送至主機2。藉此,資料寫入結束。
如上所述,第1實施形態之記憶體裝置係具有決定對於來自主機2之資料寫入之請求所應傳送之各寫入資料部分 之大小之權限,且請求傳送頁面大小之寫入資料部分。因此,1次傳送之寫入資料部分係具有頁面大小,且其前端及末端與寫入地之頁面之前端及末端一致。藉此,記憶體裝置2係可在將接收之寫入資料部分寫入記憶體11之同時,接收下一寫入資料部分。在資料之寫入中,記憶體成為忙碌狀態,記憶體11基於接收寫入資料之狀況。藉由如此之寫入順序,記憶體11係可高效進行寫入。
又,無論寫入資料之部分是否已儲存有資料,對於一次被寫入資料之頁面,禁止在未消除該資料之情形下再度寫入資料之記憶體中,以記憶體之頁面之大小以上之單位進行邏輯位址與邏輯位址之轉換之情形,若為使頁面不產生部分性寫入而不從主機2傳送寫入資料部分,則致使寫入效率下降。例如,在邏輯位址與邏輯位址之轉換中,自0x0000至0x0019之邏輯位址對應記憶體11之第1頁面之邏輯位址,自0x0020至0x0039之邏輯位址對應記憶體11之第2頁面之邏輯位址。此處,若從主機傳送來自邏輯位址0x0010之16kB大小之寫入資料部分,則邏輯位址0x0010至0x0019之資料儲存於第1頁面之一半,且邏輯位址0x0020至0x0029之資料儲存於第2頁面之一半。其後,記憶體裝置若自主機接收來自邏輯位址0x0000之8kB大小之寫入資料部分,則由於禁止再寫入第1頁面,故讀取儲存於第1頁面之邏輯位址0x0010至0x0019之資料,且與自主機接收之邏輯位址0x0000至0x0009之寫入資料部分一同必須儲存於新的第3頁面。寫入該第3頁面後,0x0000至x0019之邏輯 位址係對應賦予記憶體11之第3頁面之邏輯位址。如此,若進行頁面之部分性寫入,則自主機接收對頁面之末寫入部分之寫入請求時,記憶體裝置係必須將已寫入之資料複製至新頁面。此外,以記憶體區塊單位進行邏輯位址與邏輯位址之轉換之情形,由於必須以區塊單位將已寫入之資料複製至新區塊,故寫入效率會明顯下降。
另一方面,第1實施形態之記憶體裝置對主機2請求傳送之寫入資料部分係具有頁面大小,且該邏輯位址之前端對應頁面前端之邏輯位址,末端對應頁面末端之邏輯位址。因此,不會產生頁面之部分性寫入,從而可避免隨著已寫入資料之複製而使寫入效率下降。
<資料分割判斷流程>
其次,遵從圖14之流程,對第1實施形態之資料分割判斷動作加以說明。第1實施形態之記憶體裝置係遵從圖式之流程,進行資料分割判斷。
首先,在步驟S11時,記憶體裝置1係自主機裝置2接收寫入(WRITE)指令。寫入指令係例如上述圖11所示者。
繼而,在步驟S12時,記憶體裝置1係確認上述接收之寫入指令中整體之指令佇列之內容。詳言之,如圖11所示,記憶體裝置1係確認寫入指令中之LUN102、寫入指示111、位址112、及寫入資料大小113。
接著,在步驟S13時,記憶體裝置1係判定是否有必要進行資料處理之分割。具體而言,記憶體裝置1係調查各Logical Unit(67)之指令佇列所佇列之指令中寫入(write)指 令之數,且藉由該數判定是否進行資料寫入處理之分割。 本例之情形,判定是否分割之基準係如下所示:
1.佇列之Write指令為2個以上之情形
2.各Write指令之寫入大小為1頁面以上之情形
在滿足如上所述之2個條件之情形下,記憶體裝置1係分割寫入資料,且進行資料寫入。此處,詳細內容將予以後述,本例之情形,分割後寫入之資料大小以頁面為單位。此外,如圖15所述,對於1個邏輯單元(LU),來自主機裝置2之寫入指令為1個。
其次,步驟S14係於上述步驟S13判定有必要進行資料處理之分割之情形(Yes),記憶體裝置1係以分割大小執行資料傳送。
繼而,步驟S15係於上述步驟S13判定無須進行資料處理之分割之情形(No),記憶體裝置1係執行自主機裝置2所請求之資料傳送。此時,記憶體裝置1係將寫入資料之單位最大化(本例中,頁面單位)並進行資料寫入。因此,可提升資料傳送效率。
<資料分割判斷之具體例>
其次,詳言之,使用圖15對上述第1實施形態之資料分割判斷動作加以說明。此處,例舉對於邏輯單元67-1(LUN=1)與邏輯單元67-2(LUN=2),自主機2發出2個write指令,且作為上述步驟S13時將write指令分割成2個之情形。
如圖所示,首先,記憶體裝置1之記憶體控制器12係接 收自主機裝置(UFS HOST)2發出之對於2個邏輯單元67-1(LUN=1)與邏輯單元67-2(LUN=2)之2個write指令(1)、(2)。
繼而,記憶體控制器12係確認所接收之write指令(1)、(2)之整體指令佇列。
接著,記憶體控制器12係判定是否有必要分割所接收之write指令(1)、(2)之資料處理。圖示之情形中,記憶體控制器12係在各Logical Unit(67)之指令佇列所佇列之指令中寫入(write)指令之數為2個以上((1)、(2)),且各Write指令之寫入大小為1頁面以上之情形中。
因此,記憶體控制器12係判定所接收之Write指令(1)、(2)有必要分割。
因此,接著將接收之Write指令(1)、(2)分割成2個,且對於主機2,首先,發送邏輯單元67-1(LUN=1)之分割前段之寫入資料之傳送請求(Ready to Transfer LUN=1)。
接著,主機裝置2係遵從所接收之傳送請求,對記憶體控制器12發送邏輯單元67-1(LUN=1)之前段之寫入資料(Data Out UPIU LUN=1)。
其次,記憶體控制器12係將所接收之前段之寫入資料寫入對應之邏輯單元67-1(寫入其1 LUN=1)。此時,藉由記憶體控制器12,分割之寫入資料1次被寫入之大小係以頁面單位為基礎。故,自主機裝置來看,記憶體裝置1此時開始進入忙碌(BUSY)期間(1)。記憶體裝置1係將忙碌(BUSY)訊號發送至主機裝置2。
此處,如圖中以虛線包圍之部分所示,記憶體控制器12係在為將上述資料寫入邏輯單元67-1(LUN=1)而進行存取之忙碌(BUSY)期間(1),進行下一資料寫入對象即邏輯單元67-2(LUN=2)之前段之資料請求,且同樣對於主機裝置2進行寫入資料之接收。
即,記憶體控制器12係在上述忙碌(BUSY)期間(1),對主機裝置2進行下一資料寫入對象即邏輯單元67-2(LUN=2)之資料傳送請求(Ready to Transfer LUN=2),且同樣自主機裝置2接收寫入資料(Data Out UPIU LUN=2)。
如此,在圖示之例中,將朝記憶體裝置1之存取大小分割成前段及後段2部分,開始對邏輯單元67-1(LUN=1)進行寫入,在該邏輯單元67-1(LUN=1)之前段寫入之過程中,進行下一邏輯單元67-2(LUN=2)之前段之寫入資料之請求與該資料之接收。藉此,可謀求對記憶體裝置1之存取之效率化,亦可提升對主機裝置2之應答性能。
接著,若對邏輯單元67-1(LUN=1)之前段之資料寫入結束,則記憶體控制器12係可立即將自主機裝置2接收之寫入資料(Data Out UPIU LUN=2)寫入(寫入其1 LUN=2)對應之邏輯單元67-2(LUN=2)。記憶體裝置1係自此開始進入忙碌(BUSY)期間(2)。記憶體裝置1係同樣將忙碌(BUSY)訊號發送至主機裝置2。
此處,與上述相同,記憶體控制器12係在為將上述資料寫入邏輯單元67-2(LUN=2)而進行存取之忙碌(BUSY)期間(2),進行下一資料寫入對象即邏輯單元67-1(LUN=1)之分 割後段之資料請求(Ready to Transfer LUN=1),且同樣對主機裝置2進行寫入資料之接收(Data Out UPIU LUN=1)。
接著,若邏輯單元67-2(LUN=2)之前段之資料寫入結束,則記憶體控制器12係可立即將自主機裝置2接收之後段之寫入資料(Data Out UPIU LUN=1)寫入(寫入其2LUN=1)對應之邏輯單元67-1(LUN=1)。記憶體裝置1係自此開始進入忙碌(BUSY)期間(3)。記憶體裝置1係同樣將忙碌(BUSY)訊號發送至主機裝置2。
此處,與上述相同,記憶體控制器12係在為將上述後段資料寫入邏輯單元67-1(LUN=1)而進行存取之忙碌(BUSY)期間(3),進行下一資料寫入對象即邏輯單元67-2(LUN=2)之分割後段之資料請求(Ready to Transfer LUN=2),且同樣對主機裝置2進行寫入資料之接收(Data Out UPIU LUN=2)。
接著,若邏輯單元67-1(LUN=1)之後段之資料寫入結束,則記憶體控制器12係可立即將自主機裝置2接收之後段之寫入資料(Data Out UPIU LUN=2)寫入(寫入其2LUN=2)對應之邏輯單元67-2(LUN=2)。記憶體裝置1係自此開始進入忙碌(BUSY)期間(4)。記憶體裝置1係同樣將忙碌(BUSY)訊號發送至主機裝置2。
繼而,記憶體控制器12係藉由邏輯單元67-2(LUN=2)之後段之寫入資料(Data Out UPIU LUN=2)完成,而結束忙碌(BUSY)期間(4),從而將資料寫入完成發送至主機裝置2。
另,第1實施形態中,以資料寫入(Write)之情形為例加以說明。然而,在資料讀取(Read)之情形,只要以記憶體裝置1之適合之資料大小進行分割並將資料發送至主機2即可。因此,資料讀取之情形中,不進行如資料寫入之寫入資料之請求。
<作用效果>
根據第1實施形態之記憶體裝置及其控制方法,至少可取得下述(1)之效果。
(1)可謀求對記憶體裝置1之存取之效率化,亦可謀求對主機裝置2之應答性能提升。
如上所述,本例之記憶體控制器12係判定是否有必要分割資料處理。具體而言,記憶體控制器12調查各Logical Unit(67)之指令佇列所佇列之指令中寫入(write)指令之數,且由該數判定是否進行資料寫入處理之分割。若滿足分割資料寫入處理條件之情形,記憶體控制器12分割所接收之寫入資料,且進行資料寫入。
具體而言,如圖15所示之情形,記憶體控制器12判定有必要分割所接收之Write指令(1)、(2)。其結果,如圖15中虛線包圍之部分所示,記憶體控制器12在為將前段資料寫入邏輯單元67-1(LUN=1)而進行存取之忙碌(BUSY)期間(1),進行下一資料寫入對象即邏輯單元67-2(LUN=2)之前段之資料請求,且同樣對於主機裝置2進行寫入資料之接收。
即,記憶體控制器12係在上述忙碌(BUSY)期間(1),對 主機裝置2進行下一資料寫入對象即邏輯單元67-2(LUN=2)之資料傳送請求(Ready to Transfer LUN=2),且同樣自主機裝置2接收寫入資料(Data Out UPIU LUN=2)。
如此,在本例中,將對記憶體裝置1之存取大小分割成前段及後段2部分,先對邏輯單元67-1(LUN=1)進行前段之寫入,在該邏輯單元67-1(LUN=1)之前段寫入之過程中,進行下一邏輯單元67-2(LUN=2)之前段之寫入資料之請求與該資料之接收。
因此,例如圖16所示,為在時刻t1與t2之間之忙碌期間(Busy(1)之邏輯單元67-1(LUN=1))寫入前段資料而進行存取之過程中(寫入資料:DT1~DTn),可同時進行下一資料寫入對象即邏輯單元67-2(LUN=2)之前段之資料請求,並接收寫入資料。
藉此,可立即在時刻t3與t4之間之忙碌期間(Busy(2)),將前段資料寫入(寫入資料:DT1~DTn)邏輯單元67-2(LUN=2)。同樣的,在該忙碌期間(Busy(2))之間,可同時進行下一資料寫入對象即邏輯單元67-1(LUN=1)之後段之資料請求,並接收寫入資料。
藉此,可謀求對記憶體裝置1之存取之效率化,且亦可提升對主機裝置2之應答性能。
如此,以本例之UFS規格等,對於資料之發送接收,由記憶體裝置1側握有主導權。因此,在本例中發揮特性,以提升對NAND型快閃記憶體之存取性能之頁面單位之大小來分割寫入、讀取處理。故,僅藉由1個處理即可防止 記憶體裝置1被佔有,從而提升記憶體裝置1之存取效率。同時亦可提升對主機裝置2之應答性能。
此處,以本例所說明之UFS規格,主機裝置2可對記憶體裝置1上之不同之邏輯單元(LU)獨立地發出指令。此外,各分區係可將指令佇列。各分區所發出之指令從主機裝置2來看,必須形同獨立進行動作。
為清除該限制,伴隨對記憶體裝置1之存取之指令係根據記憶體裝置1之內部狀態,分割對NAND型快閃記憶體之存取處理。分割之單位在本例中較好為對NAND型快閃記憶體進行存取之最大單位,即頁面單位或消除區塊單位等。該係由於一次寫入資料/讀取資料之存取大小較大者具有提升對NAND型快閃記憶體11進行資料寫入/資料讀取時之性能之性質。
因此,本例之步驟S14中,主機裝置(Application Client)2所發出之指令較少,無需資料分割時,將對記憶體裝置1進行存取之資料單位最大化(本例為頁面單位),從而提升資料傳送效率。
另一方面,步驟S15中發出之指令較多,有必要進行資料分割時,為提升對主機裝置2之應答性能,而分割對記憶體裝置1進行存取之單位。
(2)除NAND型快閃記憶體以外,亦對下一代之非揮發性記憶體有利。
此處,UFS規格係對應非揮發性記憶體之介面規格。作為UFS記憶體裝置係設想例如以本例所說明之NAND型快 閃記憶體11與控制器12來構成。
然而,除本例所說明之NAND型快閃記憶體11之外,亦著眼於例如使用ReRAM(Resistance Random Access Memory電阻式隨機存取記憶體)、MRAM(Magnetic Random Access Memory磁性隨機存取記憶體)等之下一代非揮發性記憶體。
因此,除NAND型快閃記憶體11以外,亦對如上所述之下一代之非揮發性記憶體有利。
[第2實施形態(進而關於Read指令之一例)]
其次,對第2實施形態之記憶體裝置,使用圖17加以說明。第2實施形態係進而關於Read指令者。該說明中,與上述第1實施形態重複之部分將省略細節說明。
<資料分割判定流程>
遵從圖17之流程,對第2實施形態之資料分割判斷動作加以說明。
首先,步驟S21中,記憶體裝置1自主機裝置2接收寫入(WRITE)指令或讀取(READ)指令之點係與上述第1實施形態不同。
其次,步驟S22中,記憶體裝置1係確認上述接收之寫入指令及讀取(READ)指令中之全體之指令佇列之內容。
繼而,步驟S23中,記憶體裝置1係判定是否有必要分割資料處理。詳言之,記憶體裝置1係調查各Logical Unit(67)之指令佇列所佇列之指令中write指令與read指令之數,且藉由該數判定是否分割資料寫入處理。本例之情形,判定是否分割之基準係如下所示:
1.佇列之Write指令與Read指令之合計為2個以上之情形
2.各Write指令、Read指令之寫入大小、讀取大小為1頁面以上之情形
在滿足如上所述之2個條件之情形下,記憶體裝置1係分割Write指令/Read指令,且分割寫入資料/讀取資料,並進行資料寫入/資料讀取。此處,分割並寫入/讀取之資料大小亦同樣以頁面為單位。
之後,進行與上述第1實施形態相同之處理,從而完成資料分割判斷。
關於其他構成、動作等,與上述第1實施形態實質性相同。
<作用效果>
如上所述,若根據第2實施形態之記憶體裝置及其控制方法,至少可取得與上述(1)至(2)相同之效果。再者,如第2實施形態之說明,根據需要,亦可同樣應用於資料讀取之情形,並可取得相同效果。
[第3實施形態(進而關於查詢請求之一例)]
其次,對第3實施形態之記憶體裝置加以說明。第3實施形態係進而將查詢請求加入判定基準而判定者。該說明中,與上述第1實施形態重複之部分將省略細節說明。
<資料分割判定流程>
雖省略圖示,但在上述步驟S13等時,記憶體裝置1係判定是否有必要分割資料處理。詳言之,記憶體裝置1係調查各Logical Unit(67)之指令佇列所佇列之指令中write指令 與read指令之數,且藉由該數判定是否分割資料寫入處理。本例之情形,判定是否分割之基準係例如增加查詢請求(Query Request),並在如下要點上有所區別:
1.佇列之Write指令、Read指令之合計為1個以上之情形
2.佇列之Query Request(Read DESCRIPTOR/WRITE DESCRIPTOR讀取描述符號/寫入描述符號)指令為1個以上之情形
3.各Write指令、Read指令之寫入大小、讀取大小為1頁面以上之情形
此處,查詢請求(Query Request)係主要被用於取得記憶體裝置1之資訊。例如,來自主機2之記憶體裝置1之組態資訊之變更及輸出請求等。查詢請求與上述資料傳送請求之關係係由於查詢請求之處理係詢問處理,處理時間亦較短,故優先進行處理。此外,在分割資料之寫/讀動作中,關於何時執行查詢請求係在進程中之write/read處理結束後,進行查詢處理。
在滿足如上所述之3個條件之情形下,記憶體裝置1係分割寫入資料/讀取資料,且進行資料寫入/資料讀取。此處,分割並寫入/讀取之資料大小亦同樣以頁面為單位。
之後,進行與上述第1實施形態相同之處理,從而完成資料分割判斷。
關於其他構成、動作等,與上述第1實施形態實質性相同。
<作用效果>
如上所述,若根據第3實施形態之記憶體裝置及其控制方法,至少可取得與上述(1)至(2)相同之效果。再者,如第3實施形態之說明,根據需要,增加查詢請求之判斷,亦可同樣應用,並可取得相同效果。
[第4實施形態(進而關於Read指令之一例)]
其次,對第4實施形態之記憶體裝置加以說明。在該說明中,省略與上述第1實施形態重複部分之細節說明。
<資料分配判斷流程>
此處,可於邏輯單元67設定存取之優先度。
因此,例如在本例之上述步驟S13等中,對更高優先度之邏輯單元67進行存取處理之情形下不進行分割之點係與上述實施形態不同。
例如,以邏輯單元67-1(LUN=1)比邏輯單元67-2(LUN=2)有更高優先度之情形作為一例。
該情形,對於邏輯單元67-1(LUN=1)與邏輯單元67-2(LUN=2),若自主機2發出2個write指令(1)、(2),則例如上述步驟S13中,記憶體控制器12係不進行如上所述之資料分割處理。該情形下,記憶體控制器12係首先進行對write指令(1)之邏輯單元67-1(LUN=1)之資料寫入。
<作用效果>
如上所述,若根據第4實施形態之記憶體裝置及其控制方法,至少可取得與上述(1)至(2)相同之效果。再者,根據需要,亦可應用第4實施形態。
本發明雖對數個實施形態加以說明,但該等實施形態係 僅作為例示而提出,且並非意欲限定本發明之範圍。該等新穎之實施形態係可以多種形態而體現,且在未脫離本發明主旨之範圍內,能夠進行多種省略、置換及變更。該等實施形態或其變形係包含於本發明之範圍及主旨,且涵蓋於專利申請範圍所記述之發明與其等效物之範圍內。
例如,上述實施形態中,記憶體裝置對主機請求傳送之寫入資料部分雖係記憶體之1頁面份之大小,但該寫入資料部分之大小並不限定於1頁面份,亦可為頁面大小之整數倍。此外,上述實施形態中,寫入請求不相當於自頁面前端寫入之請求之情形,雖請求將相當於寫入資料之前端至寫入地之頁面之末端之大小部分作為第1寫入資料部分,但亦可請求將相當於至該寫入地之頁面之末端之大小部分、與接續其之頁面大小(或,頁面大小之整數倍)之資料相加,作為第1寫入資料部分。
1‧‧‧記憶體裝置
2‧‧‧主機裝置
11‧‧‧半導體記憶體
12‧‧‧記憶體控制器
21‧‧‧I/O
22‧‧‧核心邏輯部
23‧‧‧I/O
31‧‧‧主機介面
32‧‧‧緩衝器
33‧‧‧資料匯流排
34‧‧‧記憶體介面
35‧‧‧緩衝器
36‧‧‧ECC電路
41‧‧‧控制匯流排
42‧‧‧CPU
43‧‧‧ROM
45‧‧‧操作RAM
46‧‧‧暫存器
51‧‧‧類比端口電路
61‧‧‧目標端端口
62‧‧‧路由器
63‧‧‧裝置管理器
64‧‧‧描述符號
65‧‧‧屬性
66‧‧‧旗標
67‧‧‧邏輯單元
71‧‧‧裝置伺服器
72‧‧‧任務管理器
73‧‧‧記憶區域
81‧‧‧管理部
82‧‧‧指令解析部
83‧‧‧傳送請求產生部
84‧‧‧記憶體控制部
101‧‧‧封包
102‧‧‧LUN
103‧‧‧實體部
111‧‧‧寫入指令
112‧‧‧位址
113‧‧‧寫入資料大小
121‧‧‧傳送資料位址
122‧‧‧傳送資料大小
131‧‧‧資料
201‧‧‧印刷基板
202‧‧‧導線
203‧‧‧封裝體
圖1係顯示記憶體裝置與主機裝置之間資料寫入時之通訊例之圖。
圖2係顯示基於參考例之用戶端-伺服器模型之記憶體裝置與主機裝置之間之資料寫入時之通訊例之圖。
圖3係顯示參考例之主機裝置與記憶體裝置之圖。
圖4係顯示第1實施形態之記憶體裝置之硬體上之構成圖。
圖5係顯示記憶體裝置密封形態之例之圖。
圖6係顯示第1實施形態之記憶體裝置之功能區塊之圖。
圖7係顯示第1實施形態之封包之例之圖。
圖8係顯示邏輯位址與邏輯區塊之轉換表之例之圖。
圖9係更詳細顯示第1實施形態之LU之功能區塊之圖。
圖10係顯示第1實施形態之資料寫入時之通訊情況之圖。
圖11係例示寫入指令之圖。
圖12係例示用以傳送請求之通訊內容之圖。
圖13係例示用以資料傳送之通訊內容之圖。
圖14係顯示第1實施形態之記憶體裝置之資料分割判斷之流程圖。
圖15係更具體顯示第1實施形態之記憶體裝置之資料分割之圖。
圖16係顯示圖15中之忙碌期間(1)、(2)中2個邏輯單元之存取狀況之圖。
圖17係顯示第2實施形態之記憶體裝置之資料分割判斷之流程圖。

Claims (18)

  1. 一種記憶體裝置,其特徵為包含:非揮發性記憶體,其係以複數個單元(cell)為單位,進行資料寫入或資料讀取;及控制器,其係控制上述記憶體,將上述記憶體之記憶空間劃分成至少第1分區及第2分區來進行管理;上述控制器係:對於上述第1分區及上述第2分區使彼此獨立,來接收資料寫入請求,在接收到資料寫入請求之情形時,判定與上述資料寫入請求相關的寫入資料之資料大小是否需要分割,於判定上述資料大小需要分割之情況時,分割上述寫入資料之資料大小,且在進行上述第1分區之資料寫入之期間,進行上述第2分區之寫入資料之資料請求,並進行上述寫入資料之接收。
  2. 如請求項1之記憶體裝置,其中上述控制器係在接收到資料讀取請求之情形時,分割讀取資料之資料大小,且從上述記憶體進行資料讀取。
  3. 如請求項1之記憶體裝置,其中上述控制器係在判斷無須分割上述資料大小之情形時,以將寫入資料或讀取資料之資料大小最大化後之上述複數個單元為單位,進行資料寫入或資料讀取。
  4. 如請求項1之記憶體裝置,其中分割上述資料大小之單 位係進行上述資料寫入或資料讀取之複數個單元之單位。
  5. 如請求項1之記憶體裝置,其中上述控制器判定是否需要分割上述資料大小之基準係滿足如下2個條件之情形:1.被請求對至少上述第1及第2分區進行資料寫入或資料讀取之情形;2.上述資料寫入請求或上述資料讀取請求之各者之資料大小為上述複數個單元之單位以上之情形。
  6. 如請求項1之記憶體裝置,其中上述控制器判定是否需要分割上述資料大小之基準係滿足如下3個條件之情形:1.被請求對至少上述第1或第2分區進行資料寫入或資料讀取之情形;2.至少有1個以上之查詢請求之情形;3.上述資料寫入請求或上述資料讀取請求之各者之資料大小為上述複數個單元之單位以上之情形。
  7. 如請求項1之記憶體裝置,其中上述第1分區之優先度高於上述第2分區之情形,上述控制器不進行上述寫入資料之資料大小之分割,而進行上述第1分區之資料寫入。
  8. 如請求項1之記憶體裝置,其中上述記憶體裝置係基於UFS之記憶體裝置。
  9. 如請求項1之記憶體裝置,其中上述資料寫入請求或資 料讀取請求係SCSI(Small Computer System Interface)指令。
  10. 一種記憶體裝置之控制方法,其特徵為:該記憶體裝置係包含以複數個單元為單位進行資料寫入或資料讀取之非揮發性記憶體,且將上述記憶體之記憶空間劃分成至少第1分區及第2分區進行管理者;且該控制方法係:對於上述第1分區及上述第2分區使彼此獨立,來接收資料寫入請求,在接收到資料寫入請求之情形時,判定與上述資料寫入請求相關的寫入資料之資料大小是否需要分割,於判定上述資料大小需要分割之情形時,分割上述寫入資料之資料大小,在進行上述第1分區之資料寫入之期間,進行上述第2分區之寫入資料之資料請求,並進行上述寫入資料之接收。
  11. 如請求項10之記憶體裝置之控制方法,其中在接收到資料讀取請求之情形時,分割讀取資料之資料大小,且從上述記憶體進行資料讀取。
  12. 如請求項10之記憶體裝置之控制方法,其中在判斷無須分割上述資料大小之情形時,以將寫入資料或讀取資料之資料大小最大化後之上述複數個單元為單位,進行資料寫入或資料讀取。
  13. 如請求項10之記憶體裝置之控制方法,其中分割上述資料大小之單位係進行上述資料寫入或資料讀取之複數個 單元之單位。
  14. 如請求項10之記憶體裝置之控制方法,其中判定是否需要分割上述資料大小之基準係滿足如下2個條件之情形:1.被請求對至少上述第1及第2分區進行資料寫入或資料讀取之情形;2.上述資料寫入請求或上述資料讀取請求之各者之資料大小為上述複數個單元之單位以上之情形。
  15. 如請求項10之記憶體裝置之控制方法,其中判定是否需要分割上述資料大小之基準係滿足如下3個條件之情形:1.被請求對至少上述第1或第2分區進行資料寫入或資料讀取之情形;2.至少有1個以上之查詢請求之情形;3.上述資料寫入請求或上述資料讀取請求之各者之資料大小為上述複數個單元之單位以上之情形。
  16. 如請求項10之記憶體裝置之控制方法,其中在上述第1分區之優先度高於上述第2分區之情形下,不進行上述寫入資料之資料大小之分割,而進行上述第1分區之資料寫入。
  17. 如請求項10之記憶體裝置之控制方法,其中上述記憶體裝置係基於UFS之記憶體裝置。
  18. 如請求項10之記憶體裝置,其中上述資料寫入請求或資料讀取請求係SCSI(Small Computer System Interface)指令。
TW101107523A 2011-09-21 2012-03-06 Memory device and control method thereof TWI463317B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011206227A JP5547154B2 (ja) 2011-09-21 2011-09-21 メモリ・デバイス

Publications (2)

Publication Number Publication Date
TW201314451A TW201314451A (zh) 2013-04-01
TWI463317B true TWI463317B (zh) 2014-12-01

Family

ID=47881750

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101107523A TWI463317B (zh) 2011-09-21 2012-03-06 Memory device and control method thereof

Country Status (4)

Country Link
US (1) US8843696B2 (zh)
JP (1) JP5547154B2 (zh)
CN (1) CN103019970B (zh)
TW (1) TWI463317B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI526838B (zh) * 2013-02-27 2016-03-21 東芝股份有限公司 記憶體裝置
KR20140113176A (ko) * 2013-03-15 2014-09-24 삼성전자주식회사 매핑 정보 업데이트 방법 및 이를 이용한 메모리 시스템
JP5976937B2 (ja) * 2013-07-26 2016-08-24 株式会社日立製作所 コンピュータシステム
US9535829B2 (en) 2013-07-26 2017-01-03 Intel Corporation Non-volatile memory interface
US9519440B2 (en) * 2013-09-10 2016-12-13 Qualcomm Incorporated Providing command queuing in embedded memories
US9824004B2 (en) 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
US10108372B2 (en) 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US9454310B2 (en) * 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
KR20150112075A (ko) * 2014-03-26 2015-10-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
JP6130971B2 (ja) * 2014-06-27 2017-05-17 華為技術有限公司Huawei Technologies Co.,Ltd. データをフラッシュメモリ装置に書き込む方法、フラッシュメモリ装置及び記憶システム
US20160124876A1 (en) * 2014-08-22 2016-05-05 HGST Netherlands B.V. Methods and systems for noticing completion of read requests in solid state drives
US20160070656A1 (en) * 2014-09-05 2016-03-10 Qualcomm Incorporated Write protection management systems
US10146475B2 (en) 2014-09-09 2018-12-04 Toshiba Memory Corporation Memory device performing control of discarding packet
US10061515B2 (en) * 2014-09-11 2018-08-28 Toshiba Memory Corporation Information processing apparatus and memory system
US10067688B2 (en) 2015-01-23 2018-09-04 Qualcomm Incorporated Storage resource management in virtualized environments
CN104955104B (zh) * 2015-05-27 2018-07-24 北京邮电大学 一种数据的传输方法和装置
US20170060460A1 (en) * 2015-08-31 2017-03-02 Megachips Corporation Memory controller
KR102427262B1 (ko) * 2015-09-11 2022-08-01 삼성전자주식회사 랜덤 액세스 메모리 장치들 및 불휘발성 메모리 장치들을 포함하는 저장 장치
KR102498223B1 (ko) * 2015-10-13 2023-02-09 삼성전자주식회사 Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법
US10425484B2 (en) * 2015-12-16 2019-09-24 Toshiba Memory Corporation Just a bunch of flash (JBOF) appliance with physical access application program interface (API)
US10444999B2 (en) 2016-10-13 2019-10-15 Qualcomm Incorporated Universal flash storage (UFS) host design for supporting embedded UFS and UFS card
KR102665270B1 (ko) * 2016-11-09 2024-05-13 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10802736B2 (en) * 2017-07-27 2020-10-13 Qualcomm Incorporated Power down mode for universal flash storage (UFS)
JP7167291B2 (ja) * 2017-12-08 2022-11-08 キオクシア株式会社 メモリシステムおよび制御方法
JP6967959B2 (ja) 2017-12-08 2021-11-17 キオクシア株式会社 メモリシステムおよび制御方法
US10878859B2 (en) * 2017-12-20 2020-12-29 Micron Technology, Inc. Utilizing write stream attributes in storage write commands
KR102545229B1 (ko) * 2018-05-04 2023-06-21 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200088713A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
JP7213712B2 (ja) * 2019-02-14 2023-01-27 キオクシア株式会社 不揮発性半導体記憶装置
JP2020144410A (ja) 2019-03-04 2020-09-10 キオクシア株式会社 メモリコントローラ
KR20210016938A (ko) * 2019-08-06 2021-02-17 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작방법
US20230063890A1 (en) * 2021-08-27 2023-03-02 Micron Technology, Inc. Measuring change in a channel characteristic to detect memory device attack
CN114489488B (zh) * 2021-12-29 2024-09-03 山东云海国创云计算装备产业创新中心有限公司 数据读写方法、nand控制器及计算机可读存储介质
CN114627938A (zh) * 2022-03-16 2022-06-14 英韧科技(上海)有限公司 数据写入方法和装置以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105071A (ja) * 1993-09-30 1995-04-21 Sony Corp 情報転送装置及び情報記録装置
TW201128397A (en) * 2010-02-12 2011-08-16 Phison Electronics Corp Data writing method for non-volatile memory and controller and storage system using the same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3330187B2 (ja) * 1993-05-13 2002-09-30 株式会社リコー メモリカード
US7093059B2 (en) * 2002-12-31 2006-08-15 Intel Corporation Read-write switching method for a memory controller
US7427027B2 (en) 2004-07-28 2008-09-23 Sandisk Corporation Optimized non-volatile storage systems
US20090307427A1 (en) 2006-03-31 2009-12-10 Hitachi Ulsi Systems Co., Ltd. Memory card and method of writing data
US8874994B2 (en) * 2011-07-22 2014-10-28 Sandisk Technologies Inc. Systems and methods of storing data
JP5677336B2 (ja) * 2011-08-01 2015-02-25 株式会社東芝 メモリ・デバイス
JP2013077278A (ja) * 2011-09-16 2013-04-25 Toshiba Corp メモリ・デバイス
JP5694101B2 (ja) * 2011-09-20 2015-04-01 株式会社東芝 メモリ・デバイス、ホスト・デバイス

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105071A (ja) * 1993-09-30 1995-04-21 Sony Corp 情報転送装置及び情報記録装置
TW201128397A (en) * 2010-02-12 2011-08-16 Phison Electronics Corp Data writing method for non-volatile memory and controller and storage system using the same

Also Published As

Publication number Publication date
JP2013069059A (ja) 2013-04-18
CN103019970B (zh) 2015-10-14
US20130073795A1 (en) 2013-03-21
CN103019970A (zh) 2013-04-03
TW201314451A (zh) 2013-04-01
JP5547154B2 (ja) 2014-07-09
US8843696B2 (en) 2014-09-23

Similar Documents

Publication Publication Date Title
TWI463317B (zh) Memory device and control method thereof
CN110088723B (zh) 用于对提交队列和完成队列进行处理并且做出仲裁的系统和方法
US10866740B2 (en) System and method for performance-based multiple namespace resource allocation in a memory
CN108628777B (zh) 动态和自适应中断合并的系统和方法
TWI494757B (zh) Memory device
US10564872B2 (en) System and method for dynamic allocation to a host of memory device controller memory resources
JP5677336B2 (ja) メモリ・デバイス
JP5547148B2 (ja) メモリデバイス
JP5481453B2 (ja) メモリデバイス
US11188251B2 (en) Partitioned non-volatile memory express protocol for controller memory buffer
US8799605B2 (en) Initializing and writing to a nonvolatile storage device based on a client/server model
TW201931123A (zh) 記憶體系統及控制方法
TW201716980A (zh) 資料儲存設備及其操作方法
US12050809B2 (en) Multi-pass data programming in a memory sub-system having multiple dies and planes
TWI684860B (zh) 用來進行讀取加速之方法以及資料儲存裝置及其控制器
US11334493B2 (en) Memory system and operating method thereof
US10346052B2 (en) Memory system with priority processing and operating method thereof
KR102219759B1 (ko) 저장 장치, 그것을 포함하는 데이터 저장 시스템 및 그것의 동작 방법
TWI786288B (zh) 儲存裝置、儲存裝置的控制方法及記錄媒體
KR20220135786A (ko) 메모리 시스템에 포함된 복수의 메모리 장치에서 수행되는 동작에 대해 스케줄링하는 장치 및 방법
TWI486966B (zh) 快閃記憶體儲存裝置、其控制器與寫入管理方法
TWI854078B (zh) 用以分配儲存裝置的多個記憶通道以進行串流資料寫入的方法、儲存裝置及其記錄媒體
KR102254101B1 (ko) 데이터 처리 시스템 및 이의 동작 방법
TWI685847B (zh) 資料儲存裝置之非揮發式記憶體的命名空間規劃

Legal Events

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