System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory

US9811273B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9811273-B1
Application numberUS-201414580833-A
CountryUS
Kind codeB1
Filing dateDec 23, 2014
Priority dateDec 23, 2014
Publication dateNov 7, 2017
Grant dateNov 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The subject system and method are generally directed to ensuring reliable high speed data transfer in multiple data rate nonvolatile memory, such as double data rate (DDR) nonvolatile NAND flash memory and the like. The system and method provide measures to achieve read and write training for data signals (DQ) and the data strobe signal (DQS), one relative to the other. In such manner, high speed data transfers to and from nonvolatile memory such as flash devices may be performed with a reduced risk of data loss even at high operational frequencies.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for reliable high speed data transfer in multiple data rate nonvolatile memory, the method comprising: establishing a memory controller and a nonvolatile memory having a communication link therebetween; establishing a range of delay values representing relative delay between a plurality of data signals and a data strobe signal for data transmission from the memory controller to the nonvolatile memory through the communication link; selectively establishing a training portion in the nonvolatile memory defined based on a smallest erasable unit of the nonvolatile memory; providing at least one known data pattern; executing the memory controller to: sequentially write the known data pattern to different segments of the training portion of the nonvolatile memory, the known data pattern being written repetitively in the segments of the training portion and relative to the data strobe signal at different delay values within the established range for each written segment; sequentially read each of the segments to compare the data pattern read with the known data pattern and thereby identify each correctly written segment, a first of the correctly written segments defining a leading edge of alignment between data and data strobe signals, a last of the correctly written segments defining a trailing edge of alignment between data and data strobe signals; and establish an optimal delay value as a mean delay value between the delay values of the leading and trailing edge alignment, subsequent write operations to the nonvolatile memory being executed based on the optimal delay value. 2. The method as recited in claim 1 , wherein the established range of delay values are a step-wise range of discrete values, each delay value of the established range being associated with a corresponding one of the segments of the training portion. 3. The method as recited in claim 1 , wherein selectively establishing a training portion further includes evaluations of blocks being unused, blocks being free of bad sectors, and wear leveling requirements of the nonvolatile memory. 4. The method as recited in claim 1 , wherein an individual optimal delay value is established for each of the plurality of data signals relative to the data strobe signal. 5. The method as recited in claim 1 , further comprising: encoding the known data pattern with an error correcting code (ECC) before being written to the training portion, and using the ECC to restore bit errors of data read prior to comparison with the known data pattern. 6. The method as recited in claim 1 , wherein the segments of the training portion are of equal memory capacity. 7. A method for reliable high speed data transfer in multiple data rate nonvolatile memory, the method comprising: establishing a memory controller and a nonvolatile memory having a communication link therebetween; establishing a range of delay values representing relative delay between a plurality of data signals and a data strobe signal for data transmission from the memory controller to the nonvolatile memory through the communication link; selectively establishing a training portion in the nonvolatile memory; providing a known data pattern; writing the known data pattern into the training portion of the nonvolatile memory at a first data rate; repetitively reading the stored data pattern from the training portion of the nonvolatile memory as a plurality of data signals in conjunction with a data strobe signal, each reading at a sequentially different delay value within the established range, the readings being at a second data rate greater than the first data rate; sequentially comparing the data patterns read from the training portion with the known data pattern to identify each correct reading; and, responsive to the sequential comparisons, determining an optimum delay value that aligns rising and falling edges of the data strobe signal centrally between rising and falling edges of the data signals, subsequent read operations from the nonvolatile memory being executed at the second data rate based on the optimal delay value. 8. The method as recited in claim 7 , wherein selectively establishing a training portion includes evaluations of blocks being unused, blocks being free of bad sectors, and wear leveling requirements of the nonvolatile memory. 9. The method as recited in claim 7 , wherein the known data pattern is a pseudo-random sequence generated by a pseudo random pattern generator (PRPG). 10. The method as recited in claim 7 , wherein the first data rate is a Single Data Rate (SDR) keyed once per clock cycle. 11. The method as recited in claim 10 , wherein the second data rate is a Double Data Rate (DDR) keyed twice per clock cycle. 12. The method as recited in claim 7 , further comprising: encoding the known data pattern with an error correcting code (ECC) before writing to the training portion, and using the ECC to correct for bit-flips in data read from the training portion before comparing the read data pattern read with the known data pattern. 13. A system for reliable high speed data transfer in multiple data rate nonvolatile memory, the system comprising: a memory controller including: a timing generator establishing a data strobe signal output during write operations, a plurality of delay circuits operable to selectively delay a received data strobe signal and a plurality of data signals output from the memory controller, and a training module; and a nonvolatile memory coupled to the memory controller by a data strobe signal line and a plurality of data signal lines for bidirectional transmission therebetween; the training module of the memory controller being configured to: (a) establish a range of delay values for respective use with the plurality of delay circuits to selectively delay the data strobe signal relative to data signals during a read training process, (b) write a first known data pattern into a page of a training portion of the nonvolatile memory in a low speed mode, (c) repeatedly read the page in a high speed mode while sequentially incrementing a delay value within the established range for each successive read operation to thereby sweep a delay of the data strobe signal through at least a portion of the range of delay values, (d) compare the first known data pattern with data read during each successive read operation to identify each correct reading, a first of the correct readings defining a relative leading edge alignment, a last of the correct readings defining a relative trailing edge alignment, and (e) determine an optimum read delay value of the data strobe signal relative to the data signals as a mean delay value between delay values of the leading and trailing edge alignment, subsequent read operations to the nonvolatile memory being executed based on the optimal read delay value. 14. The system for reliable high speed data transfer in multiple data rate nonvolatile memory as recited in claim 13 , where the training module is further configured to: (f) repeatedly write a second known data pattern to sequential sectors of the training portion in a high speed mode while, for each write operation, sequentially incrementing a delay value and delaying, relative to the data strobe signal, the data signals providing the second known data pattern by the incremented delay value for each successive write operation, (g) sequentially read the sectors in a high speed mode at the optimum read delay value for the data strobe signal output from the nonvolatile memory, to thereby identify each sector correctly written with the second known data

Assignees

Inventors

Classifications

  • in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence) · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • One time programmable [OTP] memory, e.g. PROM, WORM · CPC title

  • Protection of memory contents; Detection of errors in memory contents · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9811273B1 cover?
The subject system and method are generally directed to ensuring reliable high speed data transfer in multiple data rate nonvolatile memory, such as double data rate (DDR) nonvolatile NAND flash memory and the like. The system and method provide measures to achieve read and write training for data signals (DQ) and the data strobe signal (DQS), one relative to the other. In such manner, high spe…
Who is the assignee on this patent?
Cadence Design Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1068. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).