本實用新型涉及硬盤存儲技術領域,具體涉及一種用于固態硬盤的控制芯片及固態硬盤。
背景技術:
SSD(Solid State Drive,固態硬盤),用固態電子存儲芯片陣列而制成的硬盤,由控制單元和存儲單元組成。一般以NAND Flash芯片或者DRAM芯片作為存儲介質。其中基于NAND Flash的SSD不僅讀寫帶寬高,抗震防摔,功耗低,體積小而且掉電后數據不會丟失,應用范圍最為廣泛。因此,消費級SSD及工業用數據存儲系統中的定制SSD大都基于NAND Flash。
在實現本實用新型的過程中,發明人發現現有技術至少存在以下問題:
對于消費級的SSD來說,一般只有一種接口,通常是USB接口、SATA接口或PCIe接口中的一種,因此和PC(personal computer,個人計算機)的連接方式較為單一,無法提供多種接口選擇;并且只有和個人計算機相連的接口,不支持其它工業標準接口,無法用于工業數據采集等應用情況。
對于工業用數據存儲系統中定制的SSD來說,其通常具有多個接口,但該類SSD中主控芯片沒有維護文件系統的功能,不能按照文件系統來組織數據,一般用于直接存儲原始數據,因此存儲的數據不能被個人計算機直接識別,不能作為標準硬盤使用,不方便數據分析處理。為了讀出其中的數據,通常需要個人計算機使用專門的硬件接口與其連接,并安裝專門的軟件。因此其使用過程較為繁瑣。
技術實現要素:
本實用新型實施例提供一種用于固態硬盤的控制芯片及固態硬盤,用以至少解決上述闡述的現有技術中消費級固態硬盤接口單一且應用場合少、工業級固態硬盤不支持文件系統的問題。
本實用新型實施例的一個方面提供了一種用于固態硬盤的控制芯片,包 括:
用于連接具有不同接口標準的接口的多個接口控制模塊;
與所述多個接口控制模塊連接的指令處理模塊;
用于與所述固態硬盤中的存儲單元連接的存儲單元控制模塊;
與所述指令處理模塊和所述存儲單元控制模塊經由AXI總線連接的處理器;
經由所述AXI總線分別與所述處理器連接的多個功能子卡控制模塊。
在本實用新型的一些實施例中,所述多個接口控制模塊至少包括USB接口控制模塊、SATA接口控制模塊、PCIe接口控制模塊。
在本實用新型的一些實施例中,所述控制芯片為FPGA芯片。
在本實用新型的一些實施例中,所述控制芯片還包括經由所述AXI總線與所述處理器和所述存儲單元控制模塊連接的DMA控制模塊。
在本實用新型的一些實施例中,所述處理器安裝有操作系統,所述操作系統中的文件系統至少包括NTFS、FAT32、exFAT中的任意一種。
在本實用新型的一些實施例中,所述操作系統包括Linux系統。
本實用新型實施例的另一個方面提供了一種固態硬盤,包括:
上述實施例中的控制芯片;
與所述控制芯片的存儲單元控制模塊連接的存儲單元;
分別與所述控制芯片的多個功能子卡控制模塊連接的適于接插多個功能子卡的多個擴展接插件;
分別與所述控制芯片的多個接口控制模塊對應連接的適于與外部設備連接的多個接口,所述多個接口對應多種不同的接口標準。
在本實用新型的一些實施例中,所述固態硬盤包括經由所述AXI總線與所述控制芯片的處理器連接的緩存單元。
在本實用新型的一些實施例中,所述緩存單元與所述控制芯片中的經由所述AXI總線與所述處理器和所述存儲單元控制模塊連接的DMA控制模塊連接。
在本實用新型的一些實施例中,所述存儲單元包括NAND Flash存儲陣列。
在本實用新型的一些實施例中,所述多個接口至少包括USB接口、SATA 接口和PCI-e接口。
在本實用新型的一些實施例中,所述USB接口通過物理接口收發器與所述控制芯片連接。
本實用新型實施例所示用于固態硬盤的控制芯片及固態硬盤,由于包括多種接口標準不同的接口,例如USB接口、SATA接口、PCIe接口等,可以通過任一接口連接到個人計算機,使得本實用新型實施例所示固態硬盤具有多種被個人計算機訪問的選擇,降低了被計算機訪問的復雜度。本實用新型實施例還包括多個用于接插標準功能子卡的接插件,例如標準FMC接口,可以安裝多種標準FMC功能子卡,使得本實用新型實施例所示固態硬盤可用于多種場合下的數據存取項目。此外,本實用新型實施例支持例如NTFS、FAT32、exFAT等多種文件系統,使得本實用新型實施例所示固態硬盤中存儲的數據很容易被個人計算機分析處理。
附圖說明
為了更清楚地說明本實用新型實施例的技術方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本實用新型的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本實用新型一實施例的用于固態硬盤的控制芯片的內部邏輯結構示意圖;
圖2是本實用新型一實施例的固態硬盤的內部邏輯結構示意圖;
圖3是本實用新型一實施例的固態硬盤的USB接口的邏輯結構示意圖;
圖4是本實用新型一實施例的固態硬盤的PCIe接口的邏輯結構示意圖;
圖5是本實用新型一實施例的固態硬盤的SATA接口的邏輯結構示意圖;
圖6是本實用新型一實施例的固態硬盤中的NAND Flash存儲陣列的邏輯結構示意圖;
圖7是本實用新型一實施例的固態硬盤支持的FAT32文件系統的整體布局圖;
圖8是本實用新型一實施例的多接口固態硬盤的工作流程圖。
具體實施方式
為使本實用新型實施例的目的、技術方案和優點更加清楚,下面將結合本實用新型實施例中的附圖,對本實用新型實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本實用新型一部分實施例,而不是全部的實施例。基于本實用新型中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本實用新型保護的范圍。
需要說明的是,在不沖突的情況下,本實用新型中的實施方式及實施方式中的特征可以相互組合。
還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”,不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
圖1是本實用新型一實施例的用于固態硬盤的控制芯片的內部邏輯結構示意圖。如圖1所示,該控制芯片1為FPGA芯片,包括處理器10、指令處理模塊11、存儲單元控制模塊12、多個功能子卡控制模塊13和多個接口控制模塊14。其中,各模塊均通過總線15與處理器10連接。
在圖1所示實施例中,處理器10為嵌入在FPGA芯片上的MicroBlaze處理器。MicroBlaze處理器是利用FPGA IP核搭建的內嵌處理器。在該處理器中安裝有操作系統,例如可以是Linux系統,用于維護NTFS、FAT32、exFAT等多種文件系統。通過給本實用新型實施例中的FPGA芯片加載不同的bit文件來配置FPGA芯片,可使本實用新型所示實施例維護不同的文件系統。
存儲單元控制模塊12為NAND Flash控制器,用于實現對固態硬盤中的NAND Flash存儲陣列的訪問,包括讀、寫、擦除等操作。
指令處理模塊11為ATA指令解釋和映射模塊,用于分析和固態硬盤連接的外部設備例如PC機通過固態硬盤中的SATA接口,USB接口,PCIe接口傳送的ATA指令,并從中獲取PC機希望執行的操作和目的地址并映射為 NAND Flash控制器能直接處理的地址和命令。
接口控制模塊14包括USB接口控制器141,SATA接口控制器142和PCIe接口控制器143。其中,USB接口控制器141用于控制處理器10通過固態硬盤中的USB接口與PC機之間的通信;SATA接口控制器142用于控制處理器10通過固態硬盤中的SATA接口與PC機之間的通信;PCIe接口控制器用于控制處理器10通過固態硬盤中的PCIe接口與PC機之間的通信。
功能子卡控制模塊13包括FMC功能板卡控制器131和132,FMC功能板卡控制器用于控制固態硬盤中的FMC接口安裝的標準FMC功能板卡的工作。其具體功能與FMC接口安裝的標準FMC功能板卡相關,例如FMC接口安裝DAC板卡,則對應的FMC功能板卡控制器需要控制DAC板卡工作;如FMC接口安裝ADC板卡,則對應的FMC功能板卡控制器需要控制ADC板卡工作。FMC接口安裝的板卡根據實際需要靈活選擇,不僅限于ADC板卡和DAC板卡。因此使用本實用新型之前,需要根據FMC接口安裝的標準FMC功能板卡正確配置本實用新型的FPGA。通過給本實用新型中的FPGA芯片加載對應的bit文件可實現對本實用新型的多種配置,每種配置下FMC功能板卡控制器只能實現對特定的標準FMC功能板卡的控制。
圖1所示實施例中,控制芯片1還包括與處理器10和存儲單元控制模塊12連接的DMA控制器16。本實用新型實施例中各模塊包括USB接口控制器,SATA接口控制器,PCIe接口控制器,FMC功能板卡控制器,NAND Flash控制器,ATA指令解釋和映射模塊都通過AXI總線15掛載到MicroBlaze處理器上,由MicroBlaze處理器統一調度,實現對NAND Flash陣列的高速DMA操作。
圖2是本實用新型一實施例的固態硬盤的內部邏輯結構示意圖。如圖2所示,該固態硬盤2包括圖1所示實施例中的用于固態硬盤的控制芯片21、存儲單元22、多個擴展接插件23和多個接口24。其中,存儲單元22、多個擴展接插件23和多個接口24均與控制芯片21連接。
在圖2所示實施例中,存儲單元22是NAND Flash芯片組成的存儲陣列,用于存儲數據;
擴展接插件231和232為FMC接口,用于安裝多個標準FMC功能板卡。 FMC接口安裝的板卡根據實際需要靈活選擇,本實用新型對此不作限制;
接口24包括USB3.0接口241、SATA接口242和PCIe 2.0接口243,通過接口24本實用新型實施例所示固態硬盤可以和外部設備例如PC機進行通信。其中,USB接口通過物理接口收發器例如PHY與FPGA芯片連接。
圖2所示實施例中,固態硬盤2還包括與控制芯片21連接的緩存單元,例如DDR3芯片,用于固態硬盤中數據存取的緩存處理。相應地,控制芯片21中包括緩存單元控制模塊,例如DDR3控制器。該DDR3控制器通過總線例如AXI連接至控制芯片中的處理器。
以下將結合圖3、圖4、圖5和圖6說明本實用新型的接口電路及NAND Flash存儲陣列的具體實現。
圖3是本實用新型一實施例的固態硬盤的USB接口的邏輯結構示意圖。參見圖3,本實用新型實施例中USB接口電路的主要元件可以包括電源轉換芯片,TPS74801DRCR、TPS76801QD;USB接口插件,CMS1811-010010;配置EEPROM,24LC256;以及時鐘元件,NX3225SA-19.200M-EXS00A-CS03082和SG-3040LC 32.7680KB3:PURE SN。
圖4是本實用新型一實施例的固態硬盤的PCIe接口的邏輯結構示意圖。參見圖4,本實用新型實施例中PCIe接口電路的主要元件可以包括PCIe金手指和時鐘芯片ICS854104,ICS874001。
圖5是本實用新型一實施例的固態硬盤的SATA接口的邏輯結構示意圖。參見圖5,本實用新型實施例中SATA接口電路的主要元件可以包括SATA接口插件,67490-1221和時鐘芯片ICS844071。
圖6是本實用新型一實施例的固態硬盤中的NAND Flash存儲陣列的邏輯結構示意圖。參見圖6,本實用新型實施例中NAND Flash存儲陣列由多片NAND Flash芯片,MT29F128G08AE[C/E]BB組成。NAND Flash芯片的數量可結合儲器帶寬和性能要求靈活擴展。
本實用新型實施例所示固態硬盤,存在兩種工作模式:模式0和模式1。 當本實用新型所示的固態硬盤通過USB接口,SATA接口,PCIe接口三種接口中的任一接口和PC機相連且在FMC接口安裝了某種標準FMC功能板卡,則固態硬盤工作于模式0;當本實用新型所示的固態硬盤通過USB接口,SATA接口,PCIe接口中的任一接口和PC機相連且未在FMC接口安裝任何標準FMC功能板卡,則此時固態硬盤工作于模式1。
本實用新型所示的固態硬盤工作時,在根目錄下存在5個文件夾:CFG文件夾,RD文件夾,WR文件夾,DONE文件夾,USER文件夾。其中,CFG文件夾中存放CFG文件,該類文件為FMC接口安裝的標準FMC功能板卡及對應的FMC功能板卡控制器提供配置參數,CFG文件夾中可存放多個CFG文件,但同一時刻只有一個CFG文件有效;RD文件夾中存放讀操作數據文件,該類數據文件為本實用新型中的固態硬盤在模式0時,標準FMC功能板卡傳送到本實用新型中的數據組成的文件,RD文件夾中可存放多個數據文件;WR文件夾中存放寫操作數據文件,該類數據文件為本實用新型中的固態硬盤在模式0時,PC機準備通過標準FMC功能板卡向外發送的數據組成的文件,WR文件夾可存放多個數據文件,但同一時刻僅有一個數據文件有效且有效的數據文件必是有效CFG文件指定的文件;DONE文件夾中存放DONE文件,該類文件代表當前CFG文件啟動的操作完成,DONE文件夾中可存放多個DONE文件;USER文件夾中存放文件的類型不受限制,當本實用新型中的固態硬盤處于模式1時或者處于模式0但用戶不啟動FMC功能板卡只執行標準的硬盤文件操作時,用戶的所有文件操作應該在本文件夾中執行。
本實用新型中的固態硬盤工作時,PC機識別本存儲器為一硬盤盤符。PC機訪問本實用新型所示固態硬盤的行為如同PC機訪問標準硬盤。雖然PC機訪問本實用新型所示固態硬盤的行為如同訪問標準硬盤,但需要配合PC機端的操作機制,PC機除了可實現標準的硬盤操作外,還可啟動固態硬盤中FMC接口安裝的標準FMC功能板卡使其工作,將標準FMC功能板卡接收的數據組成文件存儲到本實用新型所示固態硬盤中的RD文件夾或者,將WR文件夾中指定文件中的有效數據,通過標準FMC功能板卡向外發送數據。
以下結合表1說明用戶在PC機端的操作機制。
表1用戶在PC機上的操作機制
當本實用新型中的固態硬盤工作于模式0時,用戶通過PC機可執行的操作如下:
1)如果用戶要啟動FMC接口安裝的標準FMC功能板卡并將該標準FMC功能板卡接收的數據組成文件存儲到本實用新型中的固態硬盤:用戶需要通過PC機在CFG文件夾中寫入讀操作CFG文件;該CFG文件寫入到CFG文件夾之后,固態硬盤會啟動其內部工作機制,使FMC接口安裝的標準FMC功能板卡工作并將該標準FMC功能板卡接收的數據存儲到固態硬盤的RD文件夾;數據存儲完成后,等待DONE文件夾中生成指定的DONE文件,表示本次操作結束;待看到指定DONE文件,用戶才可執行其他操作。
2)如果用戶需要啟動FMC接口安裝的標準FMC功能板卡并通過此板卡向外發送數據:用戶需要通過PC機在CFG文件夾中寫入寫操作CFG文件并在WR文件夾中寫入待發送的數據文件;待CFG文件和指定的數據文件寫入完成之后,固態硬盤會啟動其內部工作機制,使FMC接口安裝的標準FMC功能板卡工作并讀取WR文件夾中的待發送數據文件,從標準FMC功能板卡向外發送數據;數據發送結束后,等待DONE文件夾中生成指定的DONE文件,表示本次操作結束;待看到指定DONE文件,用戶才可執行其他操作。
3)如果PC機不需要啟動FMC接口安裝的標準FMC功能板卡,僅執行標準硬盤文件操作。用戶需要在以上兩種操作已經完成的情況下,在USER文件夾中執行。
當本實用新型中的固態硬盤工作于模式1時,本實用新型支持PC機所有的標準硬盤文件操作,但要求用戶在USER文件夾中執行。
本實用新型支持FAT32,exFAT,NTFS等多種文件系統。以下以FAT32文件系統為例,說明本實用新型中的固態硬盤是如何支持文件系統的。
圖7是本實用新型一實施例的固態硬盤支持的FAT32文件系統的整體布局圖。如圖7所示,以本實用新型中的固態硬盤采用256GB存儲空間為例,說明NAND Flash空間布局:
設定文件系統每扇區字節數512字節,每簇32個扇區,存儲空間劃分為536,870,912個扇區,其中保留區使用34個扇區,2個FAT區使用4,161,790個扇區,數據區使用16,647,159個簇。
在本實用新型中的固態硬盤工作前,需要先為NAND Flash陣列建立FAT32文件系統。具體方法可以如下:
1)建立引導扇區:將如上各配置參數寫入NAND Flash陣列的保留區的第0扇區。
2)初始化FAT0區和FAT1區:除FAT表項0和FAT表項1外,所有FAT表項為32`h0,表示對應簇未被分配使用;FAT表項0寫入32`hF8FF_FF0F;FAT表項1寫入32`hFFFF_FFFF。
3)初始化數據區:擦除數據區所有空間。
4)建立根目錄:寫結束標記32`h0fff_ffff到FAT區的第2個FAT表項,表示數據區第二簇已經分配給根目錄使用;將卷標目錄項寫入數據區第二簇中,指定本硬盤盤符為“FAT32_HQ”。
5)根目錄下新建5個文件夾:CFG文件夾,WR文件夾,RD文件夾,DONE文件夾,USER文件夾。具體建立過程如下:
a)建立CFG文件夾:寫結束標記32`h0fff_ffff到FAT區的第3表項,表示數據區第3簇被使用;將CFG文件夾的文件大小,文件夾名稱,屬性,時間及開始簇地址等信息寫入到根目錄數據區的目錄項中。
b)建立WR文件夾:寫結束標記32`h0fff_ffff到FAT區的第4表項,表示數據區第4簇被使用;將WR文件夾的文件大小,文件夾名稱,屬性,時間及開始簇地址等信息寫入到根目錄數據區的目錄項中。
c)建立RD文件夾:寫結束標記32`h0fff_ffff到FAT區的第5表項, 表示數據區第5簇被使用;將RD文件夾的文件大小,文件夾名稱,屬性,時間及開始簇地址等信息寫入到根目錄數據區的目錄項中。
d)建立DONE文件夾:寫結束標記32`h0fff_ffff到FAT區的第6表項,表示數據區第6簇被使用;將DONE文件夾的文件大小,文件夾名稱,屬性,時間及開始簇地址等信息寫入到根目錄數據區的目錄項中。
e)建立USER文件夾:寫結束標記32`h0fff_ffff到FAT區的第7表項,表示數據區第7簇被使用;將USER文件夾的文件大小,文件夾名稱,屬性,時間及開始簇地址等信息寫入到根目錄數據區的目錄項中。
以上操作為本實用新型中的固態硬盤工作前的配置工作,配置成功后固態硬盤中存在指定文件系統。本實用新型中的固態硬盤工作時,不需要再執行本配置。
由于本實用新型的固態硬盤中已經存在文件系統,當固態硬盤工作時,PC機通過驅動程序識別本實用新型為一卷標為“FAT32_HQ”的硬盤。在該盤根目錄下有5個文件夾分別是CFG文件夾,WR文件夾,RD文件夾,DONE文件夾,USER文件夾。這5個文件夾受本實用新型保護,不可被刪除。
固態硬盤工作時,FPGA根據固態硬盤外部連接狀況進入正確的工作模式。
當固態硬盤工作于模式0時,FPGA監控CFG文件夾中是否存在有效的CFG文件以及PC機是否請求操作本實用新型。
如果用戶需要通過PC機啟動標準FMC功能板卡并存儲標準FMC功能板卡接收的數據到RD文件夾,用戶需要通過PC機在CFG文件夾中寫入CFG文件,在該CFG文件中指定標準FMC功能板卡運行參數和標準FMC功能板卡接收數據的存儲文件名。固態硬盤監測到有效的CFG文件后,啟動標準FMC功能板卡,然后接收標準FMC功能板卡傳給固態硬盤的數據,將其組成文件存儲在RD文件夾中,該文件的名字在對應CFG文件中指定。其中將數據組成文件并存儲到RD文件夾的具體流程如下:
1)尋找起始簇:FPGA在FAT表中查找未使用的第一個FAT表項,將其作為本文件寫入起始簇并將結束標記32`h0fff_ffff寫入表項。
2)將標準FMC功能板卡接收的數據寫入到起始簇中;若當前簇寫滿之后,如還需要繼續寫入數據,則FPGA在FAT表中尋找下一個未使用的FAT 表項,將結束標記32`h0fff_ffff寫入該表項并將該表項對應的簇號寫入上一FAT表項,然后將標準FMC功能板卡接收的數據寫入到本次尋找的FAT表項對應的數據區簇中;若當前簇空間使用完畢后,還需繼續寫入,則重復上一步驟,直至數據全部寫入完畢。
3)待數據寫入完畢后,將文件大小,文件名稱,屬性,時間及開始簇地址等信息寫入到RD文件夾數據區的目錄項中。
4)生成DONE文件:FPGA在FAT表中尋找未使用的簇,并在該FAT表項中寫入結束標記32`h0fff_ffff,指示當前DONE文件使用該簇;然后在數據區該簇中寫入“***文件接收成功”,此處“***”為CFG文件中指定的文件名;最后將該DONE文件的相關信息如文件大小,文件夾名稱,屬性,時間及開始簇地址等信息寫入到DONE文件夾數據區的目錄項中。
如果用戶需要通過PC機啟動標準FMC功能板卡并將WR文件夾中指定的數據文件通過標準FMC功能板卡發送出去,用戶需要通過PC機向CFG文件夾寫入CFG文件,該CFG文件含有指定標準FMC功能板卡運行參數和待發送的數據文件的文件名;用戶還需要通過PC機向WR文件寫入該待發送數據文件。待固態硬盤監測到有效的CFG文件和對應的數據文件,將啟動標準FMC功能板卡,并把WR文件夾中的指定數據文件經標準FMC功能板卡向外發送。其中讀取數據文件并向外發送的具體流程如下:
1)尋找指定文件的起始簇:FPGA讀取在根目錄的數據區簇中搜索WR文件夾的目錄項;然后在WR文件夾的數據區簇中搜索待發送文件的目錄項,從該目錄項中,FPGA獲取待發送文件的起始簇。
2)發送數據:FPGA從起始簇中,將簇中的有效數據讀出,通過標準FMC功能板卡發送出去;如果數據文件的內容分布在多個簇中,當前簇中的數據讀取完畢后,FPGA通過FAT表項尋找到下一簇,并從中讀取數據,直到待發送文件的所有數據被讀取。
3)生成DONE文件:FPGA在FAT表中尋找未使用的簇,并在該FAT表項中寫入結束標記32`h0fff_ffff,指示當前DONE文件使用該簇;然后在數據區該簇中寫入“***文件發送成功”,此處文件名為CFG文件中指定的文件名;最后將該DONE文件的相關信息如文件大小,文件夾名稱,屬性,時間及開始簇地址等信息寫入到DONE文件夾數據區的目錄項中。
以上描述了本實用新型實施例所示固態硬盤對FAT32文件系統的支持,但本實用新型不僅限于支持FAT32文件系統,還可以支持exFAT,NTFS等文件系統,本實用新型對此不作限制。
以下將結合圖8說明本實用新型內部邏輯模塊的工作機制。
如圖8所示,本實用新型中的固態硬盤通過USB,SATA,PCIe三種接口中的任一接口與PC機相連并在FMC接口安裝標準FMC功能板卡(或者FMC接口不安裝標準FMC功能板卡),然后上電,固態硬盤開始工作:首先固態硬盤會啟動MicroBlaze處理器中的Linux系統,并初始化FPGA中的各邏輯單元;待以上操作完成之后,MicroBlaze處理器會掃描USB接口,SATA接口,PCIe接口和FMC接口,確定固態硬盤和PC機之間的有效連接接口以及FMC接口是否安裝標準FMC功能板卡,由此判斷并進入正確的工作模式。
1、當本實用新型所示固態硬盤工作于模式1時,該固態硬盤如同標準硬盤。該模式下,固態硬盤具體的工作機制如下:MicroBlaze處理器會一直監控是否有來自PC機的操作請求,直到接收到來自PC機的操作請求:
1)如果用戶通過PC機端口(USB,SATA,PCIe中的任一端口)發送寫數據操作,該操作請求經對應的接口控制器傳送到ATA指令解釋和映射模塊;ATA指令解釋和映射模塊,分析出PC機要求執行的操作和目標地址并將其映射為NAND Flash控制器能夠直接執行的操作和地址,然后發送給MicroBlaze處理器;MicroBlaze處理器收到相關信息后,調用NAND Flash陣列控制器寫入到NAND Flash陣列中,操作的過程中為了縮短操作時間,將使用DDR3緩存和DMA模塊;
2)如果PC機通過PC機端口(USB,SATA,PCIe中的任一端口)發送讀數據操作,該操作請求經對應的接口控制器傳送到ATA指令解釋和映射模塊;ATA指令解釋和映射模塊分析出PC機要求執行的操作和目標地址并將其映射為NAND Flash控制器能夠直接執行的操作和地址,然后發送給MicroBlaze處理器;MicroBlaze處理器收到相關信息后,調用NAND Flash陣列控制器從NAND Flash陣列中讀出的數據,經接口控制器上傳到PC機,在這一過程中,為縮短操作時間,將使用DDR3緩存和DMA模塊。
3)如果PC機通過PC機端口(USB,SATA,PCIe中的任一端口)發送擦除數據操作,該操作請求經對應的接口控制器傳送到ATA指令解釋和映射 模塊;ATA指令解釋和映射模塊分析出PC機要求執行的操作和目標地址并將其映射為NAND Flash控制器能夠直接執行的操作和地址,然后發送給MicroBlaze處理器;MicroBlaze處理器收到相關信息后,調用NAND Flash陣列控制器從NAND Flash陣列中刪除指定位置的數據。
2、當本實用新型所示固態硬盤工作于模式0時,MicroBlaze處理器會監控CFG文件夾中是存在有效的CFG文件。
1)如果不存在,固態硬盤可以接收PC機的讀、寫、擦除請求,執行標準的硬盤操作,其工作機制與模式1一致。
2)當MicroBlaze處理器發現CFG文件夾中存在有效的CFG文件之后,MicroBlaze處理器將根據該CFG文件的類型執行不同的操作流程。
A.如果有效的CFG文件為讀操作CFG文件:MicroBlaze處理器根據文件系統組織結構(具體結構及實現方法參照前述文件系統的實現)讀取該CFG文件并根據文件的內容設置對應的標準FMC功能板卡及其控制器;設置完畢后,標準FMC功能板卡及對應的控制器開始工作;標準FMC功能板卡接收的數據由對應的FMC功能板卡控制器傳送到MicroBlaze處理器;MicroBlaze處理器根據文件系統組織結構(具體結構及實現方法參照前述文件系統的實現)使用NAND Flash控制器存儲數據到NAND Flash陣列中,在這一過程中,為了縮短操作時間,將使用DDR3緩存和DMA模塊;寫入完成后,RD文件夾中生成一數據文件,該數據文件的名稱由CFG文件指定;當當前CFG文件中指定的工作完成,MicroBlaze處理器將根據指定文件系統組織結構(具體結構及實現方法參照前述文件系統的實現)向DONE文件夾寫入一DONE文件并無效當前CFG文件;當用戶看到DONE文件夾中出現指定DONE文件,用戶可執行其他操作。
B.如果有效的CFG文件為寫操作CFG文件:MicroBlaze處理器讀取該CFG文件,確定將要發送文件的名稱,然后搜索WR文件夾,查看其中是否已經存在指定的寫數據文件;如果WR文件夾中不存在對應的寫數據文件,本實用新型所示固態硬盤可執行標準的硬盤操作,期間MicroBlaze處理器會不斷監控WR文件夾,查看其中是否有指定的數據文件,直到PC機寫入指定名稱的數據文件或者刪除該CFG文件取消啟動標準FMC功能板卡;當MicroBlaze處理器檢測到WR文件夾中存在指定的數據文件時,MicroBlaze 處理器根據文件系統組織結構(具體結構及實現方法參照前述文件系統的實現)讀取寫操作CFG文件中的參數并根據文件的內容配置標準FMC功能板卡對應的控制器及對應的標準FMC功能板卡;設置完畢后,標準FMC功能板卡及對應的控制器開始工作;MicroBlaze處理器根據文件系統組織結構(具體結構及實現方法參照前述文件系統的實現)通過NAND Flash控制器讀取WR文件夾中指定的數據文件,然后解析數據文件中的有效載荷并發送給FMC功能板卡控制器,在FMC功能板卡控制器的控制下由標準FMC功能板卡向外發送,在這一過程中為了縮短操作時間,將使用DDR3緩存和DMA模塊;待數據發送完畢,MicroBlaze處理器將根據指定文件系統組織結構(具體結構及實現方法參照前述文件系統的實現)在DONE文件夾中寫入一DONE文件,并無效當前CFG文件,當用戶看到DONE文件夾中出現對應DONE文件,用戶可以執行其他操作。
本實用新型實施例所示用于固態硬盤的控制芯片及固態硬盤,由于包括多種接口標準不同的接口,例如USB接口、SATA接口、PCIe接口等,可以通過任一接口連接到個人計算機,使得本實用新型實施例所示固態硬盤具有多種被個人計算機訪問的選擇,降低了被計算機訪問的復雜度。本實用新型實施例還包括多個用于接插標準功能子卡的接插件,例如標準FMC接口,可以安裝多種標準FMC功能子卡,使得本實用新型實施例所示固態硬盤可用于多種場合下的數據存取項目。此外,本實用新型實施例支持例如NTFS、FAT32、exFAT等多種文件系統,使得本實用新型實施例所示固態硬盤中存儲的數據很容易被個人計算機分析處理。
通過以上的實施例的描述,本領域的技術人員可以清楚地了解到以上所描述的實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。各實施例可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。本領域普通技術人員在不付出創造性的勞動的情況下,即可以理解并實施。
最后應說明的是:以上實施例僅用以說明本實用新型的技術方案,而非對其限制;盡管參照前述實施例對本實用新型進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本實用新型各實施例技術方案的精神和范圍。