System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及固態硬盤存儲,進一步地涉及一種降低讀干擾的存儲系統和方法。
技術介紹
1、讀干擾(read?disturb)是一種在閃存存儲器中常見的現象,當存儲器中的數據被讀取的次數過多時,容易導致數據發生錯誤或損壞,也就是引起讀干擾問題。比如,在手機上單曲循環聽一首歌的時候,系統會循環讀取該歌曲的數據,可能連續播放十幾天之后,因為讀取次數過多而導致該歌曲數據損壞。
2、現有技術中,針對讀干擾的解決方法通常為改進flash工藝或者控制每個塊的讀取次數,但是應用的成本較高。
技術實現思路
1、本專利技術的目的是提供一種降低讀干擾的存儲系統和方法,在flash控制器和flash存儲器之間設置緩存單元,在緩存單元中存儲預設時間段內的被頻繁訪問的訪問地址和訪問數據,當需要讀取某個數據時優先從緩存單元中讀取,有效減少了flash存儲器中同一個地址被連續讀取的次數,避免了因頻繁讀取某一個地址而導致的讀干擾問題。
2、本專利技術提供的技術方案如下:
3、本專利技術提供一種降低讀干擾的存儲系統,所述存儲系統包括flash控制器和flash存儲器,所述flash控制器和所述flash存儲器之間設置有緩存單元,所述緩存單元用于存儲緩存數據,所述緩存數據包括預設時間段內最常訪問的若干個訪問地址及其對應的訪問數據;
4、所述flash控制器在接收到主機發出的讀取命令時,根據所述讀取命令判斷所述緩存單元中是否存儲有所述讀取命令所需的目標地址;若判斷為是,根據所
5、在一些實施方式中,所述flash控制器在將所述目標地址和所述目標數據寫入所述緩存單元之前,判斷所述目標地址和所述目標數據所占的存儲空間的大小是否小于所述緩存單元的剩余緩存空間的大小;
6、若判斷為是,將所述目標地址和所述目標數據寫入所述緩存單元;
7、若判斷為否,將所述目標地址和所述目標數據替換最常訪問的若干個所述訪問地址中訪問次數最少的所述訪問地址及其對應的所述訪問數據。
8、在一些實施方式中,所述緩存數據包括訪問次數,所述訪問次數用于表示所述訪問地址在所述預設時間段內被命中的訪問次數;
9、所述flash控制器在所述緩存單元中的所述訪問地址被命中時,控制被命中的所述訪問地址對應的所述訪問次數加一。
10、在一些實施方式中,所述緩存數據包括連續未被命中次數,所述連續未被命中次數用于表示所述訪問地址在所述預設時間段內連續的沒有被命中的次數;
11、所述flash控制器在所述緩存單元中的所述訪問地址被命中時,控制被命中的所述訪問地址對應的所述連續未被命中次數變更為預設值,控制其他所述訪問地址對應的其他所述連續未被命中次數加一。
12、在一些實施方式中,所述flash控制器在所述將所述目標地址和所述目標數據寫入所述緩存單元之后,判斷所述連續未被命中次數是否大于預設第一閾值;
13、若判斷為是,刪除所述連續未被命中次數對應的所述訪問地址及其對應的所述訪問數據。
14、在一些實施方式中,所述緩存數據包括有效位,所述有效位用于表示所述訪問地址及其對應的所述訪問數據的有效狀態。
15、本專利技術還提供一種降低讀干擾的方法,應用于存儲系統,所述存儲系統包括flash控制器和flash存儲器,所述flash控制器和所述flash存儲器之間設置有緩存單元,所述緩存單元用于存儲緩存數據,所述緩存數據包括預設時間段內最常訪問的若干個訪問地址及其對應的訪問數據;
16、所述方法包括:
17、控制所述flash控制器接收主機發出的讀取命令,根據所述讀取命令判斷所述緩存單元中是否存儲有所述讀取命令所需的目標地址;
18、若判斷為是,根據所述目標地址從所述緩存單元中確定目標數據發送至所述主機;
19、若判斷為否,根據所述目標地址從所述flash存儲器中確定所述目標數據發送至所述主機,并將所述目標地址和所述目標數據寫入所述緩存單元。
20、在一些實施方式中,所述將所述目標地址和所述目標數據寫入所述緩存單元之前,還包括:
21、判斷所述目標地址和所述目標數據所占的存儲空間的大小是否小于所述緩存單元的剩余緩存空間的大小;
22、若判斷為是,將所述目標地址和所述目標數據寫入所述緩存單元;
23、若判斷為否,將所述目標地址和所述目標數據替換最常訪問的若干個所述訪問地址中訪問次數最少的所述訪問地址及其對應的所述訪問數據。
24、在一些實施方式中,所述緩存單元中存儲有所述讀取命令所需的目標地址時,控制被命中的所述訪問地址對應的連續未被命中次數變更為預設值,控制其他所述訪問地址對應的其他所述連續未被命中次數加一;其中,所述連續未被命中次數表示所述訪問地址在所述預設時間段內連續的沒有被命中的次數。
25、在一些實施方式中,所述將所述目標地址和所述目標數據寫入所述緩存單元之后,還包括:
26、判斷所述連續未被命中次數是否大于預設第一閾值;
27、若判斷為是,刪除所述連續未被命中次數對應的所述訪問地址及其對應的所述訪問數據。
28、與現有技術相比,本專利技術所提供的一種降低讀干擾的存儲系統和方法具有以下有益效果:
29、1、通過在flash控制器和flash存儲器之間設置緩存單元,實現了將預設時間段內被頻繁訪問的訪問地址和訪問數據存儲在緩存單元,當flash控制器接收到讀取命令時,可優先從緩存單元中讀取數據,減少了對flash存儲器中同一個地址頻繁讀取的現象,避免了因頻繁讀取某一個地址而導致的讀干擾問題。
30、2、增設的緩存單元所需的存儲空間小,硬件開銷小,有利于節約成本。
31、3、本申請中對緩存單元中數據的替換策略考慮到訪問次數,當需要寫入新的數據且緩存單元的儲存空間不足時,替換訪問次數最少的訪問地址及其對應的訪問數據,而不是僅按照最近的被訪問時間,實現了將預設時間段內被訪問次數最多的訪問地址及其對應的訪問數據保存在緩存單元。這樣緩存單元中始終保存最近訪問次數最多的訪問地址及其對應的訪問數據。
本文檔來自技高網...【技術保護點】
1.一種降低讀干擾的存儲系統,其特征在于,所述存儲系統包括flash控制器和flash存儲器,所述flash控制器和所述flash存儲器之間設置有緩存單元,所述緩存單元用于存儲緩存數據,所述緩存數據包括預設時間段內最常訪問的若干個訪問地址及其對應的訪問數據;
2.根據權利要求1所述的一種降低讀干擾的存儲系統,其特征在于,
3.根據權利要求1所述的一種降低讀干擾的存儲系統,其特征在于,
4.根據權利要求1所述的一種降低讀干擾的存儲系統,其特征在于,
5.一種降低讀干擾的方法,其特征在于,應用于存儲系統,所述存儲系統包括flash控制器和flash存儲器,所述flash控制器和所述flash存儲器之間設置有緩存單元,所述緩存單元用于存儲緩存數據,所述緩存數據包括預設時間段內最常訪問的若干個訪問地址及其對應的訪問數據;
6.根據權利要求5所述的一種降低讀干擾的方法,其特征在于,
7.根據權利要求5所述的一種降低讀干擾的方法,其特征在于,
【技術特征摘要】
1.一種降低讀干擾的存儲系統,其特征在于,所述存儲系統包括flash控制器和flash存儲器,所述flash控制器和所述flash存儲器之間設置有緩存單元,所述緩存單元用于存儲緩存數據,所述緩存數據包括預設時間段內最常訪問的若干個訪問地址及其對應的訪問數據;
2.根據權利要求1所述的一種降低讀干擾的存儲系統,其特征在于,
3.根據權利要求1所述的一種降低讀干擾的存儲系統,其特征在于,
4.根據權利要求1所述的一種降低讀...
【專利技術屬性】
技術研發人員:張波,吳忠潔,
申請(專利權)人:上海靈動微電子股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。