-
公开(公告)号:US09990158B2
公开(公告)日:2018-06-05
申请号:US15189684
申请日:2016-06-22
Applicant: SanDisk Technologies LLC
Inventor: Amir Shaharabany , Yoav Markus , Tal Heller , Hadas Oshinsky
CPC classification number: G06F3/0659 , G06F3/061 , G06F3/0655 , G06F3/068 , G06F3/0688 , G06F13/1673 , G11C14/00
Abstract: A storage system uses consumption of transfer RAM as a trigger to enter and exit burst mode. In one embodiment, the storage system stores, in volatile memory, data to be written in non-volatile memory; monitors an allocation level of the volatile memory to determine a first amount of time that the allocation level is at a first level and a second amount of time that the allocation level is at second level; enters burst mode when a ratio of the first amount of time and the second amount of time is above a first threshold; and exits burst mode when the ratio of the first amount of time and the second amount of time is below a second threshold. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.
-
公开(公告)号:US09652154B2
公开(公告)日:2017-05-16
申请号:US14249063
申请日:2014-04-09
Applicant: SanDisk Technologies LLC
Inventor: Yacov Duzly , Hadas Oshinsky , Shahar Bar-Or , Judah Gamliel Hahn
CPC classification number: G06F3/061 , G06F3/0643 , G06F3/0679 , G06F3/0688 , G06F12/02 , G06F12/023 , G06F17/30 , G06F17/30135 , G06F2206/1014 , G06F2212/1044
Abstract: A storage module and host device for storage module defragmentation are disclosed. In one embodiment, a host controller sends a storage module a first set of logical block addresses of a file stored in the storage module. The host controller receives a metric from the storage module indicative of a fragmentation level of the file in physical blocks of memory in the storage module. If the metric is greater than a threshold, the host controller reads the file and then writes it back to the storage module using a different set of logical block addresses. To avoid sending the file back and forth, in another embodiment, the host controller sends the fragmentation threshold and the different set of logical block addresses to the storage module. The storage module then moves the file itself if the metric indicative of the fragmentation level is greater than the threshold. Other embodiments are provided.
-
公开(公告)号:US09645742B2
公开(公告)日:2017-05-09
申请号:US14249096
申请日:2014-04-09
Applicant: SanDisk Technologies LLC
Inventor: Yacov Duzly , Hadas Oshinsky , Shahar Bar-Or , Judah Gamliel Hahn
CPC classification number: G06F3/061 , G06F3/0643 , G06F3/0679 , G06F3/0688 , G06F12/02 , G06F12/023 , G06F17/30 , G06F17/30135 , G06F2206/1014 , G06F2212/1044
Abstract: A storage module and host device for storage module defragmentation are disclosed. In one embodiment, a host controller sends a storage module a first set of logical block addresses of a file stored in the storage module. The host controller receives a metric from the storage module indicative of a fragmentation level of the file in physical blocks of memory in the storage module. If the metric is greater than a threshold, the host controller reads the file and then writes it back to the storage module using a different set of logical block addresses. To avoid sending the file back and forth, in another embodiment, the host controller sends the fragmentation threshold and the different set of logical block addresses to the storage module. The storage module then moves the file itself if the metric indicative of the fragmentation level is greater than the threshold. Other embodiments are provided.
-
公开(公告)号:US10534709B2
公开(公告)日:2020-01-14
申请号:US15252251
申请日:2016-08-31
Applicant: SanDisk Technologies LLC
Inventor: Hadas Oshinsky , Rotem Sela , Amir Shaharabany
IPC: G06F12/0804 , G06F12/0868
Abstract: A data storage device includes a write cache, a non-volatile memory and a controller coupled to the write cache and to the non-volatile memory. The controller is configured to, responsive to receiving a plurality of flush commands, write all data from the write cache to the non-volatile memory while executing fewer than all of the plurality of flush commands.
-
公开(公告)号:US20180060232A1
公开(公告)日:2018-03-01
申请号:US15252251
申请日:2016-08-31
Applicant: SanDisk Technologies LLC
Inventor: Hadas Oshinsky , Rotem Sela , Amir Shaharabany
IPC: G06F12/0804 , G06F3/06
CPC classification number: G06F12/0804 , G06F12/0868 , G06F2212/1032
Abstract: A data storage device includes a write cache, a non-volatile memory and a controller coupled to the write cache and to the non-volatile memory. The controller is configured to, responsive to receiving a plurality of flush commands, write all data from the write cache to the non-volatile memory while executing fewer than all of the plurality of flush commands.
-
公开(公告)号:US09870174B2
公开(公告)日:2018-01-16
申请号:US15404487
申请日:2017-01-12
Applicant: SANDISK TECHNOLOGIES LLC
Inventor: Amir Shaharabany , Hadas Oshinsky
CPC classification number: G06F3/0659 , G06F3/061 , G06F3/0611 , G06F3/0619 , G06F3/0626 , G06F3/064 , G06F3/065 , G06F3/0665 , G06F3/0679 , G06F2206/1014 , G11C11/5628
Abstract: An apparatus includes a memory storing a group of pages of data. An interface of the apparatus is configured to send, to a data storage device (DSD) from a first command queue, a first instruction of instructions to store the group of pages to the DSD using a logical address corresponding to the group of pages. The interface is further configured to send, to the DSD from a second command queue, a second instruction of the instructions to write the group of pages to the DSD using the logical address. Sending a first copy of the group of pages in association with the first instruction and sending a second copy of the group of pages in association with the second instruction enables a multi-stage programming operation to be performed at the DSD without storing the group of pages at the DSD between stages of the multi-stage programming operation.
-
公开(公告)号:US20170371588A1
公开(公告)日:2017-12-28
申请号:US15189684
申请日:2016-06-22
Applicant: SanDisk Technologies LLC
Inventor: Amir Shaharabany , Yoav Markus , Tal Heller , Hadas Oshinsky
CPC classification number: G06F3/0659 , G06F3/061 , G06F3/0655 , G06F3/068 , G06F3/0688 , G06F13/1673 , G11C14/00
Abstract: A storage system uses consumption of transfer RAM as a trigger to enter and exit burst mode. In one embodiment, the storage system stores, in volatile memory, data to be written in non-volatile memory; monitors an allocation level of the volatile memory to determine a first amount of time that the allocation level is at a first level and a second amount of time that the allocation level is at second level; enters burst mode when a ratio of the first amount of time and the second amount of time is above a first threshold; and exits burst mode when the ratio of the first amount of time and the second amount of time is below a second threshold. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.
-
公开(公告)号:US09658777B2
公开(公告)日:2017-05-23
申请号:US14249049
申请日:2014-04-09
Applicant: SanDisk Technologies LLC
Inventor: Yacov Duzly , Hadas Oshinsky , Shahar Bar-Or , Judah Gamliel Hahn
CPC classification number: G06F3/061 , G06F3/0643 , G06F3/0679 , G06F3/0688 , G06F12/02 , G06F12/023 , G06F17/30 , G06F17/30135 , G06F2206/1014 , G06F2212/1044
Abstract: A storage module and host device for storage module defragmentation are disclosed. In one embodiment, a host controller sends a storage module a first set of logical block addresses of a file stored in the storage module. The host controller receives a metric from the storage module indicative of a fragmentation level of the file in physical blocks of memory in the storage module. If the metric is greater than a threshold, the host controller reads the file and then writes it back to the storage module using a different set of logical block addresses. To avoid sending the file back and forth, in another embodiment, the host controller sends the fragmentation threshold and the different set of logical block addresses to the storage module. The storage module then moves the file itself if the metric indicative of the fragmentation level is greater than the threshold. Other embodiments are provided.
-
公开(公告)号:US10126970B2
公开(公告)日:2018-11-13
申请号:US15348875
申请日:2016-11-10
Applicant: SanDisk Technologies LLC
Inventor: Amir Shaharabany , Hadas Oshinsky , Yacov Duzly , James Fitzpatrick
Abstract: Systems, methods and/or devices are used to pair metablocks in a non-volatile storage device. In one aspect, a method of data organization of a memory device includes, writing data to and reading data from respective metablocks in a set of metablocks. The method further includes while performing said writing and reading: (1) accessing one or more management data structures in controller memory, identifying two or more metablock pairs; (2) accessing and updating metablock status information indicating which metablocks of the set of metablocks are closed, free and open; and (3) accessing and updating a valid count, corresponding to a number of sub-block memory units having valid data for each of a plurality of metablocks in the set of metablocks.
-
公开(公告)号:US20170168716A1
公开(公告)日:2017-06-15
申请号:US15348875
申请日:2016-11-10
Applicant: SanDisk Technologies LLC
Inventor: Amir Shaharabany , Hadas Oshinsky , Yacov Duzly , James Fitzpatrick
CPC classification number: G06F3/064 , G06F3/0616 , G06F3/0679 , G06F11/0727 , G06F11/0751 , G06F11/0787 , G06F11/079 , G06F11/08 , G11C29/52 , G11C2029/4402
Abstract: Systems, methods and/or devices are used to pair metablocks in a non-volatile storage device. In one aspect, a method of data organization of a memory device includes, writing data to and reading data from respective metablocks in a set of metablocks. The method further includes while performing said writing and reading: (1) accessing one or more management data structures in controller memory, identifying two or more metablock pairs; (2) accessing and updating metablock status information indicating which metablocks of the set of metablocks are closed, free and open; and (3) accessing and updating a valid count, corresponding to a number of sub-block memory units having valid data for each of a plurality of metablocks in the set of metablocks.
-
-
-
-
-
-
-
-
-