Legal claims defining the scope of protection, as filed with the USPTO.
1. A storage device comprising: memory divisible into multiple zones, each zone comprising a plurality of physical blocks of the memory and for associating with a zone-based address map for mapping between logical and physical addresses of said zone, wherein the multiple zones are configurable independently of each other and wherein the storage device further comprises a Flash Translation Layer (FTL) configured to dynamically apply page-based address mapping or block-based address mapping for each zone.
2. A storage device according to claim 1 , wherein the multiple zones are created dynamically.
3. A storage device according to claim 1 , wherein the either page-based address mapping or block-based address mapping is applied depending on the type of data to be stored in the respective zone.
4. A storage device according to claim 3 , wherein if the data to be stored is random data, the FTL is configured to store the random data based on page-based address mapping.
5. A storage device according to claim 3 , wherein if the data to be stored is sequential data, the FTL is configured to store the sequential data based on block-based address mapping.
6. A storage device according to claim 1 , wherein each zone is configurable with a same number of physical blocks of memory.
7. A storage device according to claim 1 , wherein some of the zones have different numbers of physical blocks of memory.
8. A storage device according to claim 1 , wherein the zone-based address map includes a global mapping table for mapping between logical block number and zone number for the multiple zones.
9. A storage device according to claim 8 , wherein the global mapping table is further configured for mapping between logical blocks and physical blocks of memory for block zones.
10. A storage device according to claim 8 , wherein the zone-based address map further includes a plurality of zone mapping tables for mapping between logical and physical pages of memory for page zones.
11. A storage device according to claim 10 , wherein the storage device further includes a working memory and the entire global mapping table is fully loaded into the working memory.
12. A storage device according to claim 11 , wherein the plurality of zone mapping tables are partially or fully loaded into the working memory in dependence on the size of the working memory.
13. A storage device according to claim 9 , wherein the global mapping table includes a physical block number for representing an associated entry that is mapped to one of the plurality of zone mapping tables.
14. A storage device according to claim 10 , wherein the physical block number is −1.
15. A storage device according to claim 10 , wherein the storage device is arranged to receive an access request associated with a logical page number, and the storage device is further arranged to search the global mapping table to obtain a zone number of the multiple zones based on a calculated logical block number.
16. A storage device according to claim 15 , wherein if the zone number corresponds to one of the page zones, the storage device is further arranged to search the zone mapping table of the corresponding zone to obtain a physical page number, and to deliver the request based on the zone number and the physical page number of the corresponding zone.
17. A storage device according to claim 15 , wherein if the zone number corresponds to one of the block zones, the storage device is further arranged to obtain a physical block number directly from the global mapping table, and to deliver the request based on the zone number and the physical block number of the corresponding zone and a block offset.
18. A storage device according to claim 1 , wherein the memory includes non-volatile or volatile memory.
19. A zone-based block management and address mapping method for a storage device including memory, the method comprising: dividing the memory into multiple zones, each zone comprising a plurality of physical blocks of the memory; and associating each zone with a zone-based address map for mapping between logical and physical addresses of said zone, wherein the multiple zones are configurable independently of each other and wherein the method further comprises dynamically applying page-based address mapping or block-based address mapping for each zone.
20. A zone-based block management and address mapping method according to claim 19 , further comprising dynamically creating the multiple zones.
21. A zone-based block management and address mapping method according to claim 19 , wherein the either page-based address mapping or block-based address mapping is applied depending on the type of data to be stored in the respective zone.
22. A zone-based block management and address mapping method according to claim 21 , wherein if the data to be stored is random data, the method comprises storing the random data based on page-based address mapping.
23. A zone-based block management and address mapping method according to claim 21 , wherein if the data to be stored is sequential data, the method comprises storing the sequential data based on block-based address mapping.
24. A zone-based block management and address mapping method according to claim 19 , further comprising configuring each zone with a same number of physical blocks of memory.
25. A zone-based block management and address mapping method according to claim 19 , further comprising configuring some of the zones with different numbers of physical blocks of memory.
26. A zone-based block management and address mapping method according to claim 19 , wherein the zone-based map includes a global mapping table for mapping between logical block number and zone number for the multiple zones.
27. A zone-based block management and address mapping method according to claim 26 , wherein the global mapping table is further configured for mapping between logical blocks and physical blocks of memory for block zones.
28. A zone-based block management and address mapping method according to claim 27 , wherein the zone-based map further comprises a plurality of zone mapping tables for mapping between logical and physical pages of memory for page zones.
29. A zone-based block management and address mapping method according to claim 28 , wherein the global mapping table includes a physical block number for representing an associated entry that is mapped to one of the plurality of zone mapping tables.
30. A zone-based block management and address mapping method according to claim 29 , wherein the physical block number is −1.
31. A zone-based block management and address mapping method according to claim 28 , further comprising receiving an access request associated with a logical page number, and searching the global mapping table to obtain a zone number of the multiple zones based on a calculated logical block number.
32. A zone-based block management and address mapping method according to claim 31 , wherein if the zone number corresponds to one of the page zones, the method further includes searching the zone mapping table of the corresponding zone to obtain a physical page number, and delivering the request based on the zone number and physical page number of the corresponding zone.
33. A zone-based block management and address mapping method, according to claim 31 , wherein if the zone number corresponds to one of the block zones, the method further includes obtaining a physical block number directly from the global mapping table, and delivering the request based on the zone number, the physical block number of the corresponding zone and a block offset.
34. A zone-based block management and address mapping method according to claim 19 , wherein the memory includes volatile or non-volatile memory.
35. A zone-based block management and address mapping method according to claim 19 , further comprising assigning a portion of the memory as a buffer zone for classifying a workload to be managed by the method, wherein the buffer zone includes a plurality of physical blocks of the memory, and the workload is classified when the zone buffer is determined to be full.
36. A zone-based block management and address mapping method according to claim 35 , wherein if a page count of a physical block of memory in the buffer zone exceeds a predefined threshold, the method further includes moving data in the associated physical block in the buffer zone to the block zones, wherein the predefined threshold is adjustable in accordance with the classified workload.
37. A zone-based block management and address mapping method according to claim 35 , wherein if a page count of a physical block of memory in the buffer zone is below the predefined threshold, the method further includes moving data in the associated physical block in the buffer zone to the page zones, wherein the predefined threshold is adjustable in accordance with the classified workload.
38. A storage device configured for storing data using the zone-based block management and address mapping method of claim 19 , the device comprising: a plurality of Single-level Cell (SLC) memory chips configured as page zones; and a plurality of Multi-level Cell (MLC) memory chips configured as block zones, wherein the SLC and MLC memory chips respectively store random data and sequential data, and the memory chips are non-volatile memory.
39. A storage device configured for storing data using the zone-based block management and address mapping method of claim 19 , the device comprising: a plurality of phase-change memory chips (PCRAM) or STT-MRAM memory chips configured as page zones; and a plurality of flash memory chips configured as block zones, wherein the PCRAM or STT-MRAM, and flash memory chips respectively store random data and sequential data, and the memory chips are non-volatile memory.
40. A storage device configured for storing data using the zone-based block management and address mapping method of claim 19 , the device comprising: a plurality of non-volatile memory chips configured as page zones; and a magnetic disk configured as block zones, wherein the non-volatile memory chips and magnetic disk respectively store random data and sequential data.
41. A zone-based block management and address map for a storage device, the storage device including memory divided into multiple zones with each zone having a plurality of physical blocks of the memory, the map comprising a global mapping table for mapping between logical block number and zone number of memory, the global mapping table is further configured for mapping between logical blocks and physical blocks for block zones; and a plurality of zone mapping tables for mapping between logical and physical pages of memory for page zones.
42. A storage device comprising: memory divisible into multiple zones, each zone comprising a plurality of physical blocks of the memory and for associating with a zone-based address map for mapping between logical and physical addresses of said zone, wherein the multiple zones are configurable independently of each other and wherein the zone-based address map includes a global mapping table for mapping between logical block number and zone number for the multiple zones, and a plurality of zone mapping tables for mapping between logical and physical pages of memory for page zones.
43. A zone-based block management and address mapping method for a storage device including memory, the method comprising: dividing the memory into multiple zones, each zone comprising a plurality of physical blocks of the memory; and associating each zone with a zone-based address map for mapping between logical and physical addresses of said zone, wherein the multiple zones are configurable independently of each other and wherein the zone-based map includes a global mapping table for mapping between logical block number and zone number for the multiple zones, and a plurality of zone mapping tables for mapping between logical and physical pages of memory for page zones.
Unknown
February 3, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.