Recovering from a program failure by combining write data
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-011/00
G06F-011/14
출원번호
US-0094648
(2013-12-02)
등록번호
US-9183095
(2015-11-10)
발명자
/ 주소
Chu, Derrick Preston
Sridhar, Nandan
Aslam, Ameen
출원인 / 주소
SK hynix memory solutions inc.
대리인 / 주소
Van Pelt, Yi & James LLP
인용정보
피인용 횟수 :
0인용 특허 :
13
초록▼
A plurality of write data is received and combined to obtain backup write data. The plurality of write data is stored in storage. On a storage controller, the plurality of write data is released without waiting for a confirmation associated with writing the plurality of write data to the storage. Th
A plurality of write data is received and combined to obtain backup write data. The plurality of write data is stored in storage. On a storage controller, the plurality of write data is released without waiting for a confirmation associated with writing the plurality of write data to the storage. The backup write data is stored.
대표청구항▼
1. A system, comprising: a processor; anda memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to: receive a plurality of write data;combine the plurality of write data to obtain backup write data;stor
1. A system, comprising: a processor; anda memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to: receive a plurality of write data;combine the plurality of write data to obtain backup write data;store the plurality of write data in storage;release, on a storage controller, the plurality of write data without waiting for a confirmation associated with writing the plurality of write data to the storage; andstore the backup write data. 2. The system of claim 1, wherein the system includes a semiconductor device, including one or more of the following: a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). 3. The system of claim 1, wherein the plurality of write data is received together in a batch. 4. The system of claim 1, wherein the instructions for combining include instructions for combining the plurality of write data incrementally to obtain backup write data. 5. The system of claim 1, wherein the backup write data is stored on one or more of the following: the same storage as the plurality of write data, storage that is external to the storage controller, or storage that is internal to the storage controller. 6. The system of claim 1, wherein the storage in which the plurality of write data is stored includes solid state storage. 7. The system of claim 1, wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to: determine whether to release the backup write data; andin the event it is determined to release the backup write data, release the backup write data. 8. The system of claim 7, wherein it is determined to release the backup write data in the event a successful indication is returned for each piece of write data in the plurality of write data. 9. The system of claim 7, wherein: the plurality of write data is a first plurality of write data; andit is determined to release the backup write data in the event: (1) a successful indication is returned for each piece of write data in the first plurality of write data and (2) a successful indication is returned for each piece of write data in a second plurality of write data, wherein each piece of write data in the second plurality of write data is adjacent to a piece of write data in the first plurality of write data. 10. The system of claim 7, wherein it is determined to release the backup write data in the event a timeout is exceeded. 11. The system of claim 1, wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to: receive a program failure indication associated with at least one piece of write data in the plurality of write data;obtain the backup write data;obtain, from the storage, the plurality of write data;perform error correction decoding on the obtained backup write data to obtain successfully decoded backup write data;perform error correction decoding on the obtained plurality of write data to obtain one or more pieces of successfully decoded write data and unsuccessfully decoded write data;regenerate write data, corresponding to the unsuccessfully decoded write data, using the one or more pieces of successfully decoded write data and the successfully decoded backup write data; andstore at least the regenerated write data in the storage. 12. The system of claim 1, wherein the instructions for storing the backup write data include instructions for: reading a configuration setting associated with programming solid state storage to obtain an original value;setting the configuration setting to a new value, wherein the new value causes the solid state storage to be programmed using fewer pulses compared to the original value;storing the backup write data in the solid state storage with the configuration setting set to the new value; andsetting the configuration setting to the original value. 13. A method, comprising: receiving a plurality of write data;using a processor to combine the plurality of write data to obtain backup write data;storing the plurality of write data in storage;releasing, on a storage controller, the plurality of write data without waiting for a confirmation associated with writing the plurality of write data to the storage; andstoring the backup write data. 14. The method of claim 13, wherein the method is performed by a semiconductor device, including one or more of the following: a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). 15. The method of claim 13 further comprising: determining whether to release the backup write data; andin the event it is determined to release the backup write data, releasing the backup write data. 16. The method of claim 15, wherein it is determined to release the backup write data in the event a successful indication is returned for each piece of write data in the plurality of write data. 17. The method of claim 15, wherein: the plurality of write data is a first plurality of write data; andit is determined to release the backup write data in the event: (1) a successful indication is returned for each piece of write data in the first plurality of write data and (2) a successful indication is returned for each piece of write data in a second plurality of write data, wherein each piece of write data in the second plurality of write data is adjacent to a piece of write data in the first plurality of write data. 18. The method of claim 15, wherein it is determined to release the backup write data in the event a timeout is exceeded. 19. The method of claim 13 further comprising: receiving a program failure indication associated with at least one piece of write data in the plurality of write data;obtaining the backup write data;obtaining, from the storage, the plurality of write data;perform error correction decoding on the obtained backup write data to obtain successfully decoded backup write data;performing error correction decoding on the obtained plurality of write data to obtain one or more pieces of successfully decoded write data and unsuccessfully decoded write data;regenerating write data, corresponding to the unsuccessfully decoded write data, using the one or more pieces of successfully decoded write data and the successfully decoded backup write data; andstoring at least the regenerated write data in the storage. 20. The method of claim 13 further comprising: reading a configuration setting associated with programming solid state storage to obtain an original value;setting the configuration setting to a new value, wherein the new value causes the solid state storage to be programmed using fewer pulses compared to the original value;storing the backup write data in the solid state storage with the configuration setting set to the new value; andsetting the configuration setting to the original value. 21. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for: receiving a plurality of write data;combining the plurality of write data to obtain backup write data;storing the plurality of write data in storage;releasing, on a storage controller, the plurality of write data without waiting for a confirmation associated with writing the plurality of write data to the storage; andstoring the backup write data.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (13)
Katayama,Yasunao; Yamane,Toshiyuki, Apparatus for encoding and decoding.
Hamai Shinji,JPX ; Matsumi Chiyoko,JPX ; Iketani Akira,JPX, Digital data recording and reproducing apparatus with reliable error correcting coding and decoding.
Weingarten, Hanan; Levy, Shmuel; Katz, Michael, Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.