Multiple endianness compatibility

US10073635B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10073635-B2
Application numberUS-201514955680-A
CountryUS
Kind codeB2
Filing dateDec 1, 2015
Priority dateDec 1, 2014
Publication dateSep 11, 2018
Grant dateSep 11, 2018

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.

Examples of the present disclosure provide apparatuses and methods for multiple endianness compatibility. An example method comprises receiving a plurality of bytes and determining a particular endianness format of the plurality of bytes. The method can include, responsive to determining the particular endianness format is a first endianness format, reordering bits of each byte of the plurality of bytes on a bytewise basis, storing the reordered plurality of bytes in an array of memory cells, and adjusting a shift direction associated with performing a number of operations on the plurality of bytes stored in the array. The method can include, responsive to determining the particular endianness format is a second endianness format, storing the plurality of bytes in the array without reordering bits of the plurality of bytes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving a plurality of bytes in a particular endianness format based on a status of a flag indicating an endianness of a plurality of bytes; and responsive to the particular endianness format being a first endianness format: reordering bits of each byte of the plurality of bytes on a bytewise basis; storing the reordered plurality of bytes in an array of memory cells; and adjusting a shift direction associated with performing a number of operations on the plurality of bytes stored in the array; reversing an order of row addresses received from a sequencer when bytes are stored in rows and reversing an order of column addresses received from the sequencer when bytes are stored in columns; and responsive to the particular endianness format being a second endianness format, storing the plurality of bytes in the array without reordering bits of the plurality of bytes. 2. The method of claim 1 , wherein determining whether the particular endianness format is the first endianness format or the second endianness format comprises determining a state of a flag. 3. The method of claim 2 , further comprising receiving the plurality of bytes from a host and setting the state of the flag based on an endianness corresponding to the host. 4. The method of claim 1 , wherein storing the reordered plurality of bytes comprises storing the reordered plurality of bytes so as to be bit-contiguous. 5. The method of claim 1 , wherein the first endianness format is a little endian format. 6. The method of claim 1 , wherein reordering the bits in each byte of the plurality of bytes comprises ordering bits of each byte from a bitwise big endian format to a bitwise little endian format. 7. The method of claim 1 , comprising performing a number of shift operations on the bits in each byte of the plurality of bytes. 8. The method of claim 7 , wherein the bits are shifted in a more significant bit direction. 9. The method of claim 7 , wherein the bits in each byte of the plurality of bytes are shifted: in a rightward direction when the plurality of bytes are in the first endianness format; and in a leftward direction when the plurality of bytes are in a second endianness format. 10. The method of claim 7 , wherein: each of the bits is stored in one of a respective number of compute components; and performing the number of shift operations comprises shifting each of the number of bits from a compute component coupled to a memory cell storing a lesser significant bit to a compute component coupled to a memory cell storing a more significant bit. 11. The method of claim 1 , wherein the plurality of bytes are stored in cells coupled to a corresponding one of a plurality of access lines of the array. 12. The method of claim 1 , wherein, in response to receiving the bits in the second endianness format, the bits remain in the second endianness format. 13. The method of claim 12 , wherein a flag is not set when the bits are received in a big endian format. 14. The method of claim 1 , comprising sending the reordered bits to a controller. 15. The method of claim 1 , wherein reordering the bits of each byte of the plurality of bytes comprises reordering a most significant bit of a first byte from a most significant bit position to a least significant bit position. 16. The method of claim 15 , wherein reversing the order of bits on a bytewise basis to the bit-sequential format comprises reordering a least significant bit of the first byte from a least significant bit position to the most significant bit position. 17. A method, comprising: determining a status of a flag indicating an endianness of a plurality of bytes; in response to a flag being set, indicating the plurality of bytes is received in a first endianness format: changing from shifting left to shifting right when the bits are stored in rows for shifting operations performed in an array of memory cells; changing from shifting up to shifting down when the bits are stored in columns for shifting operations performed in an array of memory cells; on a bytewise basis, reversing, via a controller, an order of bits of the plurality of bytes stored in a group of memory cells; reversing an order of addresses on a bytewise basis; and providing the bits with the reversed order and the corresponding addresses with reversed order to a host; and in response to the flag not being set based on the plurality of bytes being received in a second endianness format: providing the bits of the plurality of bytes stored in the group of memory cells to the host. 18. The method of claim 17 , wherein the first endianness format is a bytewise little endian format. 19. The method of claim 17 , wherein the second endianness format is a bytewise big endian format. 20. The method of claim 17 , wherein the direction of shifting operations is toward a most significant bit direction when performing the shifting operations. 21. The method of claim 17 , wherein: when the flag is set, the shifting operations are performed in a rightward direction; and when the flag is not set, the shifting operations are performed in a leftward direction. 22. An apparatus comprising: a controller coupled to an array of memory cells, wherein the controller is configured to: receive bits of a plurality of bytes, wherein: when the bits are in a first endian format a flag is set; and when the bits are in a second endian format the flag is not set; reorder the received bits when the flag is set from the first endian format to the second endian format by reversing the bits in each byte as each byte is received; and reverse an order of the row addresses associated with the plurality of bytes when bytes are stored in rows and the flag is set; and reverse an order of the column addresses associated with the plurality of bytes when bytes are stored in columns and the flag is set. 23. The apparatus of claim 22 , wherein the bits are received from a host and sent to the array. 24. The apparatus of claim 22 , wherein the array receives the bits and stores the bits: independent of altering an ordering of the bits and addresses associated with the bits when the flag is not set; and after the reordering of the bits and reversing an order of the addresses when the flag is set. 25. The apparatus of claim 22 , comprising an array of memory cells configured to perform a number of shift operations in a particular direction based on whether the flag is set. 26. The apparatus of claim 22 , wherein the array performs a number of operations independent of knowing which endianness format a host in communication with the array uses. 27. An apparatus comprising: a controller comprising an engine and configured to: receive bits of bytes in a particular endianness format; determine whether a flag is set, wherein the flag is set when the particular endianness format is a first endianness format and the flag is not set when the particular endianness format is a second endianness format; when the flag is set: cause the engine to reorder the received bits in the bytewise little endian format to a bit-sequential little endian format by reversing the bits bytewise; reverse an order of row addresses associated with the bits received from a sequencer when bytes are stored in rows and reversing an order of column addresses associated with the bits

Assignees

Inventors

Classifications

  • at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • with data re-ordering, e.g. Endian conversion · CPC title

  • G06F3/0619Primary

    in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Disk arrays, e.g. RAID, JBOD · 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 US10073635B2 cover?
Examples of the present disclosure provide apparatuses and methods for multiple endianness compatibility. An example method comprises receiving a plurality of bytes and determining a particular endianness format of the plurality of bytes. The method can include, responsive to determining the particular endianness format is a first endianness format, reordering bits of each byte of the plurality…
Who is the assignee on this patent?
Micron Technology Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/4013. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 11 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).