TWI688864B - 儲存設備及儲存方法 - Google Patents
儲存設備及儲存方法 Download PDFInfo
- Publication number
- TWI688864B TWI688864B TW107130612A TW107130612A TWI688864B TW I688864 B TWI688864 B TW I688864B TW 107130612 A TW107130612 A TW 107130612A TW 107130612 A TW107130612 A TW 107130612A TW I688864 B TWI688864 B TW I688864B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage
- storage device
- main controller
- interface
- ready
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
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)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供一種儲存設備和儲存方法。儲存設備包含一或多個儲存裝置、介面擴充器以及主控制器。儲存裝置包含儲存模組、儲存控制電路以及就緒/忙引腳。儲存控制電路依據儲存模組的運作狀態以產生運作狀態訊號,通過就緒/忙引腳輸出運作狀態訊號。主控制器輸出介面訊號至介面擴充器,要求介面擴充器提供運作狀態訊號。介面擴充器依據介面訊號偵測儲存裝置的就緒/忙引腳,以接收來自儲存裝置的運作狀態訊號並輸出至主控制器。主控制器依據運作狀態訊號判斷儲存裝置處於忙碌狀態或就緒狀態,並據以輸出控制訊號控制儲存裝置運作。
Description
本發明是有關於一種儲存設備及儲存方法,且特別是有關於一種配置就緒/忙(Ready/Busy)引腳輸出就緒狀態以及忙碌狀態的儲存設備及儲存方法。
個人電腦(Personal Computer,PC)和其他電子裝置的主機一般採用硬碟驅動器(Hard DiskDrive,HDD)等大容量儲存器儲存大量數據。固態硬碟(SolidState Drive,SSD)由於其內部不存在任何機械部件,從而即使在高速移動甚至伴隨翻轉傾斜的情況下也不會影響到正常使用,而且在發生碰撞和震盪時能夠將數據丟失的可能性降到最小。因此固態硬碟將代替硬碟和光碟,成為優選的大容量儲存裝置。
為解決習知技術的缺失,本發明的目的在於提供一種儲存設備,包含一或多個儲存裝置、介面擴充器以及主控制器。各儲存裝置包含儲存模組、儲存控制電路以及一或多個就緒/忙引腳。儲存控制電路連接儲存模組以及就緒/忙引腳。儲存控制電路依據儲存模組的運作狀態以產生運作狀態訊號,通過就緒/忙引腳輸出運作狀態訊號。介面擴充器連接一或多個儲存裝置的就緒/忙引腳。
介面擴充器偵測一或多個儲存裝置的就緒/忙引腳,以接收來自一或多個儲存裝置的一或多個運作狀態訊號,並輸出介面訊號指定的任一或多個儲存裝置的一或多個運作狀態訊號。主控制器連接介面擴充器以及儲存裝置。主控制器輸出介面訊號至介面擴充器,以要求介面擴充器提供任一或多個儲存裝置的一或多個運作狀態訊號。主控制器依據運作狀態訊號判斷對應的儲存裝置處於忙碌狀態或就緒狀態,並據以輸出控制訊號控制儲存裝置運作。
另外,本發明的目的在於提供一種儲存方法,包含以下步驟:利用一或多個儲存裝置中的各儲存裝置的儲存控制電路,依據儲存模組的運作狀態以產生運作狀態訊號;通過各儲存裝置的就緒/忙引腳輸出運作狀態訊號;利用主控制器輸出介面訊號至介面擴充器,以要求介面擴充器提供儲存裝置的運作狀態訊號;利用介面擴充器,依據介面訊號偵測各儲存裝置的就緒/忙引腳,以輸出來自儲存裝置的運作狀態訊號;以及利用主控制器,依據運作狀態訊號判斷各儲存裝置處於忙碌狀態或就緒狀態,輸出控制訊號以控制儲存裝置運作。
如上所述,相比於利用匯流排發出讀取狀態命令,以判斷儲存裝置是否為就緒狀態,本發明所提供的儲存設備和儲存方法,其主控制器是依據就緒/忙引腳(Ready/Busy)輸出的運作狀態訊號包含忙碌狀態以及就緒狀態訊息來判斷儲存裝置的運作狀態。再者,在運作狀態訊號的傳輸過程中,是透過介面擴充裝置的GPIO介面接收儲存裝置通過就緒/忙引腳輸出的運作狀態訊號,以及接著透過介面擴充裝置的I2C/SPI介面傳輸運作狀態訊號至主控制器。因此,本發明具有精確度較高的優勢,不需占用匯流排頻寬,且不會大幅增加主控制器的引腳數量。
100‧‧‧主控制器
101‧‧‧介面訊號
200‧‧‧介面擴充器
300‧‧‧儲存裝置
310‧‧‧儲存控制電路
301‧‧‧運作狀態訊號
RBN‧‧‧就緒/忙引腳
RWBUS‧‧‧匯流排
AR‧‧‧儲存模組
210‧‧‧I2C/SPI介面
220‧‧‧GPIO介面
302‧‧‧控制訊號
DS‧‧‧原始數據
DU‧‧‧新數據
BLK11~BLK14、BLK21~BLK24、BLK31~BLK34、BLK41~BLK44‧‧‧記憶體晶胞
S301~S309、S401~S411、S501~S517、S601~S617、S701~S709‧‧‧步驟
圖1是本發明第一實施例的儲存設備的方塊圖。
圖2是本發明第二實施例的儲存設備的方塊圖。
圖3是本發明第三實施例的儲存方法的步驟流程圖。
圖4是本發明第四實施例的儲存方法的步驟流程圖。
圖5是本發明第五實施例的儲存方法的步驟流程圖。
圖6是本發明第六實施例的儲存方法的步驟流程圖。
圖7是本發明第七實施例的儲存方法的步驟流程圖。
以下是通過特定的具體實施例來說明本發明所揭露有關本發明的實施方式,本領域技術人員可由本說明書所揭露的內容瞭解本發明的優點與效果。本發明可通過其他不同的具體實施例加以施行或應用,本說明書中的各項細節也可基於不同觀點與應用,在不悖離本發明的構思下進行各種修改與變更。另外,本發明的附圖僅為簡單示意說明,並非依實際尺寸的描繪,事先聲明。以下的實施方式將進一步詳細說明本發明的相關技術內容,但所揭露的內容並非用以限制本發明的保護範圍。
應理解,雖然本文中可能使用術語第一、第二、第三等來描述各種元件或者訊號,但這些元件或者訊號不應受這些術語的限制。這些術語主要是用以區分一元件與另一元件,或者一訊號與另一訊號。另外,本文中所使用的術語“或”,應視實際情況可能包括相關聯的列出項目中的任一個或者多個的組合。
為了解釋清楚,在一些情況下,本技術可被呈現為包括包含功能塊的獨立功能塊,其包含裝置、裝置元件、軟體中實施的方法中的步驟或路由,或硬體及軟體的組合。
實施根據這些揭露方法的裝置可以包括硬體、韌體及/或軟體,且可以採取任何各種形體。這種形體的典型例子包括筆記型電腦、智慧型電話、小型個人電腦、個人數位助理等等。本文描述之功能也可以實施於週邊設備或內置卡。透過進一步舉例,這
種功能也可以實施在不同晶片或在單個裝置上執行的不同程序的電路板。
該指令、用於傳送這樣的指令的介質、用於執行其的計算資源或用於支持這樣的計算資源的其他結構,係為用於提供在這些揭露中所述的功能的手段。
[第一實施例]
請參閱圖1,其是本發明第一實施例的儲存設備的方塊圖。如圖1所示,儲存設備包含主控制器100、介面擴充器200、以及多個儲存裝置300。介面擴充器200連接主控制器100以及多個儲存裝置300。多個儲存裝置300連接主控制器100。
儲存裝置300可例如為揮發性記憶體或非揮發性記憶體。每一個儲存裝置300可具有一或多個就緒/忙引腳RBN。每一個儲存裝置300透過就緒/忙引腳RBN連接介面擴充器200。在本實施例中,以六個儲存裝置300為例,但實務上可依需求減少或擴充儲存裝置300。另外,主控制器100可透過匯流排例如控制匯流排以及數據匯流排等其他適合的匯流排RWBUS,連接至儲存裝置300的控制引腳以及數據輸出入引腳。
主控制器100可例如為固態硬碟控制器,本發明不以此為限。主控制器100可輸出介面訊號101至介面擴充器200,以要求介面擴充器200提供儲存裝置300的運作狀態。值得注意的是,當介面擴充器200接收到主控制器100的介面訊號101時,介面擴充器200可依據介面訊號101同時或依序偵測多個儲存裝置300的多個就緒/忙引腳RBN。介面擴充器200偵測到儲存裝置300通過就緒/忙引腳RBN輸出對應儲存裝置300的運作狀態的運作狀態訊號301時,介面擴充器200可同時或依序接收多個儲存裝置300的運作狀態訊號301。
實務上,介面擴充器200在未接收到主控制器100的介面訊
號101之前,即可持續偵測儲存裝置300的就緒/忙引腳RBN。直到當介面擴充器200接收到來自主控制器100的介面訊號101時,始提供介面訊號101指定的特定或所有的儲存裝置300的運作狀態訊號301至主控制器100。
另一方面,儲存裝置300可在每次改變運作狀態時,輸出對應改變後的運作狀態的運作狀態訊號301至介面擴充器200,介面擴充器200接收到運作狀態訊號301時,可以即時或經過一段時間後傳輸運作狀態訊號301至主控制器100。在此案例下,主控制器100可省略輸出介面訊號101的作業。
另外,運作狀態訊號301可更包含儲存裝置300的序號、取得儲存模組的運作狀態的時間點、儲存模組的忙碌程度或閒置程度、運作狀態訊號301輸出時通過的就緒/忙引腳RBN的腳位或其組合訊息。
最後,主控制器100依據介面擴充器200提供的儲存裝置300的運作狀態訊號301,以判斷儲存裝置300處於忙碌狀態或就緒狀態,並據以輸出控制訊號至儲存裝置300,以控制儲存裝置300運作。
更具體地,當儲存裝置300正在抹除所儲存的原始數據、讀取新數據或寫入新數據時,儲存裝置300輸出指出儲存裝置300處於忙碌狀態的運作狀態訊號301。相反地,當儲存裝置300未執行任何作業而呈閒置狀態時,儲存裝置300輸出指出儲存裝置300處於就緒狀態的運作狀態訊號301。
[第二實施例]
請參閱圖2,其是本發明第二實施例的儲存設備的方塊圖。如圖2所示,儲存設備包含主控制器100、介面擴充器200、以及多個儲存裝置300。介面擴充器200連接主控制器100以及多個儲存裝置300的就緒/忙引腳RBN。另外,主控制器100可透過匯流排
RWBUS例如控制匯流排以及數據匯流排等其他適合的匯流排,連接至儲存裝置300的控制引腳以及數據輸出入引腳。
舉例來說,儲存裝置300可包含儲存模組AR、儲存控制電路310以及一或多個就緒/忙引腳RBN。儲存控制電路310連接儲存模組AR以及就緒/忙引腳RBN。
儲存裝置300可為NAND或NOR快閃記憶體裝置。儲存模組AR可為記憶體晶胞。儲存裝置300可包含多個記憶體晶胞BLK11~BLK14、BLK21~BLK24、BLK31~BLK34、BLK41~BLK44呈陣列排列。應理解,儲存裝置300的數量、排列方式、可儲存容量可依序實際需求做調整,本發明不以此為限。
實施上,儲存控制電路310可依據多個儲存模組AR的運作狀態產生一個運作狀態訊號301,或可依據多個儲存模組AR的運作狀態分別產生多個運作狀態訊號301。儲存控制電路310可通過就緒/忙引腳RBN輸出單個運作狀態訊號301。替換地,每個儲存裝置300的多個儲存模組AR可共用同一個就緒/忙引腳RBN依序傳輸多個運作狀態訊號301,或實務上可分別透過不同的多個就緒/忙引腳RBN傳輸多個運作狀態訊號301。
儲存裝置300以及介面擴充器200之間、主控制器100以及介面擴充器200之間的訊號傳輸的方式可取決於採用的傳輸介面,例如可採用序列傳輸或並列傳輸方式。介面擴充器200可包含一或多個傳輸介面。在本實施例中,介面擴充器200透過不同的兩個傳輸介面分別與儲存裝置300以及主控制器100連接。
舉例來說,本實施例的介面擴充器200包含例如GPIO介面220,以及I2C介面及/或SPI介面210。介面擴充器200透過I2C/SPI介面210連接主控制器100。另一方面,介面擴充器200透過GPIO介面220連接儲存裝置300的就緒/忙引腳RBN。GPIO介面220配置以接收儲存裝置300通過就緒/忙引腳RBN輸出的運作狀態訊號301,而I2C/SPI介面210配置以接收主控制器100的介面訊號
101以及傳輸透過GPIO介面220接收的運作狀態訊號301至主控制器100。應理解,實務上可選用其他適當的傳輸介面,本發明不受限於I2C/SPI介面210以及GPIO介面220。
主控制器100依據運作狀態訊號301判斷儲存裝置300處於就緒狀態時,主控制器100可控制儲存裝置300作動,具體說明如下。
儲存裝置300可通過控制引腳接收來自主控制器100的控制訊號302。儲存控制電路310可依據主控制器100的控制訊號302,抹除儲存模組AR所儲存的原始數據DS。接著,儲存裝置300可通過數據輸出入引腳接收主控制器100提供的新數據DU,儲存控制電路310可接著控制儲存模組AR存取新數據DU。應理解,例如欲儲存新數據DU的儲存模組AR未儲存有原始數據DS時,可省略原始數據DS的抹除作業,或新數據DU可直接覆蓋原始數據DS,又或者新數據DU與原始數據DS並存在同一或不同個儲存模組AR。應理解,實務上,儲存裝置300可通過同一引腳接收來自主控制器100的控制訊號302以及供應原始數據DS至主控制器100。
更精確地,主控制器100可比對每個儲存裝置300的多個儲存模組AR如記憶體晶胞BLK11~BLK14、BLK21~BLK24、BLK31~BLK34、BLK41~BLK44的每一個的剩餘儲存容量,例如記憶體晶胞BLK14、BLK43已不具有可使用的儲存容量,記憶體晶胞BLK12、BLK33已使用部分儲存容量。主控制器100可依據多個記憶體晶胞的剩餘儲存容量與欲儲存的新數據DU所需的儲存容量(即占用的儲存空間)進行比對,以從多個儲存模組AR中選擇適當的儲存模組AR儲存新數據DU。
而當主控制器100欲取得儲存裝置300的儲存模組AR所儲存的原始數據DS及/或新數據DU時,主控制器100可輸出控制訊號302通過儲存控制電路310的控制引腳至儲存控制電路310,以
指示儲存裝置300的儲存控制電路310輸出一或多個儲存模組AR所儲存的一或多個原始數據DS及/或新數據DU至主控制器100。
進一步地,當儲存裝置300抹除原始數據DS、存取新數據DU或是輸出原始數據DS至主控制器100時,儲存控制電路310可轉為產生代表儲存裝置300處於忙碌狀態的運作狀態訊號301至介面擴充器200的GPIO介面220,接著運作狀態訊號301通過介面擴充器200的I2C/SPI介面210提供至主控制器100。
舉例來說,當儲存控制電路310及/或儲存模組AR的正在運作即處於忙碌狀態時,儲存控制電路310輸出低位準的運作狀態訊號301。相反地,當儲存控制電路310以及儲存模組AR皆未執行任何作業,或非重要工作即處於閒置狀態時,儲存控制電路310輸出高位準的運作狀態訊號301。
[第三實施例]
請參閱圖3,其是本發明第三實施例的儲存方法的步驟流程圖。如圖3所示,本實施例的儲存設備包含以下步驟S301~S309,這些步驟可適用於第一實施例以及第二實施例的儲存設備,並可與本文其他步驟適當的結合。
步驟S301:利用一或多個儲存裝置中的每一個儲存裝置的儲存控制電路,依據儲存模組的運作狀態以產生運作狀態訊號。
步驟S303:通過儲存裝置的就緒/忙引腳輸出運作狀態訊號。
步驟S305:利用主控制器輸出介面訊號至介面擴充器,以要求介面擴充器提供儲存裝置的運作狀態訊號。
步驟S307:利用介面擴充器,依據來自主控制器的介面訊號偵測一或多個儲存裝置的就緒/忙引腳,以接收儲存裝置的運作狀態訊號,並傳輸至主控制器。
步驟S309:利用主控制器,依據儲存裝置的運作狀態訊號判斷儲存裝置的運作狀態例如處於忙碌狀態或就緒狀態,輸出控制
訊號以控制儲存裝置運作。
[第四實施例]
請參閱圖4,其是本發明第四實施例的儲存方法的步驟流程圖。如圖4所示,本實施例的儲存設備包含以下步驟S401~S411,這些步驟可適用於第一實施例以及第二實施例的儲存設備,並可與本文其他步驟適當的結合。
步驟S401:利用介面擴充器的GPIO介面,偵測各個儲存裝置的就緒/忙引腳,接收儲存裝置的儲存控制電路通過就緒/忙引腳輸出的運作狀態訊號。
步驟S403:利用介面擴充器的I2C/SPI介面,傳輸透過介面擴充器的GPIO介面接收的運作狀態訊號至主控制器。
步驟S405:利用主控制器依據多個儲存裝置的多個運作狀態訊號,判斷是否有儲存裝置處於就緒狀態?若是,執行步驟S407;若否,依序執行步驟S409、S411。
步驟S407:利用主控制器輸出控制訊號,以控制處於就緒狀態的一或多個儲存裝置運作,包含控制處於就緒狀態的儲存裝置執行讀取、寫入、抹除數據等作業。
步驟S409:利用主控制器比對多個儲存裝置的多個運作狀態訊號的忙碌程度是否小於門檻值?若否,跳回執行步驟S401;若是,執行步驟S411。
步驟S411:利用主控制器控制忙碌程度小於門檻值的一或多個儲存裝置中的任一儲存裝置或忙碌程度最低的儲存裝置運作。
[第五實施例]
請參閱圖5,其是本發明第五實施例的儲存方法的步驟流程圖。如圖5所示,本實施例的儲存設備包含以下步驟S501~S517,這些步驟可適用於第一實施例以及第二實施例的儲存設備,並可
與本文其他步驟適當的結合。
步驟S501:利用一或多個儲存裝置中的各個儲存裝置的儲存控制電路,依據儲存模組的運作狀態以產生運作狀態訊號。
步驟S503:通過儲存裝置的就緒/忙引腳輸出運作狀態訊號。
步驟S505:利用主控制器輸出介面訊號至介面擴充器,以要求介面擴充器提供儲存裝置的運作狀態訊號。
步驟S507:利用介面擴充器依據介面訊號偵測儲存裝置的就緒/忙引腳。
步驟S509:利用介面擴充器接收並輸出儲存裝置的運作狀態訊號。
步驟S511:利用主控制器,依據該運作狀態訊號判斷儲存裝置是否處於就緒狀態?若否,重覆執行步驟S501~S511,以重新偵測過一段時間後,儲存裝置的儲存模組是否從忙碌狀態轉為就緒狀態。若是,則依序執行步驟S513~S517。
步驟S513:利用主控制器輸出控制訊號。
步驟S515:利用儲存裝置通過控制引腳接收控制訊號。
步驟S517:利用儲存裝置的儲存控制電路,依據控制訊號抹除儲存模組儲存的原始數據。
[第六實施例]
請參閱圖6,其是本發明第六實施例的儲存方法的步驟流程圖。如圖6所示,本實施例的儲存設備包含以下步驟S601~S617,這些步驟可適用於第一實施例以及第二實施例的儲存設備,並可與本文其他步驟適當的結合。
步驟S601:利用主控制器輸出介面訊號至介面擴充器。
步驟S603:利用介面擴充器依據介面訊號偵測儲存裝置的就緒/忙引腳。
步驟S605:利用儲存裝置的儲存控制電路,依據儲存模組的
運作狀態產生運作狀態訊號。
步驟S607:利用儲存裝置通過就緒/忙引腳輸出運作狀態訊號至介面擴充器。
步驟S609:利用介面擴充器輸出儲存裝置的運作狀態訊號至主控制器。
步驟S611:利用主控制器,依據運作狀態訊號判斷儲存裝置是否處於就緒狀態?若否,跳回執行步驟S601,若是,依序執行步驟S613~S617。
步驟S613:利用主控制器輸出控制訊號和新數據。
步驟S615:利用儲存裝置通過控制引腳接收控制訊號,通過數據輸出入引腳接收新數據。
步驟S617:利用儲存裝置的儲存控制電路依據控制訊號,控制儲存模組存取新數據。
[第七實施例]
請參閱圖7,其是本發明第七實施例的儲存方法的步驟流程圖。如圖7所示,本實施例的儲存設備包含以下步驟S701~S709,這些步驟可適用於第一實施例以及第二實施例的儲存設備,並可與本文其他步驟適當的結合。
步驟S701:利用一或多個儲存裝置的儲存控制電路,依據儲存模組的多個儲存單元的每一個運作狀態產生運作狀態訊號。
步驟S703:利用介面擴充器偵測儲存裝置的就緒/忙引腳,以從儲存裝置取得多個運作狀態訊號,接著輸出多個運作狀態訊號至主控制器。
步驟S705:利用主控制器,比對多個運作狀態訊號分別代表同一個或多個儲存裝置的多個儲存單元的剩餘儲存容量與新數據所需的儲存容量。
步驟S707:利用主控制器,輸出控制訊號和新數據至儲存裝
置的儲存控制電路。
步驟S709:利用儲存裝置的儲存控制電路依據控制訊號,控制具有新數據所需的儲存容量的儲存單元存取數據。
[實施例的有益效果]
相比於利用匯流排發出讀取狀態命令,以判斷儲存裝置是否為就緒狀態,本發明所提供的儲存設備和儲存方法,其主控制器是依據就緒/忙引腳(Ready/Busy)輸出的運作狀態訊號包含忙碌狀態以及就緒狀態訊息來判斷儲存裝置的運作狀態。再者,在運作狀態訊號的傳輸過程中,是透過介面擴充裝置的GPIO介面接收儲存裝置通過就緒/忙引腳輸出的運作狀態訊號,以及接著透過介面擴充裝置的I2C/SPI介面傳輸運作狀態訊號至主控制器。因此,本發明具有精確度、穩定度較高的優勢,不需占用匯流排頻寬,且不會大幅增加主控制器的引腳數量。
最後須說明地是,於前述說明中,儘管已將本發明技術的概念以多個示例性實施例具體地示出與闡述,然而在此項技術的領域中具有通常知識者將理解,在不背離由以下申請專利範圍所界定的本發明技術的概念之範圍的條件下,可對其作出形式及細節上的各種變化。
100‧‧‧主控制器
101‧‧‧介面訊號
200‧‧‧介面擴充器
300‧‧‧儲存裝置
301‧‧‧運作狀態訊號
RBN‧‧‧就緒/忙引腳
RWBUS‧‧‧匯流排
Claims (9)
- 一種儲存設備,包含:多個儲存裝置,各該儲存裝置包含一儲存模組、一儲存控制電路以及一就緒/忙引腳,該儲存控制電路連接該儲存模組以及該就緒/忙引腳,該儲存控制電路依據該儲存模組的運作狀態以產生一運作狀態訊號,通過該就緒/忙引腳輸出該運作狀態訊號;一介面擴充器,連接各該儲存裝置的該就緒/忙引腳,該介面擴充器偵測各該儲存裝置的該就緒/忙引腳,以接收來自各該儲存裝置的該運作狀態訊號,並輸出各該儲存裝置的該運作狀態訊號;以及一主控制器,連接該介面擴充器以及各該儲存裝置,該主控制器要求該介面擴充器提供各該儲存裝置的該運作狀態訊號,該主控制器依據各該運作狀態訊號判斷對應的該儲存裝置處於忙碌狀態或就緒狀態,並據以控制該儲存裝置運作;其中該主控制器依據該多個儲存裝置分別的該多個運作狀態訊號,判斷該多個儲存裝置中有任一該儲存裝置處於就緒狀態時,該主控制器控制處於就緒狀態的該儲存裝置運作,但判斷所有該多個儲存裝置皆處於忙碌狀態時,該主控制器將各該儲存裝置的該運作狀態訊號的忙碌程度與一門檻值進行比對;其中當該主控制器比對該多個儲存裝置中有任一該儲存裝置的該運作狀態訊號的忙碌程度小於該門檻值時,該主控制器控制該多個儲存裝置中忙碌程度最低的該儲存裝置運作,但比對每一該儲存裝置的忙碌程度皆不小於該門檻值時,該儲存控制電路重新取得該儲存模組的運作狀態,並依據該儲存模組的運作狀態以產生該運作狀態訊號。
- 如請求項1所述的儲存設備,其中該介面擴充器包含一I2C介 面或一SPI介面,以及一GPIO介面,該介面擴充器透過該I2C介面及/或該SPI介面連接該主控制器,以及透過該GPIO介面連接各該儲存裝置的該就緒/忙引腳;其中該GPIO介面配置以接收通過該就緒/忙引腳輸出的該運作狀態訊號,該I2C介面或該SPI介面配置以接收該主控制器的該介面訊號以及傳輸透過該GPIO介面接收的該運作狀態訊號至該主控制器。
- 如請求項1所述的儲存設備,其中該儲存裝置更包含一數據輸出入引腳以及一控制引腳,該儲存裝置通過該數據輸出入引腳以及該控制引腳連接該主控制器,該主控制器輸出該控制訊號通過該控制引腳以及一新數據通過該數據輸出入引腳至該儲存控制電路,以指示處於就緒狀態的該儲存裝置的該儲存控制電路抹除該儲存模組儲存的一原始數據及/或控制該儲存模組存取該主控制器提供的該新數據;其中當該儲存裝置抹除或存取該新數據時,該儲存控制電路轉為產生代表該儲存裝置處於忙碌狀態的該運作狀態訊號。
- 如請求項1所述的儲存設備,其中該儲存裝置更包含一控制引腳,該儲存裝置通過該控制引腳連接該主控制器,該主控制器輸出該控制訊號通過該控制引腳至該儲存控制電路,以指示處於就緒狀態的該儲存裝置的該儲存控制電路輸出該儲存模組儲存的一原始數據至該主控制器;其中當該儲存裝置輸出該原始數據至該主控制器時,該儲存控制電路轉為產生代表該儲存裝置處於忙碌狀態的該運作狀態訊號。
- 一種儲存方法,包含以下步驟:(a)利用多個儲存裝置中的各該儲存裝置的一儲存控制電路,取得該儲存裝置的一儲存模組的運作狀態,並據以產生一運作狀態訊號; (b)通過各該儲存裝置的一就緒/忙引腳輸出該運作狀態訊號;(c)利用一主控制器要求一介面擴充器提供各該儲存裝置的該運作狀態訊號;(d)利用該介面擴充器,偵測各該儲存裝置的該就緒/忙引腳,以將各該儲存裝置的該運作狀態訊號傳輸至該主控制器;(e)利用該主控制器,依據該多個儲存裝置分別的該多個運作狀態訊號,判斷該多個儲存裝置中是否有任一該儲存裝置處於就緒狀態,若是,利用該主控制器控制處於就緒狀態的該儲存裝置運作,而不執行下一步驟(f),若否,執行下一步驟(f);以及(f)利用該主控制器比對該多個儲存裝置中是否有任一該儲存裝置的該運作狀態訊號的忙碌程度小於一門檻值,若是,利用該主控制器控制該多個儲存裝置中忙碌程度最低的該儲存裝置運作,若否,回到步驟(a)。
- 如請求項5所述的儲存方法,更包含以下步驟:利用一GPIO介面,接收通過該就緒/忙引腳輸出的該運作狀態訊號;以及利用一I2C介面或一SPI介面,傳輸透過該GPIO介面接收的該運作狀態訊號至該主控制器。
- 如請求項5所述的儲存方法,更包含以下步驟:利用該主控制器,輸出該控制訊號通過該儲存裝置的一控制引腳至該儲存裝置的該儲存控制電路,以指示處於就緒狀態的該儲存裝置的該儲存控制電路抹除該儲存模組儲存的一原始數據;以及利用該儲存裝置的該儲存控制電路,在抹除該原始數據時,產生代表該儲存裝置處於忙碌狀態的該運作狀態訊號。
- 如請求項5所述的儲存方法,更包含以下步驟:利用該主控制器,輸出一控制訊號通過該儲存裝置的一控制引 腳至該儲存裝置的該儲存控制電路,以及輸出一新數據通過該儲存裝置的一數據輸出入引腳至該儲存控制電路,以指示該儲存控制電路控制該儲存模組存取該主控制器提供的該新數據;以及利用該儲存裝置的儲存控制電路,在該儲存模組存取該新數據時,產生代表該儲存裝置處於忙碌狀態的該運作狀態訊號。
- 如請求項5所述的儲存方法,更包含以下步驟:利用該主控制器,輸出一控制訊號通過該儲存裝置的一控制引腳至該儲存裝置的該儲存控制電路,以指示該儲存控制電路輸出該儲存模組儲存的一原始數據至該主控制器;以及利用該儲存裝置的該儲存控制電路,在該儲存模組輸出該原始數據至該主控制器時,產生代表該儲存裝置處於忙碌狀態的該運作狀態訊號。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107130612A TWI688864B (zh) | 2018-08-31 | 2018-08-31 | 儲存設備及儲存方法 |
CN201811080831.9A CN110874333B (zh) | 2018-08-31 | 2018-09-17 | 存储设备及存储方法 |
US16/172,944 US10534561B1 (en) | 2018-08-31 | 2018-10-29 | Storage apparatus system and storage control method that outputs a busy state or ready state through a ready/busy pin |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107130612A TWI688864B (zh) | 2018-08-31 | 2018-08-31 | 儲存設備及儲存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202011208A TW202011208A (zh) | 2020-03-16 |
TWI688864B true TWI688864B (zh) | 2020-03-21 |
Family
ID=69141113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107130612A TWI688864B (zh) | 2018-08-31 | 2018-08-31 | 儲存設備及儲存方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10534561B1 (zh) |
CN (1) | CN110874333B (zh) |
TW (1) | TWI688864B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI688864B (zh) * | 2018-08-31 | 2020-03-21 | 威剛科技股份有限公司 | 儲存設備及儲存方法 |
US11693798B2 (en) * | 2020-07-10 | 2023-07-04 | Samsung Electronics Co., Ltd. | Layered ready status reporting structure |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200813727A (en) * | 2006-09-06 | 2008-03-16 | Mitac Int Corp | Monitoring apparatus and monitoring method for SATA hard drive |
TW201621660A (zh) * | 2014-12-02 | 2016-06-16 | 英業達股份有限公司 | 硬碟運行狀態檢測系統 |
TW201717012A (zh) * | 2015-11-03 | 2017-05-16 | 廣達電腦股份有限公司 | 指示燈控制系統以及發光二極體控制方法 |
TWM561247U (zh) * | 2017-09-07 | 2018-06-01 | 威盛電子股份有限公司 | 多硬碟儲存裝置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845310A (en) * | 1993-12-15 | 1998-12-01 | Hewlett-Packard Co. | System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses |
CN106843773B (zh) * | 2017-02-16 | 2021-12-03 | 北京书生云科技有限公司 | 存储方法和分布式存储系统 |
US10007632B2 (en) * | 2014-01-22 | 2018-06-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Computing device interface connectors for peripheral component interconnect compliant devices and other devices |
CN104375923A (zh) * | 2014-11-24 | 2015-02-25 | 英业达科技有限公司 | 硬盘运行状态检测系统 |
CN104461800A (zh) * | 2014-11-24 | 2015-03-25 | 英业达科技有限公司 | 硬盘运行状态检测系统 |
KR102291639B1 (ko) * | 2015-07-13 | 2021-08-20 | 에스케이하이닉스 주식회사 | 레디 비지 신호를 출력하는 반도체 메모리 장치 및 그것을 포함하는 메모리 시스템 |
TWI602115B (zh) * | 2016-06-23 | 2017-10-11 | 慧榮科技股份有限公司 | 資料儲存裝置之資料儲存方法 |
CN206331414U (zh) * | 2016-06-29 | 2017-07-14 | 湖南国科微电子股份有限公司 | 一种固态硬盘 |
KR102603243B1 (ko) * | 2016-09-12 | 2023-11-16 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US10509750B2 (en) * | 2017-07-24 | 2019-12-17 | American Megatrends International, Llc | System and method for controlling multi-function pins in management controller stack |
TWI688864B (zh) * | 2018-08-31 | 2020-03-21 | 威剛科技股份有限公司 | 儲存設備及儲存方法 |
-
2018
- 2018-08-31 TW TW107130612A patent/TWI688864B/zh active
- 2018-09-17 CN CN201811080831.9A patent/CN110874333B/zh active Active
- 2018-10-29 US US16/172,944 patent/US10534561B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200813727A (en) * | 2006-09-06 | 2008-03-16 | Mitac Int Corp | Monitoring apparatus and monitoring method for SATA hard drive |
TW201621660A (zh) * | 2014-12-02 | 2016-06-16 | 英業達股份有限公司 | 硬碟運行狀態檢測系統 |
TW201717012A (zh) * | 2015-11-03 | 2017-05-16 | 廣達電腦股份有限公司 | 指示燈控制系統以及發光二極體控制方法 |
TWM561247U (zh) * | 2017-09-07 | 2018-06-01 | 威盛電子股份有限公司 | 多硬碟儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
CN110874333B (zh) | 2021-07-02 |
TW202011208A (zh) | 2020-03-16 |
CN110874333A (zh) | 2020-03-10 |
US10534561B1 (en) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
US9927999B1 (en) | Trim management in solid state drives | |
US9189397B2 (en) | Data storage device including buffer memory | |
US8429374B2 (en) | System and method for read-while-write with NAND memory device | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
KR100758301B1 (ko) | 메모리 카드 및 그것의 데이터 저장 방법 | |
US8489805B2 (en) | Memory devices operated within a communication protocol standard timeout requirement | |
JP5533963B2 (ja) | 構成可能な入出力ポートを伴うメモリモジュール | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
KR20130112210A (ko) | 메모리 시스템 및 그것의 페이지 교체 방법 | |
CN111796759B (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
TWI688864B (zh) | 儲存設備及儲存方法 | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11455186B2 (en) | Controller and memory system having the same | |
US10467020B2 (en) | Memory device, and information-processing device | |
TW201941208A (zh) | 記憶體管理方法與儲存控制器 | |
KR20150142250A (ko) | 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법 | |
EP4020220A1 (en) | Utilizing nand buffer for dram-less multilevel cell programming | |
KR102655360B1 (ko) | 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 | |
US20180336147A1 (en) | Application processor including command controller and integrated circuit including the same | |
US20230266896A1 (en) | Memory system for tailoring data, host system for controlling the memory system, and operation method of the memory system | |
KR20140067400A (ko) | 플래시 메모리, 제 1 버퍼 메모리, 메모리 컨트롤러를 포함하는 메모리 시스템 및 그것의 동작 방법 | |
US20230384944A1 (en) | Storage system including battery module and method for operating the same | |
US10628322B2 (en) | Memory system and operating method thereof | |
KR20210059960A (ko) | 데이터 저장 장치, 스토리지 시스템 및 데이터 저장 장치의 동작 방법 |