本發(fā)明專利技術(shù)公開了在主機(jī)系統(tǒng)和可重新編程的非易失性大容量存儲(chǔ)系統(tǒng)之間傳輸數(shù)據(jù)的方法和系統(tǒng)。該方法包括:在所述主機(jī)系統(tǒng)上的主機(jī)重新映射模塊處接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)的數(shù)據(jù);分配用于接收所述主機(jī)LBA地址的連續(xù)存儲(chǔ)LBA地址的塊,所述連續(xù)存儲(chǔ)LBA地址的塊在分配時(shí)僅對(duì)未寫容量進(jìn)行定址;將所接收數(shù)據(jù)的主機(jī)LBA地址中的每一個(gè)重新映射到該連續(xù)存儲(chǔ)LBA地址的塊,其中按照所接收數(shù)據(jù)被接收的次序,以連續(xù)的方式將每個(gè)存儲(chǔ)LBA地址順序地分派給所接收數(shù)據(jù),而不論主機(jī)LBA地址如何;以及將被重新映射到連續(xù)存儲(chǔ)LBA地址的塊的所接收數(shù)據(jù)和被分派的存儲(chǔ)LBA地址從所述主機(jī)系統(tǒng)傳輸?shù)剿龃笕萘看鎯?chǔ)系統(tǒng)。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)總體上涉及操作系統(tǒng)和存儲(chǔ)器裝置之間的數(shù)據(jù)通信。更具體地,本申請(qǐng)涉及諸如可重新編程非易失性半導(dǎo)體閃存存儲(chǔ)器的存儲(chǔ)器系統(tǒng)、以及連接或可連接該存儲(chǔ)器的主機(jī)裝置的操作。
技術(shù)介紹
當(dāng)將數(shù)據(jù)寫入傳統(tǒng)的閃存數(shù)據(jù)存儲(chǔ)器系統(tǒng)時(shí),主機(jī)一般將獨(dú)有的邏輯地址分配給存儲(chǔ)器系統(tǒng)的連續(xù)虛擬地址空間中的扇區(qū)、簇或其他數(shù)據(jù)單位。主機(jī)將數(shù)據(jù)寫入存儲(chǔ)器系統(tǒng)的邏輯地址空間中的地址,并從其讀取數(shù)據(jù)。然后,存儲(chǔ)器系統(tǒng)在邏輯地址空間和存儲(chǔ)器的物理塊或元塊(metablock)之間共同地映射數(shù)據(jù),其中數(shù)據(jù)被存儲(chǔ)在與邏輯地址空間中的范圍(range)相對(duì)應(yīng)的固定邏輯組中。通常,每個(gè)固定邏輯組被存儲(chǔ)在存儲(chǔ)器系統(tǒng)的分離的物理塊中。存儲(chǔ)器系統(tǒng)保持跟蹤邏輯地址空間如何映射到物理存儲(chǔ)器中,但主機(jī)不知道這些。主機(jī)保持跟蹤其數(shù)據(jù)文件在邏輯地址空間中的地址,但存儲(chǔ)器系統(tǒng)在不知道該映射的情況下操作。以此方式操作的存儲(chǔ)器系統(tǒng)的缺點(diǎn)在于破碎化(fragmentation)。例如,被寫入根據(jù)NTFS文件系統(tǒng)操作的個(gè)人計(jì)算機(jī)(PC)中的固態(tài)盤(SSD)驅(qū)動(dòng)器的數(shù)據(jù)常常具有如下特性驅(qū)動(dòng)器的邏輯地址空間中的廣泛分布的位置處的連續(xù)地址的短區(qū)段(short run)的模式。即使主機(jī)所使用的文件系統(tǒng)對(duì)于連續(xù)文件的新數(shù)據(jù)分配順序的地址,刪除的文件的任意模式也導(dǎo)致可用的空閑存儲(chǔ)器區(qū)域破碎化,使得它不能以分塊的單元來(lái)分配給新文件數(shù)據(jù)。閃存存儲(chǔ)器管理系統(tǒng)一般通過(guò)將連續(xù)邏輯地址塊映射到物理地址的元塊來(lái)操作。當(dāng)來(lái)自主機(jī)的短區(qū)段的地址被單獨(dú)更新時(shí),包含該區(qū)段的地址的整個(gè)邏輯塊必須保持它對(duì)單個(gè)元塊的長(zhǎng)期映射。這需要邏輯到物理存儲(chǔ)器管理系統(tǒng)中的無(wú)用數(shù)據(jù)(garbage)收集操作,其中邏輯塊內(nèi)主機(jī)未更新的所有數(shù)據(jù)被重新放置(relocate),以將其與更新的數(shù)據(jù)相整合。這是非常大的開銷,可能嚴(yán)重約束了寫速度和存儲(chǔ)器壽命。
技術(shù)實(shí)現(xiàn)思路
在與已知盤驅(qū)動(dòng)器中所使用的磁存儲(chǔ)器相比,閃存存儲(chǔ)器目前所具有的有限次的寫循環(huán)的情況下,期望利用閃存存儲(chǔ)器改善系統(tǒng)性能,以補(bǔ)償短的邏輯地址區(qū)段和破碎化的問(wèn)題。為解決這一點(diǎn),描述了用于存儲(chǔ)器裝置中的存儲(chǔ)地址重新映射的方法和系統(tǒng)。根據(jù)本專利技術(shù)的一個(gè)方面,提供一種在主機(jī)系統(tǒng)和可重新編程的非易失性大容量存儲(chǔ)系統(tǒng)之間傳輸數(shù)據(jù)的方法,該方法包括在所述主機(jī)系統(tǒng)上的主機(jī)重新映射模塊處接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)的數(shù)據(jù);分配用于接收所述主機(jī)LBA地址的連續(xù)存儲(chǔ)LBA地址的塊,所述連續(xù)存儲(chǔ)LBA地址的塊在分配時(shí)僅對(duì)未寫容量進(jìn)行定址;將所接收數(shù)據(jù)的主機(jī)LBA地址中的每一個(gè)重新映射到該連續(xù)存儲(chǔ)LBA地址的塊,其中按照所接收數(shù)據(jù)被接收的次序,以連續(xù)的方式將每個(gè)存儲(chǔ)LBA地址順序地分派給所接收數(shù)據(jù),而不論主機(jī)LBA地址如何;以及將被重新映射到連續(xù)存儲(chǔ)LBA地址的塊的所接收數(shù)據(jù)和被分派的存儲(chǔ)LBA地址從所述主機(jī)系統(tǒng)傳輸?shù)剿龃笕萘看鎯?chǔ)系統(tǒng)。根據(jù)本專利技術(shù)的另一方面,提供一種在主機(jī)系統(tǒng)和可重新編程的非易失性大容量存儲(chǔ)系統(tǒng)之間傳輸數(shù)據(jù)的方法,該方法包括在存在于所述主機(jī)系統(tǒng)上的主機(jī)重新映射模塊處接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)的數(shù)據(jù);按接收的次序連續(xù)地將接收的主機(jī)LBA地址重新映射到連續(xù)存儲(chǔ)LBA地址的塊;分配連續(xù)存儲(chǔ)LBA地址的附加塊,所述附加塊在分配時(shí)僅對(duì)未寫容量進(jìn)行定址,且如果所述連續(xù)存儲(chǔ)LBA地址的塊被完全編程,連續(xù)地將剩余的接收的主機(jī)LBA地址重新映射到所述附加塊;建立僅對(duì)廢棄數(shù)據(jù)進(jìn)行定址的連續(xù)存儲(chǔ)LBA地址的新塊;以及將被重新映射到連續(xù)存儲(chǔ)LBA地址的塊的所接收數(shù)據(jù)和被分派的存儲(chǔ)LBA地址從所述主機(jī)系統(tǒng)傳輸?shù)剿龃笕萘看鎯?chǔ)系統(tǒng)。根據(jù)本專利技術(shù)的另一方面,提供一種用于將數(shù)據(jù)傳輸?shù)娇芍匦戮幊谭且资源笕萘?存儲(chǔ)系統(tǒng)的主機(jī)系統(tǒng),所述主機(jī)系統(tǒng)包括接口,被配置以允許與所述大容量存儲(chǔ)系統(tǒng)通信;主機(jī)處理器,被配置以根據(jù)來(lái)自主機(jī)重新映射模塊的指令經(jīng)由所述接口在所述大容量存儲(chǔ)系統(tǒng)上存儲(chǔ)數(shù)據(jù);以及主機(jī)重新映射模塊包括用于使得所述主機(jī)處理器進(jìn)行如下的處理器可執(zhí)行指令在所述主機(jī)系統(tǒng)上的主機(jī)重新映射模塊處接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)的數(shù)據(jù);分配用于接收所述主機(jī)LBA地址的連續(xù)存儲(chǔ)LBA地址的塊,所述連續(xù)存儲(chǔ)LBA地址的塊在分配時(shí)僅對(duì)未寫容量進(jìn)行定址;將所接收數(shù)據(jù)的主機(jī)LBA地址中的每一個(gè)重新映射到該連續(xù)存儲(chǔ)LBA地址的塊,其中按照所接收數(shù)據(jù)被接收的次序,以連續(xù)的方式將每個(gè)存儲(chǔ)LBA地址順序地分派給所接收數(shù)據(jù),而不論主機(jī)LBA地址如何;以及將被重新映射到連續(xù)存儲(chǔ)LBA地址的塊的所接收數(shù)據(jù)和被分派的存儲(chǔ)LBA地址從所述主機(jī)系統(tǒng)傳輸?shù)剿龃笕萘看鎯?chǔ)系統(tǒng)。根據(jù)本專利技術(shù)的另一方面,提供一種用于將數(shù)據(jù)傳輸?shù)娇芍匦戮幊谭且资源笕萘看鎯?chǔ)系統(tǒng)的主機(jī)系統(tǒng),所述主機(jī)系統(tǒng)包括接口,被配置以允許與所述大容量存儲(chǔ)系統(tǒng)通信;主機(jī)處理器,被配置以根據(jù)來(lái)自主機(jī)重新映射模塊的指令經(jīng)由所述接口在所述大容量存儲(chǔ)系統(tǒng)上存儲(chǔ)數(shù)據(jù);以及主機(jī)重新映射模塊,包括用于使得所述主機(jī)處理器進(jìn)行如下的處理器可執(zhí)行指令在所述主機(jī)重新映射模塊處接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)的數(shù)據(jù);按接收的次序連續(xù)地將接收的主機(jī)LBA地址重新映射到主機(jī)系統(tǒng)處的連續(xù)存儲(chǔ)LBA地址的塊;分配連續(xù)存儲(chǔ)LBA地址的附加塊,所述附加塊在分配時(shí)僅對(duì)未寫容量進(jìn)行定址,且僅當(dāng)所述連續(xù)存儲(chǔ)LBA地址的塊被完全編程時(shí),連續(xù)地將附加的接收的主機(jī)LBA地址重新映射到所述附加塊;以及在所述主機(jī)系統(tǒng)處生成存儲(chǔ)地址表,該存儲(chǔ)地址表在與所述主機(jī)LBA地址相關(guān)的數(shù)據(jù)被重新映射到連續(xù)存儲(chǔ)LBA地址時(shí)將主機(jī)LBA地址映射到存儲(chǔ)LBA地址。根據(jù)第一方面,描述了在主機(jī)系統(tǒng)和可重新編程的非易失性大容量存儲(chǔ)系統(tǒng)之間傳輸數(shù)據(jù)的方法。該方法包括在大容量存儲(chǔ)系統(tǒng)處從主機(jī)系統(tǒng)接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)聯(lián)的數(shù)據(jù)。分配連續(xù)存儲(chǔ)LBA地址塊來(lái)接收主機(jī)LBA地址,其中連續(xù)存儲(chǔ)LBA地址塊僅僅包含廢棄數(shù)據(jù)。該方法還包括將所接收數(shù)據(jù)的每個(gè)主機(jī)LBA地址重新映射到連續(xù)存儲(chǔ)LBA地址塊,其中按照所接收數(shù)據(jù)被接收的次序,以連續(xù)的方式將每個(gè)存儲(chǔ)LBA地址順序地分派給所接收數(shù)據(jù),而不論主機(jī)LBA地址如何。根據(jù)第二方面,描述了在主機(jī)系統(tǒng)和可重新編程的非易失性大容量存儲(chǔ)系統(tǒng)之間傳輸數(shù)據(jù)的方法。該方法包括從主機(jī)系統(tǒng)上的文件系統(tǒng)接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)聯(lián)的數(shù)據(jù)。所接收的主機(jī)LBA地址被按接收的次序重新映射到連續(xù)存儲(chǔ)LBA地址塊,并且在分配時(shí)僅僅對(duì)未寫容量定址的連續(xù)存儲(chǔ)LBA地址附加塊被分配,并且僅僅在連續(xù)存儲(chǔ)LBA地址塊被完全編程之后,剩余的所接收的主機(jī)LBA地址才被連續(xù)地重新映射到附加塊。還創(chuàng)建僅僅對(duì)未寫容量定址的連續(xù)存儲(chǔ)LBA地址新塊。在本專利技術(shù)的另一方面中,公開了在主機(jī)系統(tǒng)和可重新編程的非易失性大容量存儲(chǔ)系統(tǒng)之間傳輸數(shù)據(jù)的方法,包括在大容量存儲(chǔ)系統(tǒng)處從主機(jī)系統(tǒng)接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)聯(lián)的數(shù)據(jù),以及將所接收的主機(jī)LBA地址按接收的次序連續(xù)地重新映射到連續(xù)存儲(chǔ)LBA地址塊。該方法還包括分配連續(xù)存儲(chǔ)LBA地址附加塊,該附加塊在分配時(shí)僅 僅對(duì)未寫容量定址,并且僅僅在連續(xù)存儲(chǔ)LBA地址塊被完全編程時(shí),才將剩余的所接收的主機(jī)LBA地址連續(xù)地重新映射到附加塊。另外,該方法還包括生成存儲(chǔ)地址表,其在與主機(jī)LBA地址本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種在主機(jī)系統(tǒng)和可重新編程的非易失性大容量存儲(chǔ)系統(tǒng)之間傳輸數(shù)據(jù)的方法,該方法包括:在所述主機(jī)系統(tǒng)上的主機(jī)重新映射模塊處接收與主機(jī)邏輯塊地址(LBA)地址相關(guān)的數(shù)據(jù);分配用于接收所述主機(jī)LBA地址的連續(xù)存儲(chǔ)LBA地址的塊,所述連續(xù)存儲(chǔ)LBA地址的塊在分配時(shí)僅對(duì)未寫容量進(jìn)行定址;將所接收數(shù)據(jù)的主機(jī)LBA地址中的每一個(gè)重新映射到該連續(xù)存儲(chǔ)LBA地址的塊,其中按照所接收數(shù)據(jù)被接收的次序,以連續(xù)的方式將每個(gè)存儲(chǔ)LBA地址順序地分派給所接收數(shù)據(jù),而不論主機(jī)LBA地址如何;以及將被重新映射到連續(xù)存儲(chǔ)LBA地址的塊的所接收數(shù)據(jù)和被分派的存儲(chǔ)LBA地址從所述主機(jī)系統(tǒng)傳輸?shù)剿龃笕萘看鎯?chǔ)系統(tǒng)。
【技術(shù)特征摘要】
...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:艾倫W辛克萊,巴里賴特,
申請(qǐng)(專利權(quán))人:桑迪士克科技股份有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。